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

SHStatus.h

Go to the documentation of this file.
00001 #ifndef SH_STATUS_H 00002 #define SH_STATUS_H 00003 00004 #include <sys/types.h> 00005 00006 namespace SH 00007 { 00008 00009 class SinkEndpoint; 00010 class SourceEndpoint; 00011 00016 /**********************************************************************/ 00017 /* SHStatus */ 00018 /**********************************************************************/ 00019 00033 class Status 00034 { 00035 protected: 00036 friend class Base; 00037 00038 struct Settings 00039 { 00040 // capabilities 00041 unsigned _is_active_capable : 1; 00042 unsigned _is_passive_capable : 1; 00043 unsigned _is_through_capable : 1; 00044 size_t _num_sink_specs; 00045 size_t _num_source_specs; 00046 00047 // run-time status information 00048 unsigned _is_streaming : 1; 00049 unsigned _is_in_active_mode : 1; 00050 unsigned _is_in_passive_mode : 1; 00051 unsigned _is_in_through_mode : 1; 00052 00053 void initSettings( const Settings& orig ); 00054 }; 00055 00056 private: 00057 Settings _settings; 00058 00059 protected: 00065 void initSettings( const Status::Settings& orig ); 00066 00079 virtual bool isActiveCapable() const; 00080 00093 virtual bool isPassiveCapable() const; 00094 00103 virtual bool isThroughCapable() const; 00104 public: 00117 virtual size_t numSinkSpecs() const; 00118 00125 virtual size_t numSourceSpecs() const; 00126 00145 virtual SinkEndpoint** getSinkSpecs() = 0; 00146 00155 virtual SourceEndpoint** getSourceSpecs() = 0; 00156 00166 protected: 00167 virtual bool isConnected() const = 0; 00168 00180 virtual bool isStreaming() const; 00181 00187 virtual bool isInActiveMode() const; 00188 00194 virtual bool isInPassiveMode() const; 00195 00201 virtual bool isInThroughMode() const; 00202 00204 virtual void setStreaming( bool yes ); 00205 }; 00206 00208 00209 }; // namespace SH 00210 00211 #endif /* SH_STATUS_H */ 00212

Generated on Sun Mar 6 13:35:50 2005 for Komssys by doxygen 1.3.8