System documentation of the GNU Image-Finding Tool

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members

CAccessorFactoryContainer.h

00001 /* -*- mode: c++ -*- 
00002 */
00003 /* 
00004 
00005     GIFT, a flexible content based image retrieval system.
00006     Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva
00007 
00008     This program is free software; you can redistribute it and/or modify
00009     it under the terms of the GNU General Public License as published by
00010     the Free Software Foundation; either version 2 of the License, or
00011     (at your option) any later version.
00012 
00013     This program is distributed in the hope that it will be useful,
00014     but WITHOUT ANY WARRANTY; without even the implied warranty of
00015     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00016     GNU General Public License for more details.
00017 
00018     You should have received a copy of the GNU General Public License
00019     along with this program; if not, write to the Free Software
00020     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00021 
00022 */
00023 // -*- mode: c++ -*-
00024 #ifndef _CACCESSORFACTORYCONTAINER
00025 #define _CACCESSORFACTORYCONTAINER
00026 #include "libMRML/include/uses-declarations.h"
00027 #include <map>
00028 #include <string>
00029 #include "libMRML/include/CSelfDestroyPointer.h"
00030 class CXMLElement;
00031 class CAccessor;
00032 class CAccessorFactory;
00042 class CAccessorFactoryContainer{
00046   CSelfDestroyPointer<CXMLElement> mConfigurationData;
00047   class CContentElement{
00048   public:
00050     CAccessorFactory* mFactory;
00052     int mOpenCloseCounter;
00053   };
00059 public:
00060   typedef map<string,CContentElement> CContent;
00061 protected:
00063   CContent mContent;
00064      
00065  public:
00070   CAccessorFactoryContainer();
00076   void configure(CXMLElement* inConfigurationData);
00080   ~CAccessorFactoryContainer();
00084   void registerFactory(CAccessorFactory* inFactory,
00085                        string inName);
00097   CAccessor* openAccessor(string inName,
00098                           const CXMLElement& inCollectionElement);
00105   void closeAccessor(string inName);
00111   bool isPresentFactory(string inName)const;
00112   
00113 };
00114 
00115 #endif

Need for discussion? Want to contribute? Contact
help-gift@gnu.org Generated using Doxygen