Public Member Functions | Static Public Member Functions | Protected Member Functions

zeus::TNaming Class Reference

#include <Naming.h>

Inheritance diagram for zeus::TNaming:
zeus::TZObject zeus::INamedContext zeus::IZUnknown zeus::IZUnknown

List of all members.

Public Member Functions

Retval connect (const TString &rAddress, Uint uiPort)
void disconnect ()
Retval getLocalContext (INamedContext *&rpContext)
void setDelegationInterface (INaming *pIface)
virtual bool MQUALIFIER hasRemoteContext () const
virtual bool MQUALIFIER isConnected () const
virtual void MQUALIFIER releaseLocalContext ()
virtual Retval MQUALIFIER bind (const IString &rName, const IRemoteObject &rObject)
virtual Retval MQUALIFIER rebind (const IString &rName, const IRemoteObject &rObject)
virtual Retval MQUALIFIER unbind (const IString &rName)
virtual Retval MQUALIFIER lookup (const IString &rQuery, IRemoteObject *&rpObject)
virtual Retval MQUALIFIER lookupObjects (const IString &rQuery, IRemoteObjectList &rObjects)
virtual Retval MQUALIFIER lookupAny (const IString &rQuery, IRemoteObject *&rpObject)
virtual Retval MQUALIFIER getObjectNames (const IString &rQuery, IStringList &rNames)
virtual Retval MQUALIFIER askForInterface (const InterfaceID &rInterfaceID, IZUnknown *&rpIface)
virtual void MQUALIFIER addRef () const
virtual void MQUALIFIER release () const

Static Public Member Functions

static TNaminggetInstance ()
static Retval createNewInstance (TNaming *&rpObject)

Protected Member Functions

void createLocalContext ()
bool checkAndCreateLocalContext ()
 TNaming ()
virtual ~TNaming ()

Detailed Description

The Naming class is used as a singleton to access the zeus naming server. The naming server provides a nice registration directory for remote objects. The user of a remote object can simple lookup. The naming API represents the initial or root context of the naming server.

If the naming API is not connected to a server it work locally. It builds a local directory structure. This is useful for testing and designing remote objects without configuring any server.


Constructor & Destructor Documentation

TNaming::TNaming (  ) [protected]

Creates the naming service

TNaming::~TNaming (  ) [protected, virtual]

Destroys the naming service


Member Function Documentation

virtual void MQUALIFIER zeus::TNaming::addRef (  ) const [virtual]
See also:
IZUnknown::addRef

Reimplemented from zeus::TZObject.

virtual Retval MQUALIFIER zeus::TNaming::askForInterface ( const InterfaceID rInterfaceID,
IZUnknown *&  rpIface 
) [virtual]
See also:
IZUnknown::askForInterface

Reimplemented from zeus::TZObject.

Retval MQUALIFIER TNaming::bind ( const IString rName,
const IRemoteObject rObject 
) [virtual]
bool zeus::TNaming::checkAndCreateLocalContext (  ) [inline, protected]

Checks and creates the local context if it's not available

Retval TNaming::connect ( const TString rAddress,
Uint  uiPort 
)

This creates a stub of the naming server to access a remote naming service. This method fails if the useRemote() method wasnt called before.

Parameters:
rAddress: Address of the real server
uiPort: Port of the real server
void TNaming::createLocalContext (  ) [protected]

creates a local context. The local context is held in memory only.

Retval TNaming::createNewInstance ( TNaming *&  rpObject ) [static]

Creates a new naming instance

void TNaming::disconnect (  )

Resets the naming service. All registered object will be released

TNaming & zeus::TNaming::getInstance (  ) [inline, static]

Returns the singleton of the naming service

Returns:
singleton
Retval TNaming::getLocalContext ( INamedContext *&  rpContext )

Returns the local context of the naming service

Retval MQUALIFIER TNaming::getObjectNames ( const IString rQuery,
IStringList rNames 
) [virtual]
bool MQUALIFIER zeus::TNaming::hasRemoteContext (  ) const [inline, virtual]
bool MQUALIFIER zeus::TNaming::isConnected (  ) const [inline, virtual]
Retval MQUALIFIER TNaming::lookup ( const IString rQuery,
IRemoteObject *&  rpObject 
) [virtual]
Retval MQUALIFIER TNaming::lookupAny ( const IString rQuery,
IRemoteObject *&  rpObject 
) [virtual]
Retval MQUALIFIER TNaming::lookupObjects ( const IString rQuery,
IRemoteObjectList &  rObjects 
) [virtual]
Retval MQUALIFIER TNaming::rebind ( const IString rName,
const IRemoteObject rObject 
) [virtual]
virtual void MQUALIFIER zeus::TNaming::release (  ) const [virtual]
See also:
IZUnknown::release

Reimplemented from zeus::TZObject.

void MQUALIFIER TNaming::releaseLocalContext (  ) [virtual]
void TNaming::setDelegationInterface ( INaming iface )

Sets the delegation interface

Retval MQUALIFIER TNaming::unbind ( const IString rName ) [virtual]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:28:31