00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _GLASS_PLUGIN_STREAM_HH_
00022 #define _GLASS_PLUGIN_STREAM_HH_
00023
00024 #include <map>
00025 #include "plugin.h"
00026 #include "exception.h"
00027 #include <boost/thread.hpp>
00028
00029 namespace libglass {
00030
00031 class Stream;
00032
00036 class StreamBase : public PluginBase {
00040 PLUGIN(StreamBase);
00041
00042 private:
00043
00044 protected:
00045 friend class Stream;
00046
00047 #if defined(_MSC_VER) && (_MSC_VER < 1300) // earlier than .NET compiler (VC 7.0)
00048 public:
00049 #else
00050 protected:
00051 #endif
00052
00056 ~StreamBase();
00057
00058 public:
00059 };
00060
00066 class LIBGLASS_API Stream : public PluginInterface {
00067 private:
00068 StreamBase *sb;
00070 std::string name;
00071
00072 protected:
00073 friend class StreamBase;
00074
00075 public:
00079 Stream() throw(Exception);
00080
00084 ~Stream();
00085 };
00086
00087 }
00088
00089
00090 #endif // _GLASS_PLUGIN_STREAM_HH_