00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
#ifndef _CQUERYPLUGIN
00025
#define _CQUERYPLUGIN
00026
#include "libMRML/include/uses-declarations.h"
00027
#include <sys/types.h>
00028
#include <dirent.h>
00029
#include <dlfcn.h>
00030
00031
#include <iostream>
00032
#include <string>
00033
#include <map>
00034
00035
00036
class CQuery;
00037
class CAlgorithm;
00038
class CAccessorAdminCollection;
00039
00040
class CQueryPlugin{
00041
protected:
00043
void* mDlOpenHandle;
00045 string mName;
00047
CQuery* (*mMakeQuery)(
CAccessorAdminCollection& inAccessorAdminCollection,
00048
CAlgorithm& inAlgorithm);
00050
char* (*mGetName)(
void);
00052
bool mIsSane;
00053
public:
00055
CQuery* makeQuery(
CAccessorAdminCollection& inAccessorAdminCollection,
00056
CAlgorithm& inAlgorithm);
00058
char* getName();
00060 CQueryPlugin(string,string,string);
00062 CQueryPlugin(CQueryPlugin&);
00064 ~CQueryPlugin();
00066
bool isSane()const;
00067 };
00068
00069 #endif