Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomjobtk.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
5#ifndef IDOMJOBTK_H
6#define IDOMJOBTK_H
7
8#include <edl/edltypes.h>
9#include <edl/edlqname.h>
10#include <edl/edlgeom.h>
11#include <edl/idomnode.h>
12#include <edl/idomresources.h>
13#include <edl/iedlfactory.h>
14#include <edl/edlvector.h>
15
17
18#define edlobj2IDOMJobTkNode(src) edl_cast((IDOMJobTkNode *)NULL, src)
19class IDOMJobTkNode;
21
22#define edlobj2IDOMJobTkValue(src) edl_cast((IDOMJobTkValue *)NULL, src)
23class IDOMJobTkValue;
25
26#define edlobj2IDOMJobTkContent(src) edl_cast((IDOMJobTkContent *)NULL, src)
29
30#define edlobj2IDOMJobTk(src) edl_cast((IDOMJobTk *)NULL, src)
31class IDOMJobTk;
33
34#define PSK_NAMESPACE "http://schemas.microsoft.com/windows/2003/08/printing/printschemakeywords"
35#define PSF_NAMESPACE "http://schemas.microsoft.com/windows/2003/08/printing/printschemaframework"
36#define XSD_NAMESPACE "http://www.w3.org/2001/XMLSchema"
37#define XSI_NAMESPACE "http://www.w3.org/2001/XMLSchema-instance"
38#define MAKO_NAMESPACE "http://schemas.globalgraphics.com/mako/2018"
39#define EDL_PIPELINE_NAMESPACE "http://schemas.globalgraphics.com/edl/pipeline/2008"
40
55
65{
66#define IDOMJobTkOwnerClassID 0xc67ada74, 0x105b455c, 0xbacd2c3b, 0xa3381713
67 public:
68
73 static const CClassID &classID()
74 {
76 return id;
77 }
78
83 virtual IDOMJobTkPtr getJobTicket() const = 0;
84
89 virtual void setJobTicket(const IDOMJobTkPtr &ptrJobTicket) = 0;
90
91};
92
94#define edlobj2IDOMJobTkOwner(src) edl_cast((IDOMJobTkOwner *)NULL, src)
95
114{
115#define IDOMJobTkGenericNodeClassID 0xAF6FD278, 0xC7C848CA, 0xA85C88FD, 0xD2773FD5
116 public:
121 static const CClassID &classID()
122 {
124 return id;
125 }
126
131 class Data : public CClassParams
132 {
133 public:
135 };
136
141 virtual EDLQName getQName() const = 0;
142
148 virtual void addAttribute(const EDLQName &qname, const EDLSysString &value) = 0;
149
154 virtual uint32 getNumAttributes() const = 0;
155
162 virtual EDLSysString getAttributeAtIndex(uint32 index, EDLQName &qname) const = 0;
163};
165#define edlobj2IDOMJobTkGenericNode(src) edl_cast((IDOMJobTkGenericNode *)NULL, src)
166
177{
178#define IDOMJobTkGenericCharacterDataClassID 0xA9A7CE3E, 0x0927418C, 0xBAFAA86C, 0xD49324DC
179 public:
184 static const CClassID &classID()
185 {
187 return id;
188 }
189
194 class Data : public CClassParams
195 {
196 public:
198 };
199
204 virtual EDLString getCharacterData() const = 0;
205
210 virtual void setCharacterData(const EDLString &charData) = 0;
211
216 virtual void appendCharacterData(const EDLString &charData) = 0;
217};
219#define edlobj2IDOMJobTkGenericCharacterData(src) edl_cast((IDOMJobTkGenericCharacterData *)NULL, src)
220
227{
228#define IDOMJobTkNodeClassID 0x2AE77EA2, 0x14E111DC, 0x83140800, 0x200C9A66
229 public:
230
251
256 class Data : public CClassParams
257 {
258 public:
261 };
262
267 static const CClassID &classID()
268 {
270 return id;
271 }
272
282 virtual void setQName(const EDLQName &qname) = 0;
283
288 virtual EDLQName getQName() const = 0;
289
294 virtual EDLString getQNameAsString() const = 0;
295
300 virtual void setJobTkNodeType(eDOMJobTkNodeType nodeType) = 0;
301
307
312 virtual IDOMJobTkContentPtr getJobTkContent() = 0;
313
318 virtual IDOMJobTkValuePtr getChildValue() = 0;
319
327 virtual IDOMJobTkNodePtr findChild(eDOMJobTkNodeType nodeType, const EDLString &name, const EDLSysString &nmspace) = 0;
328
335 virtual IDOMJobTkNodePtr findChild(eDOMJobTkNodeType nodeType, const EDLQName &qname) = 0;
336
337};
338
339
346{
347#define IDOMJobTkValueClassID 0x04EC0CCA, 0x151A11DC, 0x83140800, 0x200C9A66
348 public:
349
354 class Data : public CClassParams
355 {
356 public:
358 };
359
364 static const CClassID &classID()
365 {
367 return id;
368 }
369
374 virtual bool isValid() const = 0;
375
380 virtual void setValue(const PValue &value) = 0;
381
386 virtual PValue getValue() const = 0;
387};
388
389
396{
397#define IDOMJobTkContentClassID 0xfde5a46a, 0xfd474247, 0x99d7957d, 0x9a185393
398 public:
399
404 class Data : public CClassParams
405 {
406 public:
410 double version;
411 bool modified;
412 };
413
418 static const CClassID &classID()
419 {
421 return id;
422 }
423
428 virtual bool isValid() const = 0;
429
436 virtual void setLevel(eDOMJobTkLevel level) = 0;
437
444 virtual eDOMJobTkLevel getLevel() const = 0;
445
450 virtual void setVersion(double version) = 0;
451
456 virtual double getVersion() const = 0;
457
462 virtual void setModified(bool modified) = 0;
463
468 virtual bool getModified() const = 0;
469
474 virtual IDOMJobTkNodePtr getRootNode() = 0;
475
480 virtual IEDLNamespaceCollectionEnumPtr getNamespaceCollectionEnum() = 0;
481
487
491 virtual void clearNamespaceCollection() = 0;
492
505 virtual void addNamespace(const IEDLNamespacePtr &ptrNamespace) = 0;
506
520 virtual IEDLNamespacePtr addNamespace(const EDLSysString &prefix, const EDLSysString &name) = 0;
521
527 virtual IEDLNamespacePtr findNamespaceByName(const EDLSysString &nmspace) = 0;
528
534 virtual IEDLNamespacePtr findNamespaceByPrefix(const EDLSysString &prefix) = 0;
535
544 virtual void addStandardNamespaces() = 0;
545
552 virtual EDLQName convertToQName(const EDLString &name, const EDLSysString &nmspace) = 0;
553
561 virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLString &name, const EDLSysString &nmspace) = 0;
562
569 virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLQName &qname) = 0;
570
576 virtual bool loadFromFile(const EDLSysString &filename) = 0;
577
583 virtual bool loadFromStream(const IRAInputStreamPtr &xmlStream) = 0;
584
590 virtual bool loadFromInitString(const EDLSysString & sInit) = 0;
591
603 static EDL_API EDLSysString addToInitString(const EDLSysString &paramName, const EDLSysString &initString, const EDLSysString &paramValue = "", bool overwrite = true);
604
611 virtual void addParameterInit(const IEDLNamespacePtr &parameterNamespace, const EDLSysString &parameterName, const PValue &value) = 0;
612
625 virtual void addFeature(const IEDLNamespacePtr &featureNamespace, const EDLSysString &featureName, const EDLQName &option) = 0;
626
627};
628
629
640class IDOMJobTk : public IEDLObject
641{
642#define IDOMJobTkClassID 0x2AE77EA3, 0x14E111DC, 0x83140800, 0x200C9A66
643 public:
644
649 static const CClassID &classID()
650 {
651 static CClassID id(IDOMJobTkClassID);
652 return id;
653 }
654
659 virtual void setOwner (IDOMJobTkOwnerPtr &ptrOwner) = 0;
660
665 virtual IDOMJobTkOwnerPtr getOwner() const = 0;
666
671 virtual void setContent (const IDOMJobTkContentPtr &ptrContent) = 0;
672
677 virtual IDOMJobTkContentPtr getContent() const = 0;
678
686 virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLString &name, const EDLSysString &nmspace) = 0;
687
694 virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLQName &qname) = 0;
695
703 virtual bool getCombinedContent(IDOMJobTkContentPtr &ptrCombinedContent, bool addDefaultJobTk = false) = 0;
704};
705
706EDL_API IDOMJobTkPtr getJobTicket(const IDOMNodePtr &ptrNode);
707
708
715EDL_API IDOMJobTkPtr cloneJobTkTree(IDOMJobTkPtr &jobTk, IEDLClassFactory *factory);
716
717
724EDL_API IDOMJobTkContentPtr cloneJobTkContentTree(IDOMJobTkContentPtr &jobTkContent, IEDLClassFactory *factory);
725
726
728
729#endif /* IDOMJOBTK_H */
730
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
Implementation of qualified name class.
Definition edlqname.h:89
double version
Version of the JobTicket content.
Definition idomjobtk.h:410
Data()
Definition idomjobtk.h:407
eDOMJobTkLevel level
The level of the JobTicket content (DocumentSequence, FixedDocument, Fixedpage).
Definition idomjobtk.h:409
bool modified
User should set this flag if job ticked content was modified.
Definition idomjobtk.h:411
Represents the content element of the JobTicket.
Definition idomjobtk.h:396
virtual void setModified(bool modified)=0
Sets the "modified" flag.
virtual void addFeature(const IEDLNamespacePtr &featureNamespace, const EDLSysString &featureName, const EDLQName &option)=0
Adds Feature/Option elements to the JobTicket in the format:
virtual void addParameterInit(const IEDLNamespacePtr &parameterNamespace, const EDLSysString &parameterName, const PValue &value)=0
Adds a <psf:ParameterInit> element to the JobTicket.
virtual bool loadFromStream(const IRAInputStreamPtr &xmlStream)=0
Loads a JobTicket from an XML stream.
virtual void clearNamespaceCollection()=0
Clears the collection of namespaces.
virtual void setLevel(eDOMJobTkLevel level)=0
Sets the level of the JobTicket content, corresponding to DocumentSequence, FixedDocument or FixedPag...
virtual double getVersion() const =0
Retrieves the version of the JobTicket content.
virtual void setVersion(double version)=0
Sets the version of the JobTicket content.
virtual IEDLNamespacePtr addNamespace(const EDLSysString &prefix, const EDLSysString &name)=0
Appends a namespace to the collection of namespaces. Duplicate namespaces are allowed,...
virtual IEDLNamespacePtr findNamespaceByName(const EDLSysString &nmspace)=0
Finds a namespace in the namespace collection by name.
virtual EDLQName convertToQName(const EDLString &name, const EDLSysString &nmspace)=0
Constructs a qualified name based on a name and namespace provided. The namespace must be present in ...
virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLString &name, const EDLSysString &nmspace)=0
Searches through the node's direct child set for a node matching the provided node type,...
static EDL_API EDLSysString addToInitString(const EDLSysString &paramName, const EDLSysString &initString, const EDLSysString &paramValue="", bool overwrite=true)
Static helper to add a key/value pair to an initialisation string. Takes care of escaping as required...
virtual IEDLNamespacePtr findNamespaceByPrefix(const EDLSysString &prefix)=0
Finds a namepace in the namespace collection by prefix.
virtual bool loadFromFile(const EDLSysString &filename)=0
Loads a JobTicket from a named XML file.
virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLQName &qname)=0
Searches through the node's direct child set for a node matching provided the node type and qualified...
virtual bool loadFromInitString(const EDLSysString &sInit)=0
Fills the JobTicket using input from the initialisation string.
virtual bool isValid() const =0
Returns an indicator of the validity of the JobTicket content-that is, whether or not the JobTicket c...
virtual eDOMJobTkLevel getLevel() const =0
Retrieves the level of the JobTicket content, corresponding to DocumentSequence, FixedDocument or Fix...
virtual IDOMJobTkNodePtr getRootNode()=0
Retrieves the root node of the JobTicket content.
static const CClassID & classID()
Retrieves the class id of IDOMJobTkContent.
Definition idomjobtk.h:418
virtual void addNamespace(const IEDLNamespacePtr &ptrNamespace)=0
Appends a namespace to the collection of namespaces. Duplicate namespaces are allowed,...
virtual IEDLNamespaceCollectionEnumPtr getNamespaceCollectionEnum()=0
Retrieves the enumerator of the namespace collection.
virtual uint32 getNamespacesCount()=0
Retrieves the number of namespaces in the namespace collection.
virtual void addStandardNamespaces()=0
Appends standard print ticket namespaces to the JobTicket content The following standard namespaces a...
virtual bool getModified() const =0
Retrieves the value of the "modified" flag.
Initialization data.
Definition idomjobtk.h:195
EDLString charData
Definition idomjobtk.h:197
Interface to the IDOMJobTkGenericCharacterData node.
Definition idomjobtk.h:177
virtual EDLString getCharacterData() const =0
Get the node's CDATA.
static const CClassID & classID()
Retrieves the class id of IDOMJobTkGenericNode.
Definition idomjobtk.h:184
virtual void setCharacterData(const EDLString &charData)=0
Set the node's CDATA.
virtual void appendCharacterData(const EDLString &charData)=0
Append to the node's CDATA.
Initialization data.
Definition idomjobtk.h:132
EDLQName name
Definition idomjobtk.h:134
Interface to the IDOMJobTkGenericNode node.
Definition idomjobtk.h:114
virtual void addAttribute(const EDLQName &qname, const EDLSysString &value)=0
Adds an attribute.
static const CClassID & classID()
Retrieves the class id of IDOMJobTkGenericNode.
Definition idomjobtk.h:121
virtual EDLQName getQName() const =0
Retrieves the node qname.
virtual EDLSysString getAttributeAtIndex(uint32 index, EDLQName &qname) const =0
Get an attribute at the given index.
virtual uint32 getNumAttributes() const =0
Gets the number of attributes.
Represents an EDL JobTicket.
Definition idomjobtk.h:641
static const CClassID & classID()
Retrieves the class id of IDOMJobTk.
Definition idomjobtk.h:649
virtual IDOMJobTkOwnerPtr getOwner() const =0
Retrieves the owner node, that is, the level of the DOMtree with which the JobTicket is associated.
virtual bool getCombinedContent(IDOMJobTkContentPtr &ptrCombinedContent, bool addDefaultJobTk=false)=0
Generate combined JobTicket content. Combined content is generated by combining the current JobTicket...
virtual IDOMJobTkContentPtr getContent() const =0
Retrieves the JobTicket content node.
virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLQName &qname)=0
Searches through the node's direct child set for the node type and qname matching the information pro...
virtual void setContent(const IDOMJobTkContentPtr &ptrContent)=0
Sets the JobTicket content node.
virtual void setOwner(IDOMJobTkOwnerPtr &ptrOwner)=0
Sets the owner node, that is, the level of the DOMtree with which the JobTicket is associated.
virtual IDOMJobTkNodePtr findChild(IDOMJobTkNode::eDOMJobTkNodeType nodeType, const EDLString &name, const EDLSysString &nmspace)=0
Searches through the node's direct child set for the node type, name and namespace matching the infor...
Initialization data.
Definition idomjobtk.h:257
eDOMJobTkNodeType jobTkNodeType
Job Ticket node type.
Definition idomjobtk.h:260
EDLQName name
Name of the node.
Definition idomjobtk.h:259
Represents a Job Ticket Node.
Definition idomjobtk.h:227
virtual IDOMJobTkNodePtr findChild(eDOMJobTkNodeType nodeType, const EDLQName &qname)=0
Searches through the node's direct child set for a node matching the provided node type and qname.
virtual eDOMJobTkNodeType getJobTkNodeType()=0
Retrieves the node type.
virtual IDOMJobTkValuePtr getChildValue()=0
If JobTicket node has child with type eDOMJobTkPTNodeValue then returns this child,...
virtual IDOMJobTkNodePtr findChild(eDOMJobTkNodeType nodeType, const EDLString &name, const EDLSysString &nmspace)=0
Searches through the node's direct child set for a node matching the provided node type,...
virtual EDLString getQNameAsString() const =0
Retrieves the full qualified name of the node as a string.
virtual void setQName(const EDLQName &qname)=0
Sets the qualified name of the node.
virtual void setJobTkNodeType(eDOMJobTkNodeType nodeType)=0
Sets the node type.
virtual EDLQName getQName() const =0
Retrieves the node qname.
static const CClassID & classID()
Retrieves the class id of IDOMJobTk.
Definition idomjobtk.h:267
virtual IDOMJobTkContentPtr getJobTkContent()=0
Returns the JobTicket content of this node, by following up the parent node chain.
Interface to the IDOMJobTkOwner node.
Definition idomjobtk.h:65
static const CClassID & classID()
Retrieves the class id of IDOMJobTkOwner.
Definition idomjobtk.h:73
virtual IDOMJobTkPtr getJobTicket() const =0
Retrieves the JobTicket held by this node.
virtual void setJobTicket(const IDOMJobTkPtr &ptrJobTicket)=0
Sets the JobTicket for the node.
Initialization data.
Definition idomjobtk.h:355
PValue value
Definition idomjobtk.h:357
Represents a Job Ticket value element.
Definition idomjobtk.h:346
virtual PValue getValue() const =0
Retrieves the node value.
static const CClassID & classID()
Retrieves the class id of IDOMJobTk.
Definition idomjobtk.h:364
virtual void setValue(const PValue &value)=0
Sets the node value.
virtual bool isValid() const =0
Returns an indicator of the validity of the data.
Abstract class providing the interface to basic DOM node functionality. IDOMNode is the base class fo...
Definition idomnode.h:139
EDL Factory Interface allows one part of the EDL infrastructure to register class creation methods id...
Definition iedlfactory.h:31
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
Stores a "property" value that is tagged with an enumeration value that indicates the underlying type...
Definition edlproperty.h:31
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
IEDLNamespace and EDLQName classes.
std::string EDLSysString
Definition edlstring.h:158
std::wstring EDLString
Definition edlstring.h:165
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
Simple template vector class for general use.
eDOMJobTkNodeType
DOMJobTk node (Property, Feature, Option, InitParam, ScoredProperty, ParamRef)
Definition idomjobtk.h:236
eDOMJobTkLevel
DOMJobTk Job Ticket Level (docseq, doc, page)
Definition idomjobtk.h:46
@ eDOMJobTkPTNodeParameterDef
Definition idomjobtk.h:242
@ eDOMJobTkPTNodeParameterRef
Definition idomjobtk.h:241
@ eDOMJobTkPTNodeOption
Definition idomjobtk.h:245
@ eDOMJobTkPTNodePrintCapabilities
Definition idomjobtk.h:239
@ eDOMJobTkPTNodeScoredProperty
Definition idomjobtk.h:246
@ eDOMJobTkPJLNodeValue
Definition idomjobtk.h:249
@ eDOMJobTkPJLNodeName
Definition idomjobtk.h:248
@ eDOMJobTkPTNodeValue
Definition idomjobtk.h:247
@ eDOMJobTkPTNodeParameterInit
Definition idomjobtk.h:240
@ eDOMJobTkPTNodeProperty
Definition idomjobtk.h:243
@ eDOMJobTkPTNodeFeature
Definition idomjobtk.h:244
@ eDOMJobTkPTNodePrintTicket
Definition idomjobtk.h:238
@ eDOMJobTkNodeInValid
Definition idomjobtk.h:237
@ eDOMJobTkLevelJob
The document sequence level of JobTicket.
Definition idomjobtk.h:49
@ eDOMJobTkLevelDoc
The document level of JobTicket.
Definition idomjobtk.h:50
@ eDOMJobTkLevelDefault
The default level of JobTicket.
Definition idomjobtk.h:48
@ eDOMJobTkLevelPage
The page level of JobTicket.
Definition idomjobtk.h:51
@ eDOMJobTkLevelNotValid
Level value not initialized or invalid.
Definition idomjobtk.h:47
@ eDOMJobTkLevelCnt
The number of levels.
Definition idomjobtk.h:52
#define IDOMJobTkNodeClassID
Definition idomjobtk.h:228
#define IDOMJobTkContentClassID
Definition idomjobtk.h:397
EDL_API IDOMJobTkContentPtr cloneJobTkContentTree(IDOMJobTkContentPtr &jobTkContent, IEDLClassFactory *factory)
Clone the whole JobTicket content tree.
EDL_API IDOMJobTkPtr getJobTicket(const IDOMNodePtr &ptrNode)
EDL_API IDOMJobTkPtr cloneJobTkTree(IDOMJobTkPtr &jobTk, IEDLClassFactory *factory)
Clone the JobTicket and the whole JobTicket content tree.
#define IDOMJobTkGenericCharacterDataClassID
Definition idomjobtk.h:178
#define IDOMJobTkClassID
Definition idomjobtk.h:642
#define IDOMJobTkGenericNodeClassID
Definition idomjobtk.h:115
#define IDOMJobTkOwnerClassID
Definition idomjobtk.h:66
#define IDOMJobTkValueClassID
Definition idomjobtk.h:347
IDOMResources interface.
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211