/usr/include/ossim/base/ossimDatumFactoryRegistry.h is in libossim-dev 1.8.16-4ubuntu1.
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 | //----------------------------------------------------------------------------
//
// License: See top level LICENSE.txt file
//
// Author: David Burken
//
// Description: Class declaration of Registry (singleton) for datum factories.
//
//----------------------------------------------------------------------------
// $Id$
#ifndef ossimDatumFactoryRegistry_HEADER
#define ossimDatumFactoryRegistry_HEADER
#include <vector>
#include <ossim/base/ossimConstants.h> /* for OSSIM_DLL macro */
#include <ossim/base/ossimDatumFactoryInterface.h>
#include <OpenThreads/ReadWriteMutex>
// Forward class declarations.
class ossimDatumFactoryInterface;
class ossimString;
class ossimDatum;
class OSSIM_DLL ossimDatumFactoryRegistry : public ossimDatumFactoryInterface
{
public:
/** destructor */
~ossimDatumFactoryRegistry();
/**
* instance method
*
* @return Point to the instance of the registry.
*/
static ossimDatumFactoryRegistry* instance();
/**
* Method to add factory to registry.
* @param factory Factory to register.
*/
void registerFactory(ossimDatumFactoryInterface* factory);
/**
* create method
*
* Implements pure virtual ossimDatumFactoryInterface::create.
*
* @return const pointer to a datum.
*/
virtual const ossimDatum* create(const ossimString& code)const;
virtual const ossimDatum* create(const ossimKeywordlist& kwl, const char *prefix=0) const;
/**
* getList method to return a combined list of all datums from registered
* datum factories.
*
* @param list The list to add to.
*/
virtual void getList(std::vector<ossimString>& list) const;
protected:
/** hidden from use default constructor */
ossimDatumFactoryRegistry();
/** Single static instance of this class. */
static ossimDatumFactoryRegistry* theInstance;
mutable OpenThreads::ReadWriteMutex theFactoryListMutex;
std::vector<ossimDatumFactoryInterface*> theFactoryList;
};
#endif /* #ifndef ossimDatumFactoryRegistry_HEADER */
|