This file is indexed.

/usr/include/tulip/MethodFactory.h is in libtulip-dev 3.1.2-2.3ubuntu3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
//-*-c++-*-
/**
 Authors: David Auber, Patrick Mary, Morgan Mathiaut
 from the LaBRI Visualization Team
 Email : auber@tulip-software.org
 Last modification : 13/03/2009 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by  
 the Free Software Foundation; either version 2 of the License, or     
 (at your option) any later version.
*/

#ifndef METHODFACTORY_H
#define METHODFACTORY_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif


#include <string>

#include "tulip/Plugin.h"
#include "tulip/TulipRelease.h"
#include "tulip/PluginContext.h"
#include "tulip/SizeAlgorithm.h"
#include "tulip/IntegerAlgorithm.h"
#include "tulip/DoubleAlgorithm.h"
#include "tulip/ColorAlgorithm.h"
#include "tulip/LayoutAlgorithm.h"
#include "tulip/StringAlgorithm.h"
#include "tulip/BooleanAlgorithm.h"
#include "tulip/Algorithm.h"
#include "tulip/ImportModule.h"
#include "tulip/ExportModule.h"

/** \addtogroup plugins */ 
/*@{*/

//===========================================================
// Declaration of Properties plugin mechanism
//===========================================================
/// Macro for factorization of source code pf Properties plugin mechanism
#define PROPERTYPLUGINFACTORY(T,C,N,A,D,I,R,G)          \
class C##T##Factory:public tlp::PropertyFactory<tlp::T##Algorithm>	\
{                                                       \
 public:						\
  C##T##Factory(){					\
    tlp::T##Property::initFactory();			\
    tlp::T##Property::factory->registerPlugin((tlp::PropertyFactory<tlp::T##Algorithm> *) this); \
  }							\
  ~C##T##Factory(){}					\
  std::string getClassName() const { return std::string(#T);} \
  std::string getName() const { return std::string(N);}	\
  std::string getGroup() const { return std::string(G);}\
  std::string getAuthor() const {return std::string(A);}\
  std::string getDate() const {return std::string(D);}	\
  std::string getInfo() const {return std::string(I);}	\
  std::string getRelease() const {return std::string(R);}\
  std::string getTulipRelease() const {return std::string(TULIP_RELEASE);}\
  tlp::T##Algorithm * createPluginObject(const tlp::PropertyContext &context)\
   {							\
     C *tmp=new C(context);				\
     return ((tlp::T##Algorithm *) tmp);		\
   }							\
};                                                      \
extern "C" {                                            \
  C##T##Factory C##T##FactoryInitializer;               \
}

#define BOOLEANPLUGINOFGROUP(C,N,A,D,I,R,G) PROPERTYPLUGINFACTORY(Boolean,C,N,A,D,I,R,G)
#define BOOLEANPLUGIN(C,N,A,D,I,R) BOOLEANPLUGINOFGROUP(C,N,A,D,I,R,"")
#define COLORPLUGINOFGROUP(C,N,A,D,I,R,G) PROPERTYPLUGINFACTORY(Color,C,N,A,D,I,R,G)
#define COLORPLUGIN(C,N,A,D,I,R) COLORPLUGINOFGROUP(C,N,A,D,I,R,"")
#define DOUBLEPLUGINOFGROUP(C,N,A,D,I,R,G)  PROPERTYPLUGINFACTORY(Double,C,N,A,D,I,R,G)
#define DOUBLEPLUGIN(C,N,A,D,I,R)  DOUBLEPLUGINOFGROUP(C,N,A,D,I,R,"")
#define GRAPHPLUGINOFGROUP(C,N,A,D,I,R,G) PROPERTYPLUGINFACTORY(Graph,C,N,A,D,I,R,G)
#define GRAPHPLUGIN(C,N,A,D,I,R) GRAPHPLUGINOFGROUP(C,N,A,D,I,R,"")
#define INTEGERPLUGINOFGROUP(C,N,A,D,I,R,G) PROPERTYPLUGINFACTORY(Integer,C,N,A,D,I,R,G)
#define INTEGERPLUGIN(C,N,A,D,I,R) INTEGERPLUGINOFGROUP(C,N,A,D,I,R,"")
#define LAYOUTPLUGINOFGROUP(C,N,A,D,I,R,G) PROPERTYPLUGINFACTORY(Layout,C,N,A,D,I,R,G)
#define LAYOUTPLUGIN(C,N,A,D,I,R) LAYOUTPLUGINOFGROUP(C,N,A,D,I,R,"")
#define SIZEPLUGINOFGROUP(C,N,A,D,I,R,G) PROPERTYPLUGINFACTORY(Size,C,N,A,D,I,R,G)
#define SIZEPLUGIN(C,N,A,D,I,R) SIZEPLUGINOFGROUP(C,N,A,D,I,R,"")
#define STRINGPLUGINOFGROUP(C,N,A,D,I,R,G)  PROPERTYPLUGINFACTORY(String,C,N,A,D,I,R,G)
#define STRINGPLUGIN(C,N,A,D,I,R)  STRINGPLUGINOF(C,N,A,D,I,R,"")

//===========================================================
// Declaration of Graph modification plug-in Mechanism
//===========================================================
/// Macro for factorization of source code of Graph modification plugin mechanism 
#define GRAPHPLUGINFACTORY(T,C,N,A,D,I,R,G)	\
class C##T##Factory:public tlp::T##Factory              \
{                                                       \
 public:						\
  C##T##Factory(){					\
    initFactory();					\
    factory->registerPlugin(this);			\
  }							\
  ~C##T##Factory(){}					\
  std::string getName() const { return std::string(N);}	\
  std::string getGroup() const { return std::string(G);}\
  std::string getAuthor() const {return std::string(A);}\
  std::string getDate() const {return std::string(D);}	\
  std::string getInfo() const {return std::string(I);}	\
  std::string getRelease() const {return std::string(R);}\
  std::string getTulipRelease() const {return std::string(TULIP_RELEASE);}\
  tlp::T * createPluginObject(AlgorithmContext context)	\
   {							\
     C *tmp=new C(context);				\
     return ((tlp::T *) tmp);				\
   }							\
};                                                      \
extern "C" {                                            \
  C##T##Factory C##T##FactoryInitializer;               \
}

#define ALGORITHMPLUGINOFGROUP(C,N,A,D,I,R,G) GRAPHPLUGINFACTORY(Algorithm,C,N,A,D,I,R,G)
#define ALGORITHMPLUGIN(C,N,A,D,I,R) ALGORITHMPLUGINOFGROUP(C,N,A,D,I,R,"")
#define EXPORTPLUGINOFGROUP(C,N,A,D,I,R,G) GRAPHPLUGINFACTORY(ExportModule,C,N,A,D,I,R,G)
#define EXPORTPLUGIN(C,N,A,D,I,R) EXPORTPLUGINOFGROUP(C,N,A,D,I,R,"") 
#define IMPORTPLUGINOFGROUP(C,N,A,D,I,R,G) GRAPHPLUGINFACTORY(ImportModule,C,N,A,D,I,R,G)
#define IMPORTPLUGIN(C,N,A,D,I,R) IMPORTPLUGINOFGROUP(C,N,A,D,I,R,"")
/*@}*/
#endif