00001
00002
00003
00004
00005 #ifndef ATLAS_NEGOTIATE_H
00006 #define ATLAS_NEGOTIATE_H
00007
00008 namespace Atlas {
00009
00010 class Bridge;
00011 class Codec;
00012
00024 class Negotiate
00025 {
00026 public:
00027 virtual ~Negotiate();
00028
00029 enum State
00030 {
00031 IN_PROGRESS,
00032 SUCCEEDED,
00033 FAILED
00034 };
00035
00036 virtual State getState() = 0;
00037 virtual Codec * getCodec(Bridge &) = 0;
00038 virtual void poll(bool can_get = true) = 0;
00039 };
00040
00041 }
00042
00043 #endif