/usr/include/ossim/base/ossimObjectFactoryRegistry.h is in libossim-dev 2.2.2-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 | //*******************************************************************
// Copyright (C) 2000 ImageLinks Inc.
//
// License: See top level LICENSE.txt file.
//
// Author: Garrett Potts
//
//*************************************************************************
// $Id: ossimObjectFactoryRegistry.h 22650 2014-02-28 14:39:20Z gpotts $
#ifndef ossimObjectFactoryRegistry_HEADER
#define ossimObjectFactoryRegistry_HEADER
#include <vector>
#include <ossim/base/ossimObject.h>
#include <ossim/base/ossimObjectFactory.h>
#include <ossim/base/ossimFactoryListInterface.h>
class ossimKeywordlist;
class ossimString;
class OSSIMDLLEXPORT ossimObjectFactoryRegistry : public ossimObject,
public ossimFactoryListInterface<ossimObjectFactory, ossimObject>
{
public:
virtual ~ossimObjectFactoryRegistry();
static ossimObjectFactoryRegistry* instance();
virtual ossimObject* createObject(const ossimString& name)const
{
return createObjectFromRegistry(name);
}
virtual ossimObject* createObject(const ossimKeywordlist& kwl,
const char* prefix=0)const
{
return createObjectFromRegistry(kwl, prefix);
}
/*!
* Returns a type list of all objects that can be instantiated
* through the createObjectMethods above.
*/
virtual void getTypeNameList(std::vector<ossimString>& typeList)const
{
getAllTypeNamesFromRegistry(typeList);
}
/*!
* returns a list of objects that are of the passed in
* base type. for example:
*
* If I want all ossimImageSource objects then I call:
*
* ossimObjectFactoryRegistry::instance()->getTypeNameList(l,
* "ossimImageSource");
*/
virtual void getTypeNameList(std::vector<ossimString>& typeList,
const ossimString& baseType)const;
protected:
ossimObjectFactoryRegistry();//hide
ossimObjectFactoryRegistry(const ossimObjectFactoryRegistry&):ossimObject(){}//hide
void operator =(const ossimObjectFactoryRegistry&){}//hide
// std::vector<ossimObjectFactory*> theFactoryList;
// ossimObjectFactory* findFactory(ossimObjectFactory* factory)const;
TYPE_DATA
};
extern "C"
{
OSSIMDLLEXPORT void* ossimObjectFactoryRegistryGetInstance();
}
#endif
|