System documentation of the GNU Image-Finding Tool

CAFPlugin.h
1 /* -*- mode: c++ -*-
2 */
3 /*
4 
5  GIFT, a flexible content based image retrieval system.
6  Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva
7 
8  Copyright (C) 2003, 2004 Bayreuth University
9  2005 Bamberg University
10  This program is free software; you can redistribute it and/or modify
11  it under the terms of the GNU General Public License as published by
12  the Free Software Foundation; either version 2 of the License, or
13  (at your option) any later version.
14 
15  This program is distributed in the hope that it will be useful,
16  but WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  GNU General Public License for more details.
19 
20  You should have received a copy of the GNU General Public License
21  along with this program; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 
24 */
25 // -*- mode: c++ -*-
26 #ifndef _CACCESSORPLUGIN
27 #define _CACCESSORPLUGIN
28 #include "libMRML/include/uses-declarations.h"
29 #include <sys/types.h> // reading a directory
30 #include <dirent.h> // reading a directory
31 #include <dlfcn.h> // dynamic linking
32 
33 #include <iostream> // screen output
34 #include <string>
35 #include <map>
36 
37 #include "libMRML/include/CAccessor.h"
38 #include "libMRML/include/CXMLElement.h"
39 #include "libMRML/include/CAccessorFactory.h"
40 
42 protected:
46  string mName;
48  CAccessor* (*mMakeAccessor)(const CXMLElement&);
50  char* (*mGetName)(void);
52  bool mIsSane;
53 public:
54 
64  CAccessor* makeAccessor(const CXMLElement&)const;
66  char* getName();
68  CAFPlugin(string,string,string);
72  ~CAFPlugin();
74  bool isSane()const;
76  void registerFactory(CAccessorFactoryContainer& outContainer);
77 
78 };
79 
80 #endif
This is a common abstract base class for all specialised CAccessorFactories.
Definition: CAccessorFactory.h:42
Definition: CAFPlugin.h:41
This class captures the structure of an XML element.
Definition: CXMLElement.h:51
void * mDlOpenHandle
the handle which enables us to open
Definition: CAFPlugin.h:44
CAFPlugin(string, string, string)
opens the library and sets the make query etc.
bool mIsSane
is this well constructed?
Definition: CAFPlugin.h:52
~CAFPlugin()
close the DlOpenHandle of the library
string mName
the name of the plugin
Definition: CAFPlugin.h:46
CAccessor * makeAccessor(const CXMLElement &) const
Add some register function here.
void registerFactory(CAccessorFactoryContainer &outContainer)
register the factory
CAccessor - an abstract base class for everything accessing a GIFT database.
Definition: CAccessor.h:55
This is destined to hold a number of CAccessorFactories.
Definition: CAccessorFactoryContainer.h:44
bool isSane() const
is this well constructed
char * getName()
gets the name of the plugin

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