ERC CISST - cisst software

mtsComponentProxy Class Reference

Inheritance diagram for mtsComponentProxy:

Inheritance graph
[legend]
Collaboration diagram for mtsComponentProxy:

Collaboration graph
[legend]
List of all members.

Detailed Description

Definition at line 77 of file mtsComponentProxy.h.

Public Member Functions

Static Public Member Functions

Protected Types

Protected Attributes

Classes


Member Typedef Documentation

typedef cmnNamedMap<mtsComponentInterfaceProxyServer> mtsComponentProxy::InterfaceProvidedNetworkProxyMapType [protected]

Typedef to manage provided interface proxies of which type is mtsComponentInterfaceProxyServer.

Definition at line 84 of file mtsComponentProxy.h.

typedef cmnNamedMap<mtsComponentInterfaceProxyClient> mtsComponentProxy::InterfaceRequiredNetworkProxyMapType [protected]

Typedef to manage required interface proxies of which type is mtsComponentInterfaceProxyClient.

Definition at line 89 of file mtsComponentProxy.h.

typedef cmnNamedMap<mtsFunctionVoid> mtsComponentProxy::FunctionVoidProxyMapType [protected]

Typedef for function proxies

Definition at line 101 of file mtsComponentProxy.h.

typedef cmnNamedMap<mtsFunctionVoid> mtsComponentProxy::EventGeneratorVoidProxyMapType [protected]

Typedef for event generator proxies

Definition at line 107 of file mtsComponentProxy.h.

typedef cmnNamedMap<FunctionProxyAndEventHandlerProxyMapElement> mtsComponentProxy::FunctionProxyAndEventHandlerProxyMapType [protected]

Typedef to link FunctionProxyAndEventHandlerProxyMaps instances with required interface proxy name (there can be more than one required interface proxy in a client component proxy).

Definition at line 123 of file mtsComponentProxy.h.


Constructor & Destructor Documentation

mtsComponentProxy::mtsComponentProxy ( const std::string &  componentProxyName  ) 

Constructor and destructors


Member Function Documentation

bool mtsComponentProxy::AddConnectionInformation ( const unsigned int  connectionID,
const std::string &  clientProcessName,
const std::string &  clientComponentName,
const std::string &  clientInterfaceRequiredName,
const std::string &  serverProcessName,
const std::string &  serverComponentName,
const std::string &  serverInterfaceProvidedName 
)

Register connection information which is used to clean up a logical connection when a network proxy client is detected as disconnected.

bool mtsComponentProxy::CreateInterfaceProvidedProxy ( const InterfaceProvidedDescription providedInterfaceDescription  ) 

Create provided interface proxy.

Parameters:
providedInterfaceDescription Complete information about provided interface to be created with arguments serialized
Returns:
True if success, false otherwise
Note:
Since every component proxy is created as a device, we don't need to consider queued void and queued write commands which provide a mechanism for thread-safe data exchange between components. However, we still need to provide such a mechanism for data communication between an original client component and a server component proxy in the client process. For this purpose, we clone a provided interface proxy and create a provided interface proxy instance which is used for only one user (client component). This is conceptually identical to what AllocatedResources() does.

bool mtsComponentProxy::RemoveInterfaceProvidedProxy ( const std::string &  providedInterfaceProxyName  ) 

Remove provided interface proxy.

Parameters:
providedInterfaceProxyName Name of provided interface proxy to be removed
Returns:
True if success, false otherwise

bool mtsComponentProxy::CreateInterfaceRequiredProxy ( const InterfaceRequiredDescription requiredInterfaceDescription  ) 

Create or remove a required interface proxy

bool mtsComponentProxy::UpdateCommandProxyID ( const unsigned int  connectionID,
const std::string &  serverInterfaceProvidedName,
const std::string &  clientInterfaceRequiredName 
)

Assign ids of command proxies' in a provided interface proxy at client side as those of function proxyies' fetched from a required interface proxy at server side.

Parameters:
connectionID Id of this connection (issued by the global component manager)
serverInterfaceProvidedName Name of provided interface proxy at client side
clientInterfaceRequiredName Name of required interface
Note:
This method is called only by a client process
Returns:
True if success, false otherwise

bool mtsComponentProxy::UpdateEventHandlerProxyID ( const std::string &  clientComponentName,
const std::string &  clientInterfaceRequiredName 
)

Assign ids of event handler proxies' in a required interface proxy at server side those of event generators' fetched from a provided interface proxy at client side.

Parameters:
clientComponentName Name of client component
clientInterfaceRequiredName Name of required interface at server side
Note:
This method is called only by a server process
Returns:
True if success, false otherwise

bool mtsComponentProxy::IsActiveProxy ( const std::string &  proxyName,
const bool  isProxyServer 
) const

Check if a network proxy is active

bool mtsComponentProxy::GetFunctionProxyPointers ( const std::string &  requiredInterfaceName,
mtsComponentInterfaceProxy::FunctionProxyPointerSet &  functionProxyPointers 
)

Extract function proxy pointers

bool mtsComponentProxy::GetEventGeneratorProxyPointer ( const std::string &  clientComponentName,
const std::string &  requiredInterfaceName,
mtsComponentInterfaceProxy::EventGeneratorProxyPointerSet &  eventGeneratorProxyPointers 
)

Extract event generator proxy pointers

static std::string mtsComponentProxy::GetInterfaceProvidedUserName ( const std::string &  processName,
const std::string &  componentName 
) [static]

Get name of provided interface user.

Parameters:
processName Name of user process
componentName Name of user component

static void mtsComponentProxy::ExtractInterfaceProvidedDescription ( mtsInterfaceProvided providedInterface,
InterfaceProvidedDescription providedInterfaceDescription 
) [static]

Extract complete information about all commands and event generators in the provided interface specified. Argument prototypes are serialized.

Parameters:
providedInterface Provided interface
providedInterfaceDescription Output parameter to contain complete information about the provided interface specified.

static void mtsComponentProxy::ExtractInterfaceRequiredDescription ( mtsInterfaceRequired requiredInterface,
InterfaceRequiredDescription requiredInterfaceDescription 
) [static]

Extract complete information about all functions and event handlers in a required interface. Argument prototypes are fetched with serialization.


The documentation for this class was generated from the following file:
erc-cisst-devel<at>lists.johnshopkins.edu