INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

NONFRAMEWORK CODE
Driver Interfaces
Drivers
Libraries
Utilities

FRAMEWORK CODE
Interfaces
Components
Libraries
Utilities

Full Software Listings

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

orcaifaceimpl::ProviderImpl< ProviderType, ConsumerType, DataType > Class Template Reference

#include <providerImpl.h>

List of all members.

Public Member Functions

 ProviderImpl (const std::string &interfaceTag, const orcaice::Context &context)
 Constructor using interfaceTag (may throw ConfigFileException).
 ProviderImpl (const orcaice::Context &context, const std::string &interfaceName)
 constructor using interfaceName
void initInterface ()
void initInterface (const DataType &data)
 Same as above but sets the data before initializing the interface and sends it out after.
void initInterface (gbxutilacfr::Stoppable *activity, const std::string &subsysName="", int retryInterval=2)
void initInterface (const DataType &data, gbxutilacfr::Stoppable *activity, const std::string &subsysName="", int retryInterval=2)
 Same as above but sets the data before initializing the interface and sends it out after.
void localSend (const DataType &data)
 A local call which sends the data through IceStorm.
void localSet (const DataType &data)
 A local call which sets the data reported by the interface.
void localSetAndSend (const DataType &data)
void localSetAndSend (const DataType &dataToSet, const DataType &dataToSend)

Detailed Description

template<class ProviderType, class ConsumerType, class DataType>
class orcaifaceimpl::ProviderImpl< ProviderType, ConsumerType, DataType >

Implements an interface with the following methods:

  • idempotent DataType getData();
  • IceStorm::Topic* subscribe( ConsumerType* );

and an associated consumer with

  • void setData( DataType );

Member Function Documentation

template<class ProviderType , class ConsumerType , class DataType >
void orcaifaceimpl::ProviderImpl< ProviderType, ConsumerType, DataType >::initInterface ( gbxutilacfr::Stoppable *  activity,
const std::string &  subsysName = "",
int  retryInterval = 2 
) [inline]

Sets up interface and connects to IceStorm. Catches all exceptions and retries until sucessful. At every iteration, checks if the activity was stopped.

References orcaice::createInterfaceWithString().

template<class ProviderType , class ConsumerType , class DataType >
void orcaifaceimpl::ProviderImpl< ProviderType, ConsumerType, DataType >::initInterface (  )  [inline]

Creates the interface and connects to the IceStorm topic. May throw gbxutilacfr::Exceptions.

References orcaice::createInterfaceWithString().

template<class ProviderType , class ConsumerType , class DataType >
void orcaifaceimpl::ProviderImpl< ProviderType, ConsumerType, DataType >::localSetAndSend ( const DataType &  dataToSet,
const DataType &  dataToSend 
) [inline]

A local call which sets the data reported by the interface, and sends a different thing through IceStorm. This is useful if e.g. you want to push an update to a structure, but have the full structure available to subscribers.

template<class ProviderType , class ConsumerType , class DataType >
void orcaifaceimpl::ProviderImpl< ProviderType, ConsumerType, DataType >::localSetAndSend ( const DataType &  data  )  [inline]

A local call which sets the data reported by the interface, and sends it through IceStorm


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

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5