PSEvt::Proxy< T > Class Template Reference
[PSEvt package]

Interface class for type-safe proxy classes. More...

#include <Proxy.h>

Inheritance diagram for PSEvt::Proxy< T >:

PSEvt::ProxyI PSEvt::DataProxy< T > List of all members.

Public Member Functions

virtual ~Proxy ()

Protected Member Functions

 Proxy ()
virtual boost::shared_ptr<
void > 
getImpl (ProxyDictI *dict, const Pds::Src &source, const std::string &key)
 Get untyped object from the proxy.
virtual boost::shared_ptr< T > getTypedImpl (ProxyDictI *dict, const Pds::Src &source, const std::string &key)=0
 Get the correctly-typed object from the proxy.

Detailed Description

template<typename T>
class PSEvt::Proxy< T >

Interface class for type-safe proxy classes.

Proxy dictionary stores proxies of type ProxyI which are not type-safe (they work with void pointers). To make code safer this class implements ProxyI interface and introduces type-safe method to generate typed data. User-level interface should use this type instead of ProxyI.

This software was developed for the LCLS project. If you use all or part of it, please give an appropriate acknowledgment.

See also:
ProxyI
Version:
$Id: Proxy.h 1840 2011-05-07 01:48:35Z salnikov $
Author:
Andrei Salnikov

Definition at line 64 of file Proxy.h.


Constructor & Destructor Documentation

template<typename T>
virtual PSEvt::Proxy< T >::~Proxy (  )  [inline, virtual]

Definition at line 68 of file Proxy.h.

template<typename T>
PSEvt::Proxy< T >::Proxy (  )  [inline, protected]

Definition at line 73 of file Proxy.h.


Member Function Documentation

template<typename T>
virtual boost::shared_ptr<void> PSEvt::Proxy< T >::getImpl ( ProxyDictI dict,
const Pds::Src &  source,
const std::string &  key 
) [inline, protected, virtual]

Get untyped object from the proxy.

The parameters passed to the proxy can be used by the proxy to find additional information from the same (or different) detector.

This is implementation of ProxyI interface which forwards call to the type-safe method getTypedImpl().

Parameters:
[in] dict Proxy dictionary containing this proxy.
[in] source Detector address information
[in] key String key, additional key supplied by user.
Returns:
Shared pointer of void type.

Implements PSEvt::ProxyI.

Definition at line 90 of file Proxy.h.

References PSEvt::Proxy< T >::getTypedImpl().

template<typename T>
virtual boost::shared_ptr<T> PSEvt::Proxy< T >::getTypedImpl ( ProxyDictI dict,
const Pds::Src &  source,
const std::string &  key 
) [protected, pure virtual]

Get the correctly-typed object from the proxy.

Parameters:
[in] dict Proxy dictionary containing this proxy.
[in] source Detector address information
[in] key String key, additional key supplied by user.
Returns:
Shared pointer of the correct type.

Implemented in PSEvt::DataProxy< T >.

Referenced by PSEvt::Proxy< T >::getImpl().


The documentation for this class was generated from the following file:
Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7