ArcGIS Procedural Runtime  3.2.10650
List of all members | Public Member Functions | Static Public Member Functions
prtx::ExtensionFactory Class Referenceabstract

#include <ExtensionFactory.h>

Inheritance diagram for prtx::ExtensionFactory:
[legend]

Public Member Functions

virtual bool canHandleURI (prtx::URIPtr uri) const =0
 
virtual Extensioncreate () const =0
 
 ExtensionFactory (const ExtensionFactory &)=delete
 
virtual prt::ContentType getContentType () const =0
 
virtual const std::wstring & getDescription () const =0
 
virtual prtx::Extension::ExtensionType getExtensionType () const =0
 
virtual const std::wstring & getID () const =0
 
virtual float getMerit () const
 
virtual const std::wstring & getName () const =0
 
ExtensionFactoryoperator= (const ExtensionFactory &)=delete
 

Static Public Member Functions

static float getDefaultMerit ()
 

Detailed Description

This is the base class for all extension factories. Usually it should not be sub-classed directly, use StreamAdaptorFactory, ResolveMapProviderFactory, DecoderFactory, or EncoderFactory for your own extensions.

All ExtensionFactory subclasses must be used as singletons and are typically directly passed into prtx::ExtensionManager::addFactory.

ExtensionFactories and subclasses must be immutable.

See also
prtx::ExtensionManager
prtx::ClassUtils::Singleton

Member Function Documentation

◆ canHandleURI()

virtual bool prtx::ExtensionFactory::canHandleURI ( prtx::URIPtr  uri) const
pure virtual

Returns true, if the extension can handle the resource described by the URI. Returns false, if the uri is invalid.

Implemented in prtx::EncoderFactory, and prtx::DecoderFactory.

◆ create()

virtual Extension* prtx::ExtensionFactory::create ( ) const
pure virtual

Subclasses must override this member function to create an instance of the corresponding extension.

◆ getContentType()

virtual prt::ContentType prtx::ExtensionFactory::getContentType ( ) const
pure virtual

Returns the content type of this extension.

Implemented in prtx::EncoderFactory, prtx::ResolveMapProviderFactory, and prtx::StreamAdaptorFactory.

◆ getDefaultMerit()

static float prtx::ExtensionFactory::getDefaultMerit ( )
static

Returns the default merit for all extensions (1.0).

◆ getDescription()

virtual const std::wstring& prtx::ExtensionFactory::getDescription ( ) const
pure virtual

Returns a human readable description of the extension

Implemented in prtx::EncoderFactory.

◆ getExtensionType()

virtual prtx::Extension::ExtensionType prtx::ExtensionFactory::getExtensionType ( ) const
pure virtual

◆ getID()

virtual const std::wstring& prtx::ExtensionFactory::getID ( ) const
pure virtual

Returns the unique ID of the extension instances this factory will create.

Implemented in prtx::EncoderFactory.

◆ getMerit()

virtual float prtx::ExtensionFactory::getMerit ( ) const
inlinevirtual

An extension can override and increase getMerit to influence the resolve order of an URI. Extensions with higher merits have higher priority.

◆ getName()

virtual const std::wstring& prtx::ExtensionFactory::getName ( ) const
pure virtual

Returns the human readable name of the extension.

Implemented in prtx::EncoderFactory.


The documentation for this class was generated from the following file: