00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef _SWORD_STREAMS_OSTORAGEADAPTER_ACE_SOCK_DGRAM_
00020 #define _SWORD_STREAMS_OSTORAGEADAPTER_ACE_SOCK_DGRAM_
00021
00022 #include "ace/SOCK_Dgram.h"
00023 #include "ace/INET_Addr.h"
00024 #include "sword/streams.OStorage.h"
00025
00026 namespace sword {
00027
00028 class SWORDDECL OStorageAdapter_ACE_SOCK_Dgram : public OStorage {
00029 public:
00030 OStorageAdapter_ACE_SOCK_Dgram(ACE_SOCK_Dgram *adapted = 0, ACE_INET_Addr *address = 0);
00031 ~OStorageAdapter_ACE_SOCK_Dgram();
00032
00033 void attach(ACE_SOCK_Dgram *adapted);
00034 void sendTo(ACE_INET_Addr *address);
00035
00036 void write(const void *buffer, word length);
00037 void flush();
00038
00039 private:
00040 ACE_SOCK_Dgram *adapted_;
00041 ACE_INET_Addr *address_;
00042 };
00043
00044 }
00045
00046 #include "sword.private/streams.OStorageAdapter_ACE_SOCK_Dgram.inl"
00047
00048 #endif // _SWORD_STREAMS_OSTORAGEADAPTER_ACE_SOCK_DGRAM_