Priority.h

Go to the documentation of this file.
00001 // -*- mode: C++ -*- 
00002 //
00003 // Copyright (C) 2006 Christian Holm Christensen <cholm@nbi.dk>
00004 //
00005 // This library is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU Lesser General Public License
00007 // as published by the Free Software Foundation; either version 2.1
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This library is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013 // Lesser General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU Lesser General Public
00016 // License along with this library; if not, write to the Free
00017 // Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
00018 // 02111-1307 USA
00019 //
00025 #ifndef RCUCONF_PRIORITY_H
00026 #define RCUCONF_PRIORITY_H
00027 #ifndef RCUCONF_TABLE_H
00028 # include <rcuconf/Table.h>
00029 #endif
00030 #ifndef RCUDB_BLOB_H
00031 # include <rcudb/Blob.h>
00032 #endif
00033 #ifndef __LIST__
00034 # include <list>
00035 #endif
00036 
00037 namespace RcuDb
00038 {
00039   class Server;
00040   class Row;
00041   class Result;
00042   class Sql;
00043 }
00044 
00045 namespace RcuConf 
00046 {
00047   // Forward declarations 
00048   class Config;
00049 
00055   class Priority : public Table
00056   {
00057   public:
00061     Priority(const std::string&      desc, 
00062              const std::vector<int>& params) 
00063       : fDescription(desc), 
00064         fParams(params)
00065     {}
00067     virtual ~Priority() { }
00068 
00070     typedef std::list<Priority*> List;
00071 
00073     virtual void Print() const;
00076     virtual bool Insert(RcuDb::Server& s);
00079     static  bool Create(RcuDb::Server& s);
00082     static  bool Drop(RcuDb::Server& s);
00088     static  bool Select(List& l, RcuDb::Server& s, const RcuDb::Sql& cond);
00094     static  bool Select(List& l, RcuDb::Server& s, const Config& c);
00095 
00097     const std::string& Description() const { return fDescription; }
00100     void Params(std::vector<int>& params) const { fParams.Decode(params); }
00101 
00103     static const std::string fgName;
00104   protected:
00107     Priority(RcuDb::Row& row);
00109     std::string fDescription;
00111     RcuDb::Blob fParams;
00112     
00113   };
00114 }
00115 #endif
00116 //
00117 // EOF
00118 //
00119 
00120   
Top of page Last update Fri Apr 27 01:54:15 2007
Copyright © 2004 Christian Holm Created by DoxyGen 1.3.5