00001 // This file may be redistributed and modified only under the terms of 00002 // the GNU Lesser General Public License (See COPYING for details). 00003 // Copyright (C) 2000-2001 Michael Day 00004 00005 #ifndef ATLAS_NEGOTIATE_H 00006 #define ATLAS_NEGOTIATE_H 00007 00008 #include <Atlas/Task.h> 00009 00010 #define Debug(prg) { if (debug_flag) { prg } } 00011 00012 namespace Atlas { 00013 00014 template <class Stream> 00015 class Codec; 00016 00027 template <typename Stream> 00028 class Negotiate : public Task 00029 { 00030 public: 00031 00032 enum State 00033 { 00034 IN_PROGRESS, 00035 SUCCEEDED, 00036 FAILED, 00037 }; 00038 00039 virtual State GetState() = 0; 00040 virtual Codec<Stream>* GetCodec() = 0; 00041 }; 00042 00043 } // Atlas namespace 00044 00045 #endif
Copyright 2000 the respective authors.
This document is licensed under the terms of the GNU Free Documentation License and may be freely distributed under the conditions given by this license.