neuray API Programmer's Manual

mi::bridge::IBridge_snapshot_context Class Reference

[Bridge server]

Description

Context to import, export, or remove snapshots.

See also:

mi::bridge::IBridge_server::create_snapshot_context()

Public Member Functions

virtual neuraylib::​IExport_resultexport_snapshot( neuraylib::​ITransaction* transaction, const IArray* elements, const IMap* exporter_options, IString* snapshot_id) =0
Exports a set of elements to the disk cache. More...
virtual neuraylib::​IImport_resultimport_snapshot( neuraylib::​ITransaction* transaction, const char* snapshot_id, const IMap* importer_options = 0) =0
Imports a previously saved snapshot from the disk cache. More...
virtual Sint32 remove_snapshot( const char* snapshot_id) =0
Removes a snapshot from the disk cache. More...

Member Functions

virtual neuraylib::​IExport_result* mi::​bridge::​IBridge_snapshot_context::export_snapshot( neuraylib::​ITransaction* transaction, const IArray* elements, const IMap* exporter_options, IString* snapshot_id) [pure virtual]

Exports a set of elements to the disk cache. The following optional exporter options are supported:

  • "recurse" of type mi::IBoolean: If true, any elements referenced by the elements in the elements array are exported as well. Default: true.

Parameters

transaction
The transaction to use for the export.
elements
The elements to export. Only supports element names as IString.
exporter_options
The exporter options.
snapshot_id
The ID of the snapshot to use. If an empty string is passed an automatically generated unique identifier will be assigned to this string.

Returns

Result of the export operation with the following error codes:

  • 0: Success.
  • 6001: Invalid parameters.
  • 6002: Disk cache IO error.
  • 6003: Failed to serialize a database element.
  • 6004: Failed to export snapshot.
  • >= 6005: Unspecified error.

virtual neuraylib::​IImport_result* mi::​bridge::​IBridge_snapshot_context::import_snapshot( neuraylib::​ITransaction* transaction, const char* snapshot_id, const IMap* importer_options = 0) [pure virtual]

Imports a previously saved snapshot from the disk cache. In the case of incremental snapshots the base snapshot must be loaded first, and then each incremental snapshot in sequence.

Currently no importer options are supported.

Parameters

transaction
The transaction into which to import the elements.
snapshot_id
The ID of the snapshot to import.
importer_options
Optional importer options.

Returns

Result of the import operation with the following error codes:

  • 0: Success.
  • 4001: Invalid parameters.
  • 4002: Failed to open the disk cache.
  • 4003: There is no snapshot with the given ID in this disk cache.
  • 4004: Snapshot has an incompatible Bridge version.
  • 4005: Failed to import the snapshot elements.
  • >= 4006: Unspecified error.

virtual Sint32 mi::​bridge::​IBridge_snapshot_context::remove_snapshot( const char* snapshot_id) [pure virtual]

Removes a snapshot from the disk cache.

Parameters

snapshot_id
The ID of the snapshot to remove.

Returns

  • 0: Success.
  • -1: Invalid parameters.
  • -2: Failed to open the disk cache.
  • -3: There is no snapshot with the given ID in this disk cache.
  • <= -4: Unspecified error