- Aldebaran documentation |
- C++ Libraries |
- index

libqi-api 2.8.7.4

- Main Page
- Related Pages
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | Friends | List of all members
qi::Session Class Reference

`#include <session.hpp>`

## Public Types
enum | ServiceLocality { ServiceLocality_All = 0, ServiceLocality_Local = 1, ServiceLocality_Remote = 2 }

## Public Member Functions
| Session (bool enforceAuthentication=false, SessionConfig config={})
| Session (SessionConfig defaultConfig)
virtual | ~Session ()
const SessionConfig & | config () const
qi::FutureSync< void > | connect ()
qi::FutureSync< void > | connect (const char *serviceDirectoryURL)
| Ignores the configuration URL and uses the given one instead. More...
qi::FutureSync< void > | connect (const std::string &serviceDirectoryURL)
qi::FutureSync< void > | connect (const qi::Url &serviceDirectoryURL)
bool | isConnected () const
qi::Url | url () const
qi::FutureSync< std::vector < ServiceInfo > > | services (ServiceLocality locality=ServiceLocality_All)
qi::FutureSync< qi::AnyObject > | service (const std::string &name)
qi::FutureSync< qi::AnyObject > | service (const std::string &name, qi::MilliSeconds timeout)
qi::FutureSync< qi::AnyObject > | service (const std::string &name, const std::string &protocol)
qi::FutureSync< qi::AnyObject > | service (const std::string &name, const std::string &protocol, qi::MilliSeconds timeout)
qi::FutureSync< void > | listen ()
| Uses the listen URLs from the configuration. More...
qi::FutureSync< void > | listen (const qi::Url &address)
| Ignores the configuration listen URLs and uses the given one instead. More...
qi::FutureSync< void > | listen (const std::vector< qi::Url > &addresses)
std::vector< qi::Url > | endpoints () const
bool | setIdentity (const std::string &key, const std::string &crt)
qi::FutureSync< void > | close ()
qi::FutureSync< void > | listenStandalone ()
qi::FutureSync< void > | listenStandalone (const qi::Url &address)
| Ignores the configuration listen URLs and uses the given one instead. More...
qi::FutureSync< void > | listenStandalone (const std::vector< qi::Url > &addresses)
| Ignores the configuration listen URLs and uses the given ones instead. More...
qi::FutureSync< unsigned int > | registerService (const std::string &name, AnyObject object)
qi::FutureSync< void > | unregisterService (unsigned int serviceId)
void | setAuthProviderFactory (AuthProviderFactoryPtr)
void | setClientAuthenticatorFactory (ClientAuthenticatorFactoryPtr)
qi::FutureSync< unsigned int > | loadService (const std::string &moduleName, const std::string &renameModule="", const AnyReferenceVector &args=AnyReferenceVector())
template<typename T >
qi::FutureSync< T > | callModule (const std::string &moduleName, const AnyReferenceVector &args=AnyReferenceVector())
FutureSync< void > | waitForService (const std::string &servicename, MilliSeconds timeout)
qi::FutureSync< void > | waitForService (const std::string &service)

## Static Public Member Functions
static const char * | serviceDirectoryServiceName ()
static qi::MilliSeconds | defaultServiceTimeout ()
static MilliSeconds | defaultWaitForServiceTimeout ()

## Public Attributes
qi::Signal< unsigned int, std::string > | serviceRegistered
qi::Signal< unsigned int, std::string > | serviceUnregistered
qi::Signal | connected
qi::Signal< std::string > | disconnected

## Protected Attributes
std::unique_ptr< SessionPrivate > | _p

## Friends
class | SessionPrivate

## Detailed Description

A Session allows you to interconnect services on the same machine or over the network.

Definition at line 56 of file session.hpp.

## Member Enumeration Documentation

enum qi::Session::ServiceLocality

Enumerator
ServiceLocality_All |
ServiceLocality_Local |
ServiceLocality_Remote |

Definition at line 63 of file session.hpp.

## Constructor & Destructor Documentation

qi::Session::Session | ( | bool | enforceAuthentication = `false`,
|  | SessionConfig | config = `{}`
| ) |  |

qi::Session::Session | ( | SessionConfig | defaultConfig | ) |
| explicit

virtual qi::Session::~Session | ( |  | ) |
| virtual

## Member Function Documentation

template<typename T >

qi::FutureSync<T> qi::Session::callModule | ( | const std::string & | moduleName,
|  | const AnyReferenceVector & | args = `AnyReferenceVector()`
| ) |  |
| inline

Load a module and call the specified function asynchronously

Tries to call the function with (this, args...) if possible, otherwise it calls it with (args...) only.

Definition at line 165 of file session.hpp.

qi::FutureSync<void> qi::Session::close | ( |  | ) |

const SessionConfig& qi::Session::config | ( |  | ) | const

qi::FutureSync<void> qi::Session::connect | ( |  | ) |

Uses the connection URL from the configuration or the hardcoded default connect URL if the first one isn't set.

qi::FutureSync<void> qi::Session::connect | ( | const char * | serviceDirectoryURL | ) |

Ignores the configuration URL and uses the given one instead.

qi::FutureSync<void> qi::Session::connect | ( | const std::string & | serviceDirectoryURL | ) |

qi::FutureSync<void> qi::Session::connect | ( | const qi::Url & | serviceDirectoryURL | ) |

static qi::MilliSeconds qi::Session::defaultServiceTimeout | ( |  | ) |
| inline static

Definition at line 88 of file session.hpp.

static MilliSeconds qi::Session::defaultWaitForServiceTimeout | ( |  | ) |
| inline static

Definition at line 223 of file session.hpp.

std::vector<qi::Url> qi::Session::endpoints | ( |  | ) | const

bool qi::Session::isConnected | ( |  | ) | const

qi::FutureSync<void> qi::Session::listen | ( |  | ) |

Uses the listen URLs from the configuration.

qi::FutureSync<void> qi::Session::listen | ( | const qi::Url & | address | ) |

Ignores the configuration listen URLs and uses the given one instead.

qi::FutureSync<void> qi::Session::listen | ( | const std::vector< qi::Url > & | addresses | ) |

Ignores the configuration listen URLs and uses the given ones instead. If the parameter is empty, uses the hardcoded default listen URL.

qi::FutureSync<void> qi::Session::listenStandalone | ( |  | ) |

Uses the listen URLs from the configuration or the hardcoded default listen URL if the first one is empty.

qi::FutureSync<void> qi::Session::listenStandalone | ( | const qi::Url & | address | ) |

Ignores the configuration listen URLs and uses the given one instead.

qi::FutureSync<void> qi::Session::listenStandalone | ( | const std::vector< qi::Url > & | addresses | ) |

Ignores the configuration listen URLs and uses the given ones instead.

qi::FutureSync<unsigned int> qi::Session::loadService | ( | const std::string & | moduleName,
|  | const std::string & | renameModule = `""`,
|  | const AnyReferenceVector & | args = `AnyReferenceVector()`
| ) |  |

Load a module and register the specified object on the session

Tries to call the factory with (this, args...) if possible, otherwise it calls it with (args...) only.

qi::FutureSync<unsigned int> qi::Session::registerService | ( | const std::string & | name,
|  | AnyObject | object
| ) |  |

qi::FutureSync<qi::AnyObject> qi::Session::service | ( | const std::string & | name | ) |
| inline

Definition at line 93 of file session.hpp.

qi::FutureSync<qi::AnyObject> qi::Session::service | ( | const std::string & | name,
|  | qi::MilliSeconds | timeout
| ) |  |
| inline

Definition at line 98 of file session.hpp.

qi::FutureSync< qi::AnyObject > qi::Session::service | ( | const std::string & | name,
|  | const std::string & | protocol
| ) |  |
| inline

Definition at line 103 of file session.hpp.

qi::FutureSync< qi::AnyObject > qi::Session::service | ( | const std::string & | name,
|  | const std::string & | protocol,
|  | qi::MilliSeconds | timeout
| ) |  |

Returns the asked service.

If the timeout triggers, the returned future is canceled.

static const char* qi::Session::serviceDirectoryServiceName | ( |  | ) |
| static

qi::FutureSync< std::vector<ServiceInfo> > qi::Session::services | ( | ServiceLocality | locality = `ServiceLocality_All` | ) |

void qi::Session::setAuthProviderFactory | ( | AuthProviderFactoryPtr |  | ) |

void qi::Session::setClientAuthenticatorFactory | ( | ClientAuthenticatorFactoryPtr |  | ) |

bool qi::Session::setIdentity | ( | const std::string & | key,
|  | const std::string & | crt
| ) |  |

qi::FutureSync<void> qi::Session::unregisterService | ( | unsigned int | serviceId | ) |

qi::Url qi::Session::url | ( |  | ) | const

FutureSync<void> qi::Session::waitForService | ( | const std::string & | servicename,
|  | MilliSeconds | timeout
| ) |  |

Waits for a service to become available and fails if the timeout has expired. The future is set immediately if the service is already available. The future is canceled if the timeout triggered.

qi::FutureSync<void> qi::Session::waitForService | ( | const std::string & | service | ) |

Waits for a service to become available. The future is set immediately if the service is already available. The timeout used is given by `defaultWaitForServiceTimeout()`.

## Friends And Related Function Documentation

friend class SessionPrivate
| friend

Definition at line 229 of file session.hpp.

## Member Data Documentation

std::unique_ptr<SessionPrivate> qi::Session::_p
| protected

Definition at line 230 of file session.hpp.

qi::Signal qi::Session::connected

Definition at line 219 of file session.hpp.

qi::Signal<std::string> qi::Session::disconnected

Definition at line 221 of file session.hpp.

qi::Signal<unsigned int, std::string> qi::Session::serviceRegistered

Definition at line 216 of file session.hpp.

qi::Signal<unsigned int, std::string> qi::Session::serviceUnregistered

Definition at line 217 of file session.hpp.

The documentation for this class was generated from the following file:

- /home/opennao/work/release-2.8/sdk/libqi/qi/session.hpp