Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::IDatabase Class Referenceabstract

This interface is used to interact with the distributed database. More...

Inheritance diagram for mi::neuraylib::IDatabase:
mi::base::Interface_declare< 0x814ae637, 0xde35, 0x4870, 0x8e, 0x5b, 0x7e, 0x28, 0x9d, 0x30, 0xfb, 0x82 > mi::base::IInterface

Public Member Functions

virtual IScopeget_global_scope () const =0
 Returns the global scope which is the root of a tree of scopes. More...
 
virtual IScopecreate_scope (IScope *parent, Uint8 privacy_level=0, bool temp=false)=0
 This operation is not supported. More...
 
virtual IScopeget_scope (const char *id) const =0
 Looks up and returns a scope with a given ID. More...
 
virtual Sint32 remove_scope (const char *id) const =0
 This operation is not supported. More...
 
virtual void lock (Uint32 lock_id)=0
 This operation is not supported. More...
 
virtual Sint32 unlock (Uint32 lock_id)=0
 This operation is not supported. More...
 
virtual IScopecreate_or_get_named_scope (const char *name, IScope *parent=0, Uint8 privacy_level=0)=0
 This operation is not supported. More...
 
virtual IScopeget_named_scope (const char *name) const =0
 This operation is not supported. More...
 
virtual void garbage_collection ()=0
 Triggers a synchronous garbage collection run. More...
 

Additional Inherited Members

- Public Types inherited from mi::base::Interface_declare< 0x814ae637, 0xde35, 0x4870, 0x8e, 0x5b, 0x7e, 0x28, 0x9d, 0x30, 0xfb, 0x82 >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
 Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
IID
 Declares the interface ID (IID) of this interface. More...
 
- Static Public Member Functions inherited from mi::base::Interface_declare< 0x814ae637, 0xde35, 0x4870, 0x8e, 0x5b, 0x7e, 0x28, 0x9d, 0x30, 0xfb, 0x82 >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

This interface is used to interact with the distributed database.

Note
The MDL SDK currently supports only one scope, the global scope. It also supports only one transaction at time.

Member Function Documentation

virtual IScope* mi::neuraylib::IDatabase::create_or_get_named_scope ( const char *  name,
IScope parent = 0,
Uint8  privacy_level = 0 
)
pure virtual

This operation is not supported.

virtual IScope* mi::neuraylib::IDatabase::create_scope ( IScope parent,
Uint8  privacy_level = 0,
bool  temp = false 
)
pure virtual

This operation is not supported.

virtual void mi::neuraylib::IDatabase::garbage_collection ( )
pure virtual

Triggers a synchronous garbage collection run.

The method sweeps through the entire database and removes all database elements which have been marked for removal and are no longer referenced. Note that it is not possible to remove database elements if there are open transactions in which such an element is still referenced.

To mark an element for removal use mi::neuraylib::ITransaction::remove().

virtual IScope* mi::neuraylib::IDatabase::get_global_scope ( ) const
pure virtual

Returns the global scope which is the root of a tree of scopes.

Returns
The global scope which is guaranteed to exist after startup of the system.
virtual IScope* mi::neuraylib::IDatabase::get_named_scope ( const char *  name) const
pure virtual

This operation is not supported.

virtual IScope* mi::neuraylib::IDatabase::get_scope ( const char *  id) const
pure virtual

Looks up and returns a scope with a given ID.

Parameters
idThe ID of the scope as returned by mi::neuraylib::IScope::get_id().
Returns
The found scope or NULL if no such scope exists.
virtual void mi::neuraylib::IDatabase::lock ( Uint32  lock_id)
pure virtual

This operation is not supported.

virtual Sint32 mi::neuraylib::IDatabase::remove_scope ( const char *  id) const
pure virtual

This operation is not supported.

virtual Sint32 mi::neuraylib::IDatabase::unlock ( Uint32  lock_id)
pure virtual

This operation is not supported.