• Classes
  • Modules
  • Namespaces
  • Files
  • Related Pages
  • File List
  • File Members

loggingACSLogFactory_i.h

Go to the documentation of this file.
00001 #ifndef logging_ACS_LOG_FACTORY_I_H
00002 #define logging_ACS_LOG_FACTORY_I_H
00003 
00004 /*******************************************************************************
00005 *    ALMA - Atacama Large Millimiter Array
00006 *    (c) European Southern Observatory, 2002
00007 *    Copyright by ESO (in the framework of the ALMA collaboration)
00008 *    and Cosylab 2002, All rights reserved
00009 *
00010 *    This library is free software; you can redistribute it and/or
00011 *    modify it under the terms of the GNU Lesser General Public
00012 *    License as published by the Free Software Foundation; either
00013 *    version 2.1 of the License, or (at your option) any later version.
00014 *
00015 *    This library is distributed in the hope that it will be useful,
00016 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018 *    Lesser General Public License for more details.
00019 *
00020 *    You should have received a copy of the GNU Lesser General Public
00021 *    License along with this library; if not, write to the Free Software
00022 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00023 *
00024 * "@(#) $Id: loggingACSLogFactory_i.h,v 1.4 2009/06/03 23:16:28 javarias Exp $"
00025 *
00026 * who       when        what
00027 * --------  ----------  ----------------------------------------------
00028 */
00029 
00030 #ifndef __cplusplus
00031 #error This is a C++ include file and cannot be used from plain C
00032 #endif
00033 
00034 #include <acsutil.h>
00035 #include <logging_idlS.h>
00036 
00037 #include <orbsvcs/Log/BasicLogFactory_i.h>
00038 
00039 #include "loggingACSStructuredPushSupplier.h"
00040 
00044 class ACSLogFactory_i : public TAO_BasicLogFactory_i, 
00045 public POA_Logging::ACSLogFactory
00046 {
00047     
00048   public:
00049     
00053     ACSLogFactory_i();
00054     
00058     ~ACSLogFactory_i();
00059     
00063     void
00064     set_logging_supplier(ACSStructuredPushSupplier* supplier)
00065         {
00066             m_logging_supplier = supplier;
00067         }
00068     
00069     PortableServer::ServantBase* create_log_servant(DsLogAdmin::LogId id);
00070 
00071     
00072     Logging::ACSLogFactory_ptr
00073             activate (CORBA::ORB_ptr orb,
00074                             PortableServer::POA_ptr poa);
00075 
00076     Logging::AcsLogService_ptr
00077             create (DsLogAdmin::LogFullActionType full_action,
00078                             CORBA::ULongLong max_size,
00079                             DsLogAdmin::LogId_out id_out);
00080 
00081     Logging::AcsLogService_ptr
00082             create_with_id (DsLogAdmin::LogId id,
00083                             DsLogAdmin::LogFullActionType full_action,
00084                             CORBA::ULongLong max_size);
00085 
00089 /*    DsLogAdmin::BasicLog_ptr
00090     create_with_id (DsLogAdmin::LogId id,
00091                     DsLogAdmin::LogFullActionType full_action,
00092                     CORBA::ULongLong max_size)
00093         throw (CORBA::SystemException,
00094                DsLogAdmin::LogIdAlreadyExists,
00095                DsLogAdmin::InvalidLogFullAction);
00096 */  
00097   protected:
00098     
00100     ACSStructuredPushSupplier* m_logging_supplier;
00101 
00102     CORBA::RepositoryId create_repositoryid ();
00103     
00104 };
00105 
00106 #endif // logging_ACS_LOG_FACTORY_I_H

Generated on Thu Jan 12 2012 23:13:51 for ACS-10.0 C++ API by  doxygen 1.7.0