00001 #ifndef __BCARCH_H_INCLUDED__
00002 #define __BCARCH_H_INCLUDED__
00003
00004 // $Id$
00005
00006 //**********************************************************************
00007 // *
00008 // Description: Abstract base class for storing and retrieving *
00009 // bell code objects to and from archive. *
00010 // *
00011 // Author: Chris White (whitecf@bcs.org.uk) *
00012 // *
00013 // Copyright (C) 2003 Monitor Computing Services Ltd. *
00014 // *
00015 // This program is free software; you can redistribute it and/or *
00016 // modify it under the terms of the GNU General Public License *
00017 // as published by the Free Software Foundation; either version 2 *
00018 // of the License, or any later version. *
00019 // *
00020 // This program is distributed in the hope that it will be useful, *
00021 // but WITHOUT ANY WARRANTY; without even the implied warranty of *
00022 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
00023 // GNU General Public License for more details. *
00024 // *
00025 // You should have received a copy of the GNU General Public *
00026 // License (http://www.gnu.org/copyleft/gpl.html) along with this *
00027 // program; if not, write to: *
00028 // The Free Software Foundation Inc., *
00029 // 59 Temple Place - Suite 330, *
00030 // Boston, MA 02111-1307, *
00031 // USA. *
00032 // *
00033 //**********************************************************************
00034 // *
00035 // Notes: *
00036 // *
00037 //**********************************************************************
00038
00039
00040 // Forward declerations
00041 class string;
00042
00043
00044 namespace Monitor {
00045 namespace BellMaster {
00046
00047
00048 // Forward declerations within namespace
00049 class BellCode;
00050
00051
00052
00053 class BellCodeArchive
00054 {
00055 public:
00056 BellCodeArchive();
00057
00058 void
00059 store(const BellCode& target);
00060
00061 int
00062 retrieve(BellCode& target);
00063
00064 protected:
00065 virtual void
00066 storeDescription(const string& description) = 0;
00067
00068 virtual void
00069 storeSequence(const string& sequence) = 0;
00070
00071 virtual int
00072 retrieveDescription(string& description) = 0;
00073
00074 virtual int
00075 retrieveSequence(string& sequence) = 0;
00076 }; // class BellCodeArchive
00077
00078 }; // namespace BellMaster
00079 }; // namespace Monitor
00080
00081
00082 #endif // __BCARCH_H_INCLUDED__
1.2.14 written by Dimitri van Heesch,
© 1997-2002