NDEVR
API Documentation

IOFactory for reading and writing zipped files with an offset, such as KMZ archives that contain embedded model data at a byte offset within the ZIP container. More...

Inheritance diagram for ZippedOffset:
[legend]
Collaboration diagram for ZippedOffset:
[legend]

Static Public Member Functions

static ZippedOffsetDefaultFactory ()
 Returns the singleton ZippedOffset factory instance.
static FileFormat ZippedOffsetFormat (const StringView &extension)
 Creates a FileFormat descriptor for a zipped offset format with the given extension.
Static Public Member Functions inherited from IOFactory
static void EnableExtension (const StringView &extension, const StringView &read_password, const StringView &write_password)
 Enables a specific file extension with the given read and write passwords.
static void EnableFactory (const StringView &factory, const StringView &read_password, const StringView &write_password)
 Enables a factory by name with the given read and write passwords.
static void EnableFactory (IOFactory *factory, const StringView &read_password, const StringView &write_password)
 Registers an IOFactory instance with the system, enabling it for read and/or write.

Protected Member Functions

 ZippedOffset ()
 Constructs the ZippedOffset factory.
bool canRead (const File &file) final override
 Checks whether this factory can read the given file.
bool canWrite (const File &file) final override
 Checks whether this factory can write the given file.
FactoryOptions defaultReadOptions (const FactoryParameters &file) const final override
 Returns the default read options for the given factory parameters.
FactoryOptions defaultWriteOptions (const FactoryParameters &file) const final override
 Returns the default write options for the given factory parameters.
bool determineExtension (const File &file, String &extension) final override
 Attempts to determine the file extension for the given file.
FactoryFeatures factoryFeatures (const FactoryParameters &file, bool is_import) const override
 Returns the features and configurable options for this factory given the parameters.
Buffer< UUIDfilterModelsToExport (Buffer< UUID > models_to_check, const DesignObjectLookup *lookup, const FileFormat &export_format) const final override
 Filters a list of model UUIDs to only those that can be exported in the given format.
String getIcon (const File &file) final override
 Returns the icon name associated with the given file type.
void getSupportedFormats (Buffer< FileFormat > &formats, bool is_read) final override
 Populates the given buffer with supported file formats for reading or writing.
bool isAutoEnabled () const final override
 Checks whether this factory is automatically enabled without requiring a password.
bool readFile (FactoryParameters &file) final override
 Reads data from a file into the design object hierarchy.
bool writeFile (FactoryParameters &) final override
 Writes data from the design object hierarchy to a file.

Additional Inherited Members

Public Member Functions inherited from IOFactory
 IOFactory (const StringView &factory_name)
 Constructs an IOFactory with the given factory name.
virtual ~IOFactory ()
 Virtual destructor.
virtual bool canRead (const FactoryParameters &file)
 Checks whether this factory can read using the given FactoryParameters.
virtual bool canRead (const FileFormat &file)
 Checks whether this factory can read the given file format.
virtual bool canWrite (const FactoryParameters &file)
 Checks whether this factory can write using the given FactoryParameters.
virtual bool canWrite (const FileFormat &file)
 Checks whether this factory can write the given file format.
String factoryReadAppFeature () const
 Returns the application feature string required for read operations.
String factoryWriteAppFeature () const
 Returns the application feature string required for write operations.
void getSupportedFormats (Buffer< FileFormat > &formats)
 Populates the given buffer with all supported file formats (both read and write).
virtual void getSupportedFormats (Buffer< FileFormat > &formats, const File &file)
 Populates the given buffer with formats supported for the specified file.
virtual void getSupportedFormats (Buffer< FileFormat > &formats, DesignObjectLookup *lookup, const Buffer< UUID > &models)
 Populates the given buffer with formats supported for writing the specified models.
virtual void getSupportedFormatsByModelType (Buffer< FileFormat > &formats, bool is_read, const StringView &model_type)
 Populates the given buffer with formats matching a specific model type.
virtual void getSupportedFormatsForExtension (Buffer< FileFormat > &formats, bool is_read, const StringView &extension)
 Populates the given buffer with formats matching a specific file extension.
virtual bool isFactoryEnabled (bool is_read) const
 Checks whether this factory is enabled for reading or writing.
const Stringname () const
 Returns the name of this factory.
Buffer< UUIDreadFileWithDefaultSettings (const File &file, DesignObjectLookup *lookup)
 Reads a file using default settings and returns the UUIDs of the created models.
Buffer< ScenereadScenesFromFile (const File &file)
 Reads scenes from a file and returns them as a buffer of Scene objects.
void throwIfNotEnabled (bool is_read)
 Throws an exception if the factory is not enabled for the given operation direction.
virtual bool updateFromFile (const FactoryParameters &file, const FactoryOptions &old_options)
 Updates the factory parameters from a file, comparing against old options.
bool writeScenesToFile (const File &file, const Buffer< Scene > &scene)
 Writes a buffer of scenes to a file.

Detailed Description

IOFactory for reading and writing zipped files with an offset, such as KMZ archives that contain embedded model data at a byte offset within the ZIP container.


Definition at line 47 of file ZippedOffset.h.

Member Function Documentation

◆ canRead()

bool ZippedOffset::canRead ( const File & file)
finaloverrideprotectedvirtual

Checks whether this factory can read the given file.


Parameters
[in]fileThe file to check.
Returns
True if this factory supports reading the file.

Reimplemented from IOFactory.

◆ canWrite()

bool ZippedOffset::canWrite ( const File & file)
finaloverrideprotectedvirtual

Checks whether this factory can write the given file.


Parameters
[in]fileThe file to check.
Returns
True if this factory supports writing the file.

Reimplemented from IOFactory.

◆ DefaultFactory()

ZippedOffset * ZippedOffset::DefaultFactory ( )
static

Returns the singleton ZippedOffset factory instance.

Returns
Pointer to the default factory.

References ZippedOffset().

◆ defaultReadOptions()

FactoryOptions ZippedOffset::defaultReadOptions ( const FactoryParameters & file) const
finaloverrideprotectedvirtual

Returns the default read options for the given factory parameters.


Parameters
[in]fileThe FactoryParameters describing the read operation.
Returns
The default FactoryOptions for reading.

Reimplemented from IOFactory.

References defaultReadOptions().

Referenced by defaultReadOptions().

◆ defaultWriteOptions()

FactoryOptions ZippedOffset::defaultWriteOptions ( const FactoryParameters & file) const
finaloverrideprotectedvirtual

Returns the default write options for the given factory parameters.


Parameters
[in]fileThe FactoryParameters describing the write operation.
Returns
The default FactoryOptions for writing.

Reimplemented from IOFactory.

References defaultWriteOptions().

Referenced by defaultWriteOptions().

◆ determineExtension()

bool ZippedOffset::determineExtension ( const File & file,
String & extension )
finaloverrideprotectedvirtual

Attempts to determine the file extension for the given file.


Parameters
[in]fileThe file to inspect.
[in]extensionOutput parameter populated with the determined extension.
Returns
True if the extension was successfully determined.

Reimplemented from IOFactory.

References determineExtension().

Referenced by determineExtension().

◆ factoryFeatures()

FactoryFeatures ZippedOffset::factoryFeatures ( const FactoryParameters & file,
bool is_import ) const
overrideprotectedvirtual

Returns the features and configurable options for this factory given the parameters.


Parameters
[in]fileThe FactoryParameters describing the operation.
[in]is_importTrue for import operations, false for export operations.
Returns
A FactoryFeatures object describing available options and capabilities.

Implements IOFactory.

References factoryFeatures().

Referenced by factoryFeatures().

◆ filterModelsToExport()

Buffer< UUID > ZippedOffset::filterModelsToExport ( Buffer< UUID > models_to_check,
const DesignObjectLookup * lookup,
const FileFormat & export_format ) const
finaloverrideprotectedvirtual

Filters a list of model UUIDs to only those that can be exported in the given format.


Parameters
[in]models_to_checkThe candidate model UUIDs to filter.
[in]lookupThe DesignObjectLookup used to resolve the models.
[in]export_formatThe target export format.
Returns
A buffer containing only the UUIDs of models that can be exported.

Reimplemented from IOFactory.

References filterModelsToExport().

Referenced by filterModelsToExport().

◆ getIcon()

String ZippedOffset::getIcon ( const File & file)
finaloverrideprotectedvirtual

Returns the icon name associated with the given file type.


Parameters
[in]fileThe file to get the icon for.
Returns
A String containing the icon name.

Reimplemented from IOFactory.

◆ getSupportedFormats()

void ZippedOffset::getSupportedFormats ( Buffer< FileFormat > & formats,
bool is_read )
finaloverrideprotectedvirtual

Populates the given buffer with supported file formats for reading or writing.


Parameters
[in]formatsThe buffer to populate with supported FileFormat entries.
[in]is_readTrue to get read formats, false to get write formats.

Implements IOFactory.

◆ isAutoEnabled()

bool ZippedOffset::isAutoEnabled ( ) const
finaloverrideprotectedvirtual

Checks whether this factory is automatically enabled without requiring a password.


Returns
True if the factory is auto-enabled, false if a password/license is required.

Reimplemented from IOFactory.

◆ readFile()

bool ZippedOffset::readFile ( FactoryParameters & file)
finaloverrideprotectedvirtual

Reads data from a file into the design object hierarchy.


Parameters
[in]fileThe FactoryParameters describing the read operation and receiving results.
Returns
True if the read succeeded, false otherwise.

Implements IOFactory.

◆ writeFile()

bool ZippedOffset::writeFile ( FactoryParameters & file)
finaloverrideprotectedvirtual

Writes data from the design object hierarchy to a file.


Parameters
[in]fileThe FactoryParameters describing the write operation.
Returns
True if the write succeeded, false otherwise.

Implements IOFactory.

◆ ZippedOffsetFormat()

FileFormat ZippedOffset::ZippedOffsetFormat ( const StringView & extension)
static

Creates a FileFormat descriptor for a zipped offset format with the given extension.

Parameters
[in]extensionThe file extension to associate with the format.
Returns
A FileFormat describing the zipped offset format.

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