00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef CCLIPBOARD_H
00020 #define CCLIPBOARD_H
00021
00022 #include "IClipboard.h"
00023
00025
00028 class CClipboard : public IClipboard {
00029 public:
00030 CClipboard();
00031 virtual ~CClipboard();
00032
00034
00035
00037
00041 void unmarshall(const CString& data, Time time);
00042
00044
00045
00046
00048
00052 CString marshall() const;
00053
00055
00056
00057 virtual bool empty();
00058 virtual void add(EFormat, const CString& data);
00059 virtual bool open(Time) const;
00060 virtual void close() const;
00061 virtual Time getTime() const;
00062 virtual bool has(EFormat) const;
00063 virtual CString get(EFormat) const;
00064
00065 private:
00066 mutable bool m_open;
00067 mutable Time m_time;
00068 bool m_owner;
00069 Time m_timeOwned;
00070 bool m_added[kNumFormats];
00071 CString m_data[kNumFormats];
00072 };
00073
00074 #endif