This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.
00001 // -*- C++ -*- 00002 // AID-GENERATED 00003 // ========================================================================= 00004 // This class was generated by AID - Abstract Interface Definition 00005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 00006 // ========================================================================= 00007 #ifndef AIDA_IFUNCTIONCATALOG_H 00008 #define AIDA_IFUNCTIONCATALOG_H 1 00009 00010 // This file is part of the AIDA library 00011 // Copyright (C) 2002 by the AIDA team. All rights reserved. 00012 // This library is free software and under the terms of the 00013 // GNU Library General Public License described in the LGPL.txt 00014 00015 #include <string> 00016 #include <vector> 00017 00018 namespace AIDA { 00019 00020 class IFunction; 00021 00030 class IFunctionCatalog { 00031 00032 public: 00034 virtual ~IFunctionCatalog() { /* nop */; } 00035 00045 virtual bool add(std::string nameId, IFunction * f) = 0; 00046 00047 virtual bool add(std::string nameId, const std::string & codelet) = 0; 00048 00049 /* 00050 * Get a list of all available functions. 00051 */ 00052 virtual const std::vector<std::string> & list() = 0; 00053 00054 /* 00055 * Remove function from the catalog. 00056 */ 00057 virtual void remove(const std::string & nameId) = 0; 00058 00059 /* 00060 * Write contents of the catalog to disk. 00061 * We have to agree on the format here, or define and XML 00062 * entry for IFunctionCatalog! 00063 */ 00064 virtual bool storeAll(const std::string & nameOnDisk) = 0; 00065 00066 /* 00067 * Load contents of the catalog from disk 00068 * We have to agree on the format here, or define and XML 00069 * entry for IFunctionCatalog! 00070 */ 00071 virtual bool loadAll(const std::string & nameOnDisk) = 0; 00072 }; // class 00073 }; // namespace AIDA 00074 #endif /* ifndef AIDA_IFUNCTIONCATALOG_H */