Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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

Last change on this file since 5648 was 5648, checked in by patrick, 19 years ago

network: some more constructor/interface work

File size: 1.5 KB
RevLine 
[5554]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
[5524]6
[5554]7*/
8
9#ifndef _DATA_STREAM_H
10#define _DATA_STREAM_H
11
12#include "base_object.h"
[5562]13#include "netdefs.h"
[5554]14
[5569]15class Synchronizeable;
16class NetworkSocket;
17
[5554]18class DataStream : public BaseObject
[5524]19{
[5602]20      public:
[5612]21      DataStream();
[5648]22      DataStream(Synchronizeable& sync);
[5611]23      DataStream(DataStream& inStream, DataStream& outStream);
[5562]24      DataStream(Synchronizeable& sync, NetworkSocket& socket);
[5611]25      DataStream(DataStream& inStream, NetworkSocket& socket);
26      DataStream(Synchronizeable& sync, DataStream& outStream);
[5600]27     
[5554]28      ~DataStream();
[5604]29     
[5611]30     
31     
32     
33      void connectNetworkSocket(NetworkSocket& socket);
34     
35      void disconnectNetworkSocket();
36     
37      void connectSynchronizeable(Synchronizeable& sync);
38     
39      void disconnectSynchronizeable();
[5569]40
[5562]41      void connectUpStream(DataStream& upStream);
[5569]42
[5562]43      void disconnectUpStream();
[5569]44
[5562]45      void connectDownStream(DataStream& downStream);
[5569]46
[5562]47      void disconnectDownStream();
[5569]48
[5562]49      virtual void processData() = 0;
[5569]50
[5562]51      protected:
[5600]52      void writeBytes(byte& data);
[5569]53
[5600]54      byte& readBytes();
[5602]55     
56      byte inBuffer [];
57      byte outBuffer [];
58      unsigned int bufferSize;
59      DataStream* upStream;
60      DataStream* downStream;
[5612]61      NetworkSocket* networkSocket;
[5648]62      Synchronizeable* sync;
[5602]63
[5562]64};
[5554]65
66#endif /* _DATA_STREAM_ */
Note: See TracBrowser for help on using the repository browser.