DataChannel.h

Go to the documentation of this file.
00001 
00020 #ifndef ARXX_DATACHANNEL_H
00021 #define ARXX_DATACHANNEL_H
00022 
00023 #include "Buffer.h"
00024 #include "Common.h"
00025 #include "FetchStatus.h"
00026 #include "URI.h"
00027 
00034 namespace Arxx
00035 {
00045     class DataChannel
00046     {
00047     public:
00056         DataChannel(const Arxx::URI & URI);
00057         
00063         virtual ~DataChannel(void);
00064         
00070         void vReference(void);
00071         
00077         void vDereference(void);
00078         
00084         bool bIsReferenced(void) const;
00085         
00089         const Arxx::URI & GetURI(void) const;
00090         
00100         virtual bool bFetchData(const Arxx::URI & URI, Arxx::Buffer & Buffer, Arxx::FetchStatus & FetchStatus) = 0;
00101         
00106         bool bWantsAutoDeletion(void) const;
00107     protected:
00113         virtual void vOnUnreferenced(void);
00114         
00122         bool m_bWantsAutoDeletion;
00123     private:
00127         DataChannel(const Arxx::DataChannel & DataChannel);
00128         
00132         Arxx::DataChannel & operator=(const Arxx::DataChannel & DataChannel);
00133         
00139         Arxx::u4byte m_u4ReferenceCounter;
00140         
00144         const Arxx::URI m_URI;
00145     };
00146 }
00147 
00148 #endif

Generated on Tue Oct 10 11:33:55 2006 for libarxx by  doxygen 1.4.7