OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimGdalInfoFactory.cpp
Go to the documentation of this file.
1 //----------------------------------------------------------------------------
2 //
3 // License: LGPL
4 //
5 // See LICENSE.txt file in the top level directory for more details.
6 //
7 // Author: Mingjie Su
8 //
9 // Description: Factory for Ogr info objects.
10 //
11 //----------------------------------------------------------------------------
12 // $Id: ossimGdalInfoFactory.cpp 2645 2011-05-26 15:21:34Z oscar.kramer $
13 
14 #include <ossimGdalInfoFactory.h>
15 #include <ossimOgrInfo.h>
16 #include <ossimHdfInfo.h>
17 
21 #include <ossim/base/ossimRefPtr.h>
22 
24 {}
25 
27 {
28  static ossimGdalInfoFactory sharedInstance;
29 
30  return &sharedInstance;
31 }
32 
33 std::shared_ptr<ossimInfoBase> ossimGdalInfoFactory::create(const ossimFilename& file) const
34 {
35  // Test hdf...
36  std::shared_ptr<ossimInfoBase> result;
37 
38  std::shared_ptr<ossimHdfInfo> hdfInfo = std::make_shared<ossimHdfInfo>();
39  if ( hdfInfo->open(file) )
40  {
41  return hdfInfo;
42  }
43 
44  std::shared_ptr<ossimOgrInfo> ogrInfo = std::make_shared<ossimOgrInfo>();
45  if ( ogrInfo->open(file) )
46  {
47  return ogrInfo;
48  }
49 
50  return result;
51 }
52 
53 std::shared_ptr<ossimInfoBase> ossimGdalInfoFactory::create(std::shared_ptr<ossim::istream>& str,
54  const std::string& connectionString)const
55 {
56  std::shared_ptr<ossimInfoBase> result;
57 
58  // generic stream open/adaptors not implemented yet
59 
60  return result;
61 }
62 
64 {}
65 
67 {}
68 
70  const ossimGdalInfoFactory& /* rhs */)
71 {
72  return *this;
73 }
const ossimGdalInfoFactory & operator=(const ossimGdalInfoFactory &rhs)
hidden from use operator =
ossimGdalInfoFactory()
hidden from use default constructor
static ossimGdalInfoFactory * instance()
virtual std::shared_ptr< ossimInfoBase > create(const ossimFilename &file) const
create method.
virtual ~ossimGdalInfoFactory()
virtual destructor