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::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType > Class Template Reference

#include <providerWithDescriptionImpl.h>

List of all members.

Public Member Functions

 ProviderWithDescriptionImpl (const DescriptionType &descr, const std::string &interfaceTag, const orcaice::Context &context)
 ProviderWithDescriptionImpl (const DescriptionType &descr, 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 localSet (const DataType &data)
 A local call which sets the data reported by the interface.
void localSend (const DataType &data)
 A local call which sends the data through IceStorm.
void localSetAndSend (const DataType &data)
void localSetAndSend (const DataType &dataToSet, const DataType &dataToSend)

Detailed Description

template<class ProviderType, class ConsumerType, class DataType, class DescriptionType>
class orcaifaceimpl::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType >

Implements an interface with the following methods:

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

and an associated consumer with

  • void setData( DataType );

Constructor & Destructor Documentation

template<class ProviderType , class ConsumerType , class DataType , class DescriptionType >
orcaifaceimpl::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType >::ProviderWithDescriptionImpl ( const DescriptionType &  descr,
const std::string &  interfaceTag,
const orcaice::Context context 
) [inline]

Constructor using interfaceTag (may throw ConfigFileException). This class must assume ownership of the description, i.e. if DescriptionType is a smart pointer, it should not be modified after this class is created.


Member Function Documentation

template<class ProviderType , class ConsumerType , class DataType , class DescriptionType >
void orcaifaceimpl::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType >::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 , class DescriptionType >
void orcaifaceimpl::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType >::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 , class DescriptionType >
void orcaifaceimpl::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType >::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 , class DescriptionType >
void orcaifaceimpl::ProviderWithDescriptionImpl< ProviderType, ConsumerType, DataType, DescriptionType >::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