OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ImageHandlerStateFactory.cpp
Go to the documentation of this file.
5 #include <mutex>
6 
7 
9 {
10 
11 }
12 
13 std::shared_ptr<ossim::ImageHandlerStateFactory> ossim::ImageHandlerStateFactory::instance()
14 {
15  static std::shared_ptr<ImageHandlerStateFactory>
16  imageHandlerFactory = std::make_shared< ossim::ImageHandlerStateFactory >();
17  return imageHandlerFactory;
18 }
19 
20 std::shared_ptr<ossim::ImageHandlerState> ossim::ImageHandlerStateFactory::createState(const ossimKeywordlist& kwl,
21  const ossimString& prefix)const
22 {
23  std::shared_ptr<ossim::ImageHandlerState> result;
24  ossimString typeValue = kwl.find(prefix, ossimKeywordNames::TYPE_KW);
25  if(typeValue)
26  {
27  result = createState(typeValue);
28  if(result)
29  {
30  try
31  {
32  result->load(kwl, prefix);
33  }
34  catch(ossimException& e)
35  {
36  result = nullptr;
37  }
38  }
39  }
40 
41  return result;
42 }
43 
44 std::shared_ptr<ossim::ImageHandlerState> ossim::ImageHandlerStateFactory::createState(const ossimString& typeName)const
45 {
46  std::shared_ptr<ossim::ImageHandlerState> result;
47 
48  if(typeName == ossim::TiffHandlerState::getStaticTypeName())
49  {
50  result = std::make_shared<ossim::TiffHandlerState>();
51  }
52 
53  return result;
54 }
static std::shared_ptr< ossim::ImageHandlerStateFactory > instance()
Represents serializable keyword/value map.
const char * find(const char *key) const
static const char * TYPE_KW
virtual std::shared_ptr< ossim::ImageHandlerState > createState(const ossimKeywordlist &kwl, const ossimString &prefix="") const override