mediacmd.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef OPAL_OPAL_MEDIACMD_H
00029 #define OPAL_OPAL_MEDIACMD_H
00030
00031 #ifdef P_USE_PRAGMA
00032 #pragma interface
00033 #endif
00034
00035 #include <opal/buildopts.h>
00036
00038
00043 class OpalMediaCommand : public PObject
00044 {
00045 PCLASSINFO(OpalMediaCommand, PObject);
00046 public:
00053 void PrintOn(
00054 ostream & strm
00055 ) const { strm << GetName(); }
00056
00068 virtual Comparison Compare(
00069 const PObject & obj
00070 ) const { return GetName().Compare(PDownCast(const OpalMediaCommand, &obj)->GetName()); }
00072
00077 virtual PString GetName() const = 0;
00078
00081 virtual void * GetPlugInData() const { return NULL; }
00082
00085 virtual unsigned * GetPlugInSize() const { return NULL; }
00087 };
00088
00089
00090 #define OPAL_DEFINE_MEDIA_COMMAND(cls, name) \
00091 class cls : public OpalMediaCommand \
00092 { \
00093 PCLASSINFO(cls, OpalMediaCommand) \
00094 public: \
00095 virtual PString GetName() const { return name; } \
00096 }
00097
00098
00099 #endif // OPAL_OPAL_MEDIACMD_H
00100
00101
00102