COVISE Core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
Public Member Functions | Static Public Attributes | Private Attributes | List of all members
vrb::VrbClientRegistry Class Reference

#include <VrbClientRegistry.h>

Inheritance diagram for vrb::VrbClientRegistry:
Inheritance graph
[legend]
Collaboration diagram for vrb::VrbClientRegistry:
Collaboration graph
[legend]

Public Member Functions

 VrbClientRegistry (int id, VrbMessageSenderInterface *sender)
 construct a registry access path to the controller More...
 
void setID (int clID, const SessionID &session)
 gets id from server More...
 
void resubscribe (const SessionID &sessionID, const SessionID &oldSession=SessionID())
 unsubscribe all clases and variables from old session and subscribe to the new one (ignore sharedStates, they resubscribe them selves) More...
 
clientRegClasssubscribeClass (const SessionID &sessionID, const std::string &clName, regClassObserver *ob)
 
clientRegVarsubscribeVar (const SessionID &sessionID, const std::string &cl, const std::string &var, covise::TokenBuffer &&value, regVarObserver *ob)
 
void unsubscribeClass (const SessionID &sessionID, const std::string &cl)
 
void unsubscribeVar (const std::string &cl, const std::string &var, bool unsubscribeServerOnly=false)
 
void createVar (const SessionID sessionID, const std::string &cl, const std::string &var, covise::TokenBuffer &value, bool isStatic=false)
 
void setVar (const SessionID sessionID, const std::string &cl, const std::string &var, covise::TokenBuffer &&val, bool muted=false)
 
void destroyVar (const SessionID sessionID, const std::string &cl, const std::string &var)
 
clientRegClassgetClass (const std::string &name)
 returns the regClass with name or nullptr More...
 
void update (covise::TokenBuffer &tb, int reason)
 
virtual ~VrbClientRegistry ()
 
void sendMsg (covise::TokenBuffer &tb, covise::covise_msg_type type)
 
int getID () override
 
SessionID getSession ()
 
std::shared_ptr< clientRegClasscreateClass (const std::string &name, int id) override
 
- Public Member Functions inherited from vrb::VrbRegistry< clientRegClass, clientRegVar >
void loadRegistry (std::ifstream &inFile)
 
void saveRegistry (std::ofstream &outFile) const
 

Static Public Attributes

static VrbClientRegistryinstance = NULL
 

Private Attributes

int clientID = -1
 
SessionID sessionID
 
VrbMessageSenderInterfacem_sender
 

Additional Inherited Members

- Protected Member Functions inherited from vrb::VrbRegistry< clientRegClass, clientRegVar >
void readClass (std::ifstream &file)
 changes name to the read name and return the char which contains the classes variables More...
 
void clearRegistry ()
 
- Protected Attributes inherited from vrb::VrbRegistry< clientRegClass, clientRegVar >
std::map< const std::string,
std::shared_ptr
< clientRegClass > > 
myClasses
 

Constructor & Destructor Documentation

vrb::VrbClientRegistry::VrbClientRegistry ( int  id,
VrbMessageSenderInterface sender 
)

construct a registry access path to the controller

vrb::VrbClientRegistry::~VrbClientRegistry ( )
virtual

Member Function Documentation

std::shared_ptr< clientRegClass > vrb::VrbClientRegistry::createClass ( const std::string name,
int  id 
)
overridevirtual
void vrb::VrbClientRegistry::createVar ( const SessionID  sessionID,
const std::string cl,
const std::string var,
covise::TokenBuffer value,
bool  isStatic = false 
)
void vrb::VrbClientRegistry::destroyVar ( const SessionID  sessionID,
const std::string cl,
const std::string var 
)
clientRegClass * vrb::VrbClientRegistry::getClass ( const std::string name)

returns the regClass with name or nullptr

if a VRB connected, resend local variables and subscriptions.

int vrb::VrbClientRegistry::getID ( )
inlineoverridevirtual
SessionID vrb::VrbClientRegistry::getSession ( )
inline
void vrb::VrbClientRegistry::resubscribe ( const SessionID sessionID,
const SessionID oldSession = SessionID() 
)

unsubscribe all clases and variables from old session and subscribe to the new one (ignore sharedStates, they resubscribe them selves)

void vrb::VrbClientRegistry::sendMsg ( covise::TokenBuffer tb,
covise::covise_msg_type  type 
)
void vrb::VrbClientRegistry::setID ( int  clID,
const SessionID session 
)

gets id from server

void vrb::VrbClientRegistry::setVar ( const SessionID  sessionID,
const std::string cl,
const std::string var,
covise::TokenBuffer &&  val,
bool  muted = false 
)
clientRegClass * vrb::VrbClientRegistry::subscribeClass ( const SessionID sessionID,
const std::string clName,
regClassObserver ob 
)

Subscribe to all variables in a registry class

registry class observer cl to be attached for updates use clientID if id is not set

clientRegVar * vrb::VrbClientRegistry::subscribeVar ( const SessionID sessionID,
const std::string cl,
const std::string var,
covise::TokenBuffer &&  value,
regVarObserver ob 
)
void vrb::VrbClientRegistry::unsubscribeClass ( const SessionID sessionID,
const std::string cl 
)

Unsubscribe from a registry cl (previously subscribed with subscribecl)

registry cl

void vrb::VrbClientRegistry::unsubscribeVar ( const std::string cl,
const std::string var,
bool  unsubscribeServerOnly = false 
)
void vrb::VrbClientRegistry::update ( covise::TokenBuffer tb,
int  reason 
)

Member Data Documentation

int vrb::VrbClientRegistry::clientID = -1
private
VrbClientRegistry * vrb::VrbClientRegistry::instance = NULL
static
VrbMessageSenderInterface* vrb::VrbClientRegistry::m_sender
private
SessionID vrb::VrbClientRegistry::sessionID
private

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