osbadmin_i.h

Go to the documentation of this file.
00001 // OSB library ********************************************* -*- C++ -*-
00008 /*
00009   AUTHOR(S): Elangovan Angannan (aen)
00010 
00011   RCS information
00012    $Name: OSB_060808 $
00013    $Revision: 1.9 $
00014 
00015   License
00016    OSB rating and billing library for communication networks
00017    Copyright (C) 2004, 2005, 2006  OSB systems
00018 
00019    This file may be distributed and/or modify under the terms of the
00020    GNU General Public License (GPL) as published by the Free Software
00021    Foundation which is provided in the file LICENSE.GPL included in the
00022    packaging of this file.
00023 
00024    The file is distributed in the hope that it will be useful, but WITHOUT
00025    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
00026    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
00027    for more details.
00028 
00029    Holders of a OSB Commercial License may use this file under the terms
00030    and conditions of this commercial license.
00031  */
00032 #ifndef _OSBADMIN_I_H_
00033 #define _OSBADMIN_I_H_
00034 
00035 // *********************************************************************
00036 // included header files
00037 // + standard includes
00038 
00039 // + local headers
00040 #include "osbadminS.h"
00041 #include "corba_utility.h"
00042 
00043 // + class declarations
00044 namespace OSB_CORBA {
00045     class UserMgr_i;                    // osbusermgr_i.h
00046 }
00047 
00048 // *********************************************************************
00049 // namespace extensions
00050 namespace OSB_CORBA {
00051     using namespace corba::osbadm;
00052     using corba::common::ServerInfo;
00053     using corba::common::OsbCorbaException;
00054 
00058     class OsbAdmin_i : public virtual POA_corba::osbadm::OsbAdmin {
00059     public:
00060         static const std::string IFC;
00061 
00062         OsbAdmin_i(
00063             const ServerInfo&              info,
00064             PortableServer::POA_ptr        rootPoa,
00065             PortableServer::POAManager_ptr poaManager
00066         );
00067 
00069         virtual ServerInfo* getServerInfo()
00070             throw (CORBA::SystemException);
00071 
00073         void ping()
00074           throw (CORBA::SystemException);
00075 
00077         ModuleSeq* getModules() throw();
00078 
00084         ModuleInfo* getModule(const ModuleId& module)
00085           throw (OsbCorbaException);
00086 
00088         UserMgr_ptr getUserMgr()
00089           throw (CORBA::SystemException);
00090 
00091     private:
00093         ServerInfo info_;
00095         UserMgr_i* userMgr_;
00097         PortableServer::POA_ptr rootPoa_;
00098     };
00099 
00100 // *********************************************************************
00101 // inline definitions
00102 }                                        // namespace OSB_CORBA
00103 
00104 #endif                                   // ifndef _OSBADMIN_I_H_

Generated on Sat Sep 2 14:25:52 2006 for OSB Library by  doxygen 1.4.7