4 * @author Martin Corino <mcorino@remedy.nl>
7 #ifndef ACE_FTP_IOSTREAM_H
8 #define ACE_FTP_IOSTREAM_H
10 #include /**/ "ace/pre.h"
12 #include /**/ "ace/config-all.h"
14 #if !defined (ACE_LACKS_PRAGMA_ONCE)
16 #endif /* ACE_LACKS_PRAGMA_ONCE */
18 #include "ace/INet/INet_Export.h"
19 #include "ace/INet/BufferedStreamBuffer.h"
23 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
30 * @class ACE_FTP_StreamBuffer
35 class ACE_INET_Export StreamBuffer
36 : public ACE::IOS::BufferedStreamBuffer
39 StreamBuffer (std::iostream
* stream
);
40 virtual ~StreamBuffer ();
44 std::iostream
* set_stream (std::iostream
* stream
);
52 virtual int read_from_stream (char* buffer
, std::streamsize length
);
54 virtual int write_to_stream (const char* buffer
, std::streamsize length
);
57 std::iostream
* stream_
;
67 class ACE_INET_Export IOS
68 : public virtual std::ios
71 IOS (std::iostream
* stream
);
74 StreamBuffer
* rdbuf ();
76 std::iostream
* set_stream (std::iostream
* stream
);
79 StreamBuffer streambuf_
;
83 * @class ACE_FTP_OStream
88 class ACE_INET_Export OStream
89 : public IOS
, public std::ostream
92 explicit OStream(std::iostream
* stream
);
95 void set_interceptor (StreamBuffer::interceptor_type
& interceptor
);
99 * @class ACE_FTP_IStream
104 class ACE_INET_Export IStream
105 : public IOS
, public std::istream
108 explicit IStream(std::iostream
* stream
);
111 void set_interceptor (StreamBuffer::interceptor_type
& interceptor
);
116 ACE_END_VERSIONED_NAMESPACE_DECL
118 #if defined (__ACE_INLINE__)
119 #include "ace/INet/FTP_IOStream.inl"
122 #include /**/ "ace/post.h"
123 #endif /* ACE_FTP_IOSTREAM_H */