Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: orxonox.OLD/branches/network/src/lib/network/data_stream.h @ 5719

Last change on this file since 5719 was 5719, checked in by bknecht, 18 years ago

updated function names in DataStream and made some minor changes

File size: 1.6 KB
Line 
1/*!
2 * @file data_stream.h
3  *  Main class for a data stream, used for our network stream
4  *  network stream will get data, and will send it with a network socket
5  *  to another network stream
6
7*/
8
9#ifndef _DATA_STREAM_H
10#define _DATA_STREAM_H
11
12#include "base_object.h"
13#include "netdefs.h"
14
15class Synchronizeable;
16class NetworkSocket;
17
18class DataStream : public BaseObject
19{
20      public:
21      DataStream();
22      DataStream(Synchronizeable& sync);
23      DataStream(DataStream& inStream, DataStream& outStream);
24      DataStream(Synchronizeable& sync, NetworkSocket& socket);
25      DataStream(DataStream& inStream, NetworkSocket& socket);
26      DataStream(Synchronizeable& sync, DataStream& outStream);
27     
28      ~DataStream();
29     
30     
31     
32     
33      void connectNetworkSocket(NetworkSocket& socket);
34     
35      void disconnectNetworkSocket();
36     
37      void connectSynchronizeable(Synchronizeable& sync);
38     
39      void disconnectSynchronizeable();
40
41      void connectUpStream(DataStream& upStream);
42
43      void disconnectUpStream();
44
45      void connectDownStream(DataStream& downStream);
46
47      void disconnectDownStream();
48
49      virtual void processData() = 0;
50
51      protected:
52      void passDown(byte* data, int length);
53
54      int passUp(byte* data);
55     
56      byte inBuffer [];
57      byte outBuffer [];
58      unsigned int bufferSize;
59      DataStream* upStream;
60      DataStream* downStream;
61      NetworkSocket* networkSocket;
62      Synchronizeable* synchronizeable;
63
64};
65
66#endif /* _DATA_STREAM_ */
Note: See TracBrowser for help on using the repository browser.