Main Page | Modules | Class Hierarchy | Class List | File List | Class Members | Related Pages

Negotiate.h

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.