cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mtsConnection.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: 2010-12-27
8 
9  (C) Copyright 2010-2011 Johns Hopkins University (JHU), All Rights
10  Reserved.
11 --- begin cisst license - do not edit ---
12 
13 This software is provided "as is" under an open source license, with
14 no warranty. The complete license can be found in license.txt and
15 http://www.cisst.org/cisst/license.txt.
16 
17 --- end cisst license ---
18 */
19 
25 #ifndef _mtsConnection_h
26 #define _mtsConnection_h
27 
31 
33 
36 
38 
39 protected:
40  /* String representation of connection */
42 
43  /* Name of connect request process */
44  const std::string RequestProcessName;
45 
46  /* Connection status. False if pending connection, true if established connection */
47  bool Connected;
48 
49  /* Ice server proxy access information (to send messages to client proxy) */
50  std::string EndpointInfo;
51 
52  /* Time when pending connection becomes invalidated; any pending connection
53  should be confirmed before this time limit */
54  double TimeoutTime;
55 
56 public:
57  mtsConnection(const mtsDescriptionConnection & description, const std::string & requestProcessName);
58 
60  ConnectionIDType GetConnectionID(void) const;
61 
62  std::string GetClientProcessName(void) const;
63  std::string GetClientComponentName(void) const;
64  std::string GetClientInterfaceName(void) const;
65  std::string GetServerProcessName(void) const;
66  std::string GetServerComponentName(void) const;
67  std::string GetServerInterfaceName(void) const;
68 
69  mtsDescriptionConnection GetDescriptionConnection(void) const;
70  void GetDescriptionConnection(mtsDescriptionConnection & description) const;
71 
72  bool IsConnected(void) const { return Connected; }
73  void SetConnected(void) { Connected = true; }
74 
75  bool IsRemoteConnection(void) const;
76 
77  std::string GetEndpointInfo(void) const { return EndpointInfo; }
78  void SetProxyAccessInfo(const std::string & endpointInfo) { EndpointInfo = endpointInfo; }
79 
82  bool CheckTimeout(void) const;
83 
84  void ToStream(std::ostream & outputStream) const;
85  void SerializeRaw(std::ostream & outputStream) const;
86  void DeSerializeRaw(std::istream & inputStream);
87 };
88 
90 
91 #endif // _mtsConnection_h
#define CISST_EXPORT
Definition: cmnExportMacros.h:50
Definition: mtsConnection.h:35
bool Connected
Definition: mtsConnection.h:47
virtual void SerializeRaw(std::ostream &outputStream) const
#define CMN_LOG_LOD_RUN_ERROR
Definition: cmnLogLoD.h:93
virtual void DeSerializeRaw(std::istream &inputStream)
virtual void ToStream(std::ostream &outputStream) const
unsigned int ConnectionIDType
Definition: mtsForwardDeclarations.h:150
std::string EndpointInfo
Definition: mtsConnection.h:50
Base class for data object in cisstMultiTask.
Definition: mtsGenericObject.h:56
void SetProxyAccessInfo(const std::string &endpointInfo)
Definition: mtsConnection.h:78
mtsDescriptionConnection ConnectionDescription
Definition: mtsConnection.h:41
Definition: mtsParameterTypes.h:533
void SetConnected(void)
Definition: mtsConnection.h:73
Forward declarations and #define for cisstMultiTask.
Defines mtsGenericObject.
#define CMN_DECLARE_SERVICES(hasDynamicCreation, lod)
Definition: cmnClassRegisterMacros.h:116
double TimeoutTime
Definition: mtsConnection.h:54
const std::string RequestProcessName
Definition: mtsConnection.h:44
Rules of exporting.
const int CMN_NO_DYNAMIC_CREATION
Definition: cmnClassRegisterMacros.h:328
#define CMN_DECLARE_SERVICES_INSTANTIATION(className)
Definition: cmnClassRegisterMacros.h:202
std::string GetEndpointInfo(void) const
Definition: mtsConnection.h:77
bool IsConnected(void) const
Definition: mtsConnection.h:72