Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

phLiveObject Class Reference
[Phission SystemThread Safe]

#include <phLiveObject.h>

Inheritance diagram for phLiveObject:

phMutex phObject phAutoBlobData phBlobData phDataObject phHistogramData phHoughData phJoystickData phPositionData phPowerData phSonarData phWifiData phWifiLinkData List of all members.

Detailed Description

The phLiveObject and phLiveCookie classes are the backbone of the data flow type system. They are used to encapsulate all update and signaling functionality. Any object that wants to use the connect, update and disconnect phLiveObject API should derive from this class. In this manner, any object that also derives from phLiveObject can connect to any other phLiveObject class. These classes must also overload the 'copy' and 'swap' methods of the phObject class.

Definition at line 263 of file phLiveObject.h.

Public Member Functions

 phLiveObject ()
virtual ~phLiveObject ()
void disableSwap (int disable=1)
void enableSwap (int enable=1)
int isSwapDisabled ()
int isSwapEnabled ()
void disableNotify (int disable=1)
void enableNotify (int enable=1)
int isNotifyDisabled ()
int isNotifyEnabled ()
int resetJitter ()
int resetNotifyJitter ()
int setNotifyJitter (int32_t jitter)
int32_t getNotifyJitter ()
int setNotifyJitterAvg (int32_t jitter_avg)
int32_t getNotifyJitterAvg ()
int setNotifyJitterAvgSamples (int32_t jitter_samples)
int32_t getNotifyJitterAvgSamples ()
int resetClientJitter ()
int setClientJitter (int32_t jitter)
int32_t getClientJitter ()
int setClientJitterAvg (int32_t jitter_avg)
int32_t getClientJitterAvg ()
int setClientJitterAvgSamples (int32_t jitter_samples)
int32_t getClientJitterAvgSamples ()
phConditionCountergetWaitingCounter ()
int connect (phLiveObject *obj, uint32_t flags=phLiveObjectNOFLAG)
int disconnect ()
int wakeup_clients ()
int wakeup_self ()
int update (uint32_t flags=phLiveObjectNOFLAG)
int setFlags (uint32_t flags)
uint32_t getFlags ()
int isConnected ()
int release_clients ()
int readLock ()
int tryReadLock ()
int writeLock ()
int tryWriteLock ()
int rwUnlock ()
int hasClients ()
int clientCount ()

Protected Member Functions

int notify (int force=0)

Protected Attributes

int m_swap_disabled
int m_notify_disabled

Private Member Functions

uint32_t factorFlags (uint32_t newflags)
int source_connect (phLiveObject *client, phLiveCookie **cookie)
int source_disconnect (phLiveCookie **cookie)
int source_update (phObject *object, phLiveCookie *cookie, uint32_t flags=phLiveObjectNOFLAG)
int setSourceObject (phLiveObject *sourceObject)

Private Attributes

phLiveCookiem_cookie
phLiveObjectm_source_object
uint32_t m_connected
uint32_t m_flags
phMutex m_updateLock
phRWLock m_accessLock
phMutex m_cookie_mutex
uint32_t m_cookie_count
phLiveCookiem_cookie_head
phLiveCookiem_cookie_tail
uint32_t m_source_object_key
phConditionCounterm_waiting_var
phTimeInterval m_notify_jitter
phMutex m_notify_jitter_lock
int32_t m_notify_jitter_us
int32_t m_notify_jitter_avg
int32_t m_notify_jitter_samples
phRWLock m_client_jitter_rwlock
int32_t m_client_jitter_us
int32_t m_client_jitter_avg
int32_t m_client_jitter_samples


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



Copyright (C) 2002 - 2007 Philip D.S. Thoren ( pthoren@users.sourceforge.net )
University Of Massachusetts at Lowell
Robotics Lab
SourceForge.net Logo

Generated on Sat Jun 16 02:44:59 2007 for phission by  doxygen 1.4.4