Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomcatalog.h
Go to the documentation of this file.
1/*
2* Copyright (C) 2007-2021 Global Graphics Software Ltd. All rights reserved.
3*/
4
5#ifndef __EDLIDOMCATALOG_H__
6#define __EDLIDOMCATALOG_H__
7
8#include <edl/edltypes.h>
9#include <edl/edlstring.h>
10#include <edl/iedlobject.h>
11#include <edl/idomid.h>
12#include <edl/idomnode.h>
13
15
23class IDOMCatalog : public IEDLObject
24{
25#define IDOMCatalogClassID 0xA4109342, 0x680849b3, 0xA42D5AF3, 0x8D59ADAF
26public:
31 static const CClassID &classID()
32 {
34 return id;
35 }
36
42 virtual DOMid createNewDOMid(const EDLSysString &uri) = 0;
43
51 virtual DOMid createNewDOMid(uint32 id1, uint32 id2 = 0) = 0;
52
59 virtual bool registerObject(DOMid id, const IEDLObjectPtr &ptrObject) = 0;
60
68 virtual bool registerNumbers(DOMid id, uint32 id1, uint32 id2) = 0;
69
75 virtual bool unregisterObject(DOMid id) = 0;
76
83 virtual bool getObject(DOMid id, IEDLObjectPtr &ptrObject) = 0;
84
91 virtual bool getURI(DOMid id, EDLSysString &uri) = 0;
92
100 virtual DOMid getIdByURI(const EDLSysString &uri, bool createIfNotExist = false) = 0;
101
111 virtual DOMid getIdByNumbers(uint32 id1, uint32 id2 = 0, bool createIfNotExist = false) = 0;
112
118 virtual DOMid getIdByIndex(uint32 index) const = 0;
119
124 virtual uint32 getCount() const = 0;
125};
126
128#define edlobj2IDOMCatalog(src) edl_cast((IDOMCatalog *)NULL, src)
129
131
132#endif /* __EDLIDOMCATALOG_H__ */
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
IDOMCatalog interface The IDOMCatalog serves as a catalog for addressable DOM nodes,...
Definition idomcatalog.h:24
virtual bool registerNumbers(DOMid id, uint32 id1, uint32 id2)=0
Registers the number pait in the catalog, under the ID specified by id.
virtual bool registerObject(DOMid id, const IEDLObjectPtr &ptrObject)=0
Registers the IEDLObject specified by ptrObject in the catalog, under the ID specified by id.
virtual DOMid getIdByNumbers(uint32 id1, uint32 id2=0, bool createIfNotExist=false)=0
Retrieve the DOM ID of a registered resource by using the integer identifier(s) used to create the DO...
virtual uint32 getCount() const =0
Retrieve count of registered resource objects.
virtual bool getURI(DOMid id, EDLSysString &uri)=0
Retrieves the URI of a registered object by using its DOM ID.
static const CClassID & classID()
Retrieves the class id of IDOMCatalog.
Definition idomcatalog.h:31
virtual DOMid createNewDOMid(uint32 id1, uint32 id2=0)=0
Creates a new DOM id based on an integer identifier.
virtual bool unregisterObject(DOMid id)=0
Unregisters the IEDLObject currently registered under the specified ID in the catalog.
virtual DOMid createNewDOMid(const EDLSysString &uri)=0
Creates a new DOM id from a URI string.
virtual bool getObject(DOMid id, IEDLObjectPtr &ptrObject)=0
Retrieves an IEDLObject by using its DOM id.
virtual DOMid getIdByURI(const EDLSysString &uri, bool createIfNotExist=false)=0
Retrieve the DOM ID of a registered resource by using its URI, optionally creating it.
virtual DOMid getIdByIndex(uint32 index) const =0
Retrieve the DOM ID of a registered resource by its index in the internal vector.
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
EDLString and EDLSysString classes and associated EDL string manipulation functions.
std::string EDLSysString
Definition edlstring.h:158
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
EDL::uint64 DOMid
Type used to uniquely idenitify a DOM node.
Definition idomid.h:17
#define IDOMCatalogClassID
Definition idomcatalog.h:25
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211