cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mtsManagerLocalInterface.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /* ex: set filetype=cpp softtabstop=4 shiftwidth=4 tabstop=4 cindent expandtab: */
3 
4 /*
5 
6  Author(s): Min Yang Jung
7  Created on: 2009-12-08
8 
9  (C) Copyright 2009-2013 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 
12 --- begin cisst license - do not edit ---
13 
14 This software is provided "as is" under an open source license, with
15 no warranty. The complete license can be found in license.txt and
16 http://www.cisst.org/cisst/license.txt.
17 
18 --- end cisst license ---
19 */
20 
42 #ifndef _mtsManagerLocalInterface_h
43 #define _mtsManagerLocalInterface_h
44 
50 #include <cisstOSAbstraction/osaTimeServer.h> // for osaAbsoluteTime
51 
53 
55 {
57 
58 public:
59  //-------------------------------------------------------------------------
60  // Proxy Object Control (Creation, Removal)
61  //-------------------------------------------------------------------------
64  virtual bool CreateComponentProxy(const std::string & componentProxyName, const std::string & listenerID = "") = 0;
65 
68  virtual bool RemoveComponentProxy(const std::string & componentProxyName, const std::string & listenerID = "") = 0;
69 
71  virtual bool CreateInterfaceProvidedProxy(
72  const std::string & serverComponentProxyName,
73  const mtsInterfaceProvidedDescription & providedInterfaceDescription, const std::string & listenerID = "") = 0;
74 
76  virtual bool CreateInterfaceRequiredProxy(
77  const std::string & clientComponentProxyName,
78  const mtsInterfaceRequiredDescription & requiredInterfaceDescription, const std::string & listenerID = "") = 0;
79 
84  virtual bool RemoveInterfaceProvidedProxy(
85  const std::string & componentProxyName, const std::string & providedInterfaceProxyName, const std::string & listenerID = "") = 0;
86 
88  virtual bool RemoveInterfaceRequiredProxy(
89  const std::string & componentProxyName, const std::string & requiredInterfaceProxyName, const std::string & listenerID = "") = 0;
90 
91  //-------------------------------------------------------------------------
92  // Connection Management
93  //-------------------------------------------------------------------------
101  virtual bool ConnectServerSideInterface(const mtsDescriptionConnection & description, const std::string & listenerID = "") = 0;
102 
114  virtual bool ConnectClientSideInterface(const mtsDescriptionConnection & description, const std::string & listenerID = "") = 0;
115 
116  //-------------------------------------------------------------------------
117  // Getters
118  //-------------------------------------------------------------------------
120  virtual const std::string GetProcessName(const std::string & listenerID = "") const = 0;
121 
123  virtual void GetNamesOfCommands(std::vector<std::string>& namesOfCommands,
124  const std::string & componentName,
125  const std::string & providedInterfaceName,
126  const std::string & listenerID = "") = 0;
127 
129  virtual void GetNamesOfEventGenerators(std::vector<std::string>& namesOfEventGenerators,
130  const std::string & componentName,
131  const std::string & providedInterfaceName,
132  const std::string & listenerID = "") = 0;
133 
135  virtual void GetNamesOfFunctions(std::vector<std::string>& namesOfFunctions,
136  const std::string & componentName,
137  const std::string & requiredInterfaceName,
138  const std::string & listenerID = "") = 0;
139 
141  virtual void GetNamesOfEventHandlers(std::vector<std::string>& namesOfEventHandlers,
142  const std::string & componentName,
143  const std::string & requiredInterfaceName,
144  const std::string & listenerID = "") = 0;
145 
147  virtual void GetDescriptionOfCommand(std::string & description,
148  const std::string & componentName,
149  const std::string & providedInterfaceName,
150  const std::string & commandName,
151  const std::string & listenerID = "") = 0;
152 
154  virtual void GetDescriptionOfEventGenerator(std::string & description,
155  const std::string & componentName,
156  const std::string & providedInterfaceName,
157  const std::string & eventGeneratorName,
158  const std::string & listenerID = "") = 0;
159 
161  virtual void GetDescriptionOfFunction(std::string & description,
162  const std::string & componentName,
163  const std::string & requiredInterfaceName,
164  const std::string & functionName,
165  const std::string & listenerID = "") = 0;
166 
168  virtual void GetDescriptionOfEventHandler(std::string & description,
169  const std::string & componentName,
170  const std::string & requiredInterfaceName,
171  const std::string & eventHandlerName,
172  const std::string & listenerID = "") = 0;
173 
191  virtual bool GetInterfaceProvidedDescription(
192  const std::string & serverComponentName, const std::string & providedInterfaceName,
193  mtsInterfaceProvidedDescription & providedInterfaceDescription, const std::string & listenerID = "") = 0;
194 
205  virtual bool GetInterfaceRequiredDescription(
206  const std::string & componentName, const std::string & requiredInterfaceName,
207  mtsInterfaceRequiredDescription & requiredInterfaceDescription, const std::string & listenerID = "") = 0;
208 };
209 
211 
212 #endif // _mtsManagerLocalInterface_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
Declaration of osaTimeServer class.
Definition: mtsInterfaceCommon.h:1046
Base class for high level objects.
Definition: cmnGenericObject.h:51
Class register definitions and log macros.
Definition: mtsInterfaceCommon.h:928
Definition: mtsParameterTypes.h:533
Defines cmnGenericObject.
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
Rules of exporting.
const int CMN_NO_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:328
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition: cmnClassRegisterMacros.h:202
Definition: mtsManagerLocalInterface.h:54
#define CMN_LOG_ALLOW_DEFAULT
Definition: cmnLogLoD.h:76