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

DummyLayerSinkSH.h

Go to the documentation of this file.
00001 /* Copyright (C) 2002 Carsten Griwodz 00002 * 00003 * You are allowed to use all other parts of the code under the following terms: 00004 * 00005 * For non-commercial use, this code may be used in unmodified form 00006 * provided that this copyright notice and this permission notice appear 00007 * in supporting documentation. 00008 * 00009 * The code may be made subject to the terms of the GNU General Public 00010 * License, Version 2, and re-distributed under the terms of this license. 00011 * 00012 * Commercial use other than under the terms of the GNU General Public 00013 * License is allowed only after negotiation of conditions with the authors. 00014 */ 00015 #ifndef DUMMY_LAYER_SINK_SH 00016 #define DUMMY_LAYER_SINK_SH 00017 00018 #include <sys/types.h> 00019 00020 #include "SH.h" 00021 #include "SHEndpoint.h" 00022 #include "SHEndpointSpec.h" 00023 #include "MNPCList.h" 00024 #include "var_type.h" 00025 00026 namespace SH 00027 { 00028 00033 class DummyLayerSinkSH; 00034 class DummyLayerSinkEndpoint; 00035 class DummyLayerSinkSourceEndpoint; 00036 00037 /**********************************************************************/ 00038 /* DummyLayerSinkEndpoint */ 00039 /**********************************************************************/ 00040 00041 class DummyLayerSinkEndpoint 00042 : public SinkEndpoint 00043 { 00044 public: 00045 DummyLayerSinkEndpoint( DummyLayerSinkSH* mySH ); 00046 virtual ~DummyLayerSinkEndpoint( ); 00047 00048 virtual SH_RC push( DataPtr item ); 00049 00050 DummyLayerSinkSH* dsh(); 00051 }; 00052 00053 /**********************************************************************/ 00054 /* DummyLayerSinkSH */ 00055 /**********************************************************************/ 00056 00057 class DummyLayerSinkSH 00058 : public Base 00059 { 00060 public: 00061 DummyLayerSinkSH( SHGraphManager* mgr, 00062 u_int32_t runtimeId, 00063 MNSelector& sel); 00064 00065 private: 00066 00068 DummyLayerSinkSH( const DummyLayerSinkSH& ); 00069 00071 DummyLayerSinkSH& operator=( const DummyLayerSinkSH& ); 00072 00073 public: 00076 virtual SH_RC initSH(); 00079 virtual SH_RC uninitSH(); 00080 00081 SH_RC push( DataPtr item ); 00082 00084 SA_FILE_NAME _log_name; 00086 SA_RTP_INT_PAYLOAD_TYPE _int_pt; 00087 00088 /******************************************************************/ 00089 /* functions required for SHStatus */ 00090 /******************************************************************/ 00091 protected: 00092 friend class DummyLayerSinkEndpoint; 00093 00094 virtual void pushReport( ReportPtr report, Direction d ); 00095 00096 SinkEndpoint* _in_ep_a[1]; 00097 DummyLayerSinkEndpoint _inEP; 00098 00099 public: 00100 virtual SinkEndpoint** getSinkSpecs(); 00101 virtual SourceEndpoint** getSourceSpecs(); 00102 00115 virtual bool isConnected() const; 00116 00117 private: 00119 size_t _cnt; 00120 00122 size_t _null_cnt; 00123 00127 ostream* _log_file; 00128 00130 void inc_drop_count( ); 00131 00133 void inc_null_count( ); 00134 }; 00135 00137 00138 }; // namespace SH 00139 00140 #endif /* DUMMY_LAYER_SINK_SH */ 00141

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