This file is indexed.

/usr/include/libMRML/include/CAccessorAdmin.h is in libmrml1-dev 0.1.14-12.1.

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
126
127
128
129
130
131
132
133
134
/* -*- mode: c++ -*- 
*/
/* 

    GIFT, a flexible content based image retrieval system.
    Copyright (C) 1998, 1999, 2000, 2001, 2002, CUI University of Geneva

     Copyright (C) 2003, 2004 Bayreuth University
      2005 Bamberg University
    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.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*/
#ifndef _CACCESSORPROXY
#define _CACCESSORPROXY
#include "libMRML/include/uses-declarations.h"
#include "libMRML/include/CSelfDestroyPointer.h"
#include <string>
#include <functional>
#include "libMRML/include/CAccessor.h"
#include "libMRML/include/CAccessorFactory.h"
#include "libMRML/include/CAccessorFactoryContainer.h"
/**
  CAccessorAdmin: The goal of this is to make it possible
  to have a list containing accessors to all possible
  collections, without really opening the accessors.

  The accessor proxy is in fact an open/close counter
  for accessors. This permits multiple query structures
  to share just one accessor, and it avoids having to open 
  all kinds of accessors when starting the program.

*/
class CAccessorAdmin{
protected:
  /** 
      Factory for making all kinds of accessors
   */
  CAccessorFactoryContainer& mFactoryContainer;
  /** */
  CSelfDestroyPointer<CXMLElement> mCollectionElement;
  /**
     Content is pointer to a factory,
     a pointer to the actual Accessor (if already made)
     and the open-close-counter
   */
  class CContentElement{
  public:
    /** Contains a pointer to the accessor, if already opened */
    CAccessor* mAccessor;
    /** The factory to make an accessor, if this is needed */
    CAccessorFactory* mFactory;
    /** Counts how often the accessor has been opened or closed */
    int mOpenCloseCounter;
  };
  /** 
      Typedef: The content is a map of string to content element 
      In this map is noted, which accessors are open for the
      collection with the given ID.
   */
  typedef map<string,CContentElement> CContent;
  /** The content is a map of string to content element */
  CContent mContent;
public:
  //----------------------------------------
  /** open an accessor.

      This is the important part for the outside:
      Open or close inverted file accessors.
      Several queries can share one accessor,
      the accessor will be constructed when the first
      CQuery needs it, and it will be deleted, when 
      the last one does not need it any more:
  */
  CAccessor* openAccessor(string inType);
  /** closing an accessor.
   @see openAccessor*/
  void closeAccessor(string inType);
  //----------------------------------------
  /**  Once this is working this will replace
       about every set/get function which follows
  */
  void setCollectionElement(CXMLElement*);
  /**  */
  const CXMLElement* getCollectionElement()const;
  /**  */
  const CXMLElement* getQueryParadigmList()const;
  /** */
  list<string>* getAvailableIndices()const;
  //----------------------------------------
  /**  generate out put for shandshake message */
  string toXML(bool isPrivate=false)const;
  /**  pack the content of this into an CXMLElement 
       with elementname "collection"
   */
  CXMLElement* toXMLElement()const;
  //----------------------------------------
  /** Constructor */
  CAccessorAdmin(CAccessorFactoryContainer& inFactoryContainer);
  /** destructor */
  ~CAccessorAdmin();
  /**  */
  string getAlgorithmIDListID()const;
  /**  */
  string getName()const;
  /**  */
  string getID()const;

  /** for sorting */
  friend class CSortByName_pAP;
};


/* Sort pointers to Accessor Proxies by the name of what they point to */
class CSortByName_pAP:public binary_function<const CAccessorAdmin*,const CAccessorAdmin*,bool>{
public:
  /**  */
  bool operator()(const CAccessorAdmin* l,
		  const CAccessorAdmin* t);
};


#endif