File: CStaticQueryFactory.cc

package info (click to toggle)
gnuift 0.1.14%2Bds-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 5,632 kB
  • ctags: 2,973
  • sloc: cpp: 15,867; sh: 8,281; ansic: 1,812; perl: 1,007; php: 651; makefile: 483; lisp: 344
file content (68 lines) | stat: -rw-r--r-- 1,858 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "libMRML/include/my_throw.h"

#include "libMRML/include/CStaticQueryFactory.h"

#include "libMRML/include/GIFTExceptions.h"
#include "libMRML/include/CAlgorithm.h"
#include "libGIFTQuInvertedFile/include/CQInvertedFile.h"
#include "libMRML/include/CQParallel.h"
#include "libMRML/include/CQMultiple.h"
#ifdef __GIFT_BAYESIAN__
#include "CIFQuickAndDirtyHunter.h"
#endif
#include "libGIFTQuHierarchy/include/CQHierarchy.h"

#ifdef __GIFT_WITH_PERL__
#include "libGIFTQuPerl/include/CQPerl.h"
#endif

//These are files which belong to yet unpublished worked
#ifdef __GIFT_UNPUBLISHED_WORK__
#include "CQIFFerDeLance.h"
#endif

#include "libMRML/include/CAccessorAdminCollection.h"

CQuery* CStaticQueryFactory::makeQuery(const string & inBaseType, 
				    CAccessorAdminCollection & inAccessorAdminCollection,
				    CAlgorithm & inAlgorithm){
#ifndef LINK_DYNAMICALLY
  if(inBaseType=="inverted_file"){
    return(new CQInvertedFile(inAccessorAdminCollection,
			      inAlgorithm));
  }
#ifdef __GIFT_BAYESIAN__
  if(inBaseType=="bayesian"){
    return(new CIFQuickAndDirtyHunter(inAccessorAdminCollection,
				      inAlgorithm));
  }
#endif

#ifdef __GIFT_WITH_PERL__
  if(inBaseType=="perl"){
    return(new CQPerl(inAccessorAdminCollection,
 		      inAlgorithm));
  }
#endif
  //   if(inBaseType=="parallel"){
//     return(new CQParallel(inAccessorAdminCollection,
// 			  inAlgorithm));
//   }
  if(inBaseType=="multiple"){
    return(new CQMultiple(inAccessorAdminCollection,
			  inAlgorithm));
  }
#ifdef __GIFT_UNPUBLISHED_WORK__
  if(inBaseType=="fer_de_lance"){
    return(new CQIFFerDeLance(inAccessorAdminCollection,
			      inAlgorithm));
  }
#endif
  if(inBaseType=="hierarchy"){
    return(new CQHierarchy(inAccessorAdminCollection,
			   inAlgorithm));
  }
  my_throw(VEWrongBaseType(inBaseType.c_str()));
#endif
  return 0;
}