Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
ifilespec.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2008-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
10
11#ifndef IFILESPEC_H
12#define IFILESPEC_H
13
14#include <edl/edltypes.h>
15#include <edl/edlstring.h>
16#include <edl/iedlobject.h>
17#include <edl/edlstream.h>
18#include <edl/edlvector.h>
19
21
26class IFileSpec : public IEDLObject
27{
28 public:
29
41
46 virtual eFileSpecType getFileSpecType() const = 0;
47};
48
49
51#define edlobj2IFileSpec(src) edl_cast((IFileSpec *)NULL, src)
53
59{
60#define IFileSpecAsEmbeddedDataClassID 0x363ca3a4, 0xa2b548e1, 0xb4246b67, 0xf7a5b7dc
61 public:
62
69 typedef enum
70 {
77 // user if the PDF processor has the cryptographic filter needed to decrypt the document.
80 // schema associated with a metadata stream).
83
101
106 static const CClassID &classID()
107 {
109 return id;
110 };
111
117 virtual bool getFileName(EDLSysString &fileName) const = 0;
118
124 virtual bool setFileName(const EDLSysString &fileName) = 0;
125
131 virtual bool getDescription(EDLSysString &description) const = 0;
132
138 virtual bool setDescription(const EDLSysString &description) = 0;
139
145 virtual bool getMimeType(EDLSysString &mimeType) const = 0;
146
152 virtual bool setMimeType(const EDLSysString &mimeType) = 0;
153
159 virtual bool getCreationDate(EDLSysString &date) const = 0;
160
166 virtual bool setCreationDate(const EDLSysString &date) = 0;
167
173 virtual bool getModificationDate(EDLSysString &date) const = 0;
174
180 virtual bool setModificationDate(const EDLSysString &date) = 0;
181
186 virtual uint64 getFileSize() const = 0;
187
193 virtual bool setFileSize(uint64 fileSize) = 0;
194
200 virtual bool getChecksum(EDLSysString &checksum) const = 0;
201
207 virtual bool setChecksum(const EDLSysString &checksum) = 0;
208
214 virtual bool getFileDataStream(IRAInputStreamPtr &stream) const = 0;
215
221 virtual bool setFileDataStream(const IRAInputStreamPtr &stream) = 0;
222
228
233 virtual void setAFRelationship(eAFRelationship afRelationship) = 0;
234
235};
236
238#define edlobj2IFileSpecAsEmbeddedData(src) edl_cast((IFileSpecAsEmbeddedData *)NULL, src)
239
241
243{
244#define IFileSpecAsFileReferenceClassID 0xa5f832aa, 0x385544ad, 0xae875b19, 0x23204e25
245 public:
246
247 class Data : public CClassParams
248 {
249 public:
251 };
252
256 static const CClassID &classID()
257 {
259 return id;
260 };
261
267 virtual bool getFileSpec (EDLSysString &strFileSpec) const = 0;
268
274 virtual bool setFileSpec (const EDLSysString &strFileSpec) = 0;
275
276
277
304 static EDL_API bool resolveToURI(EDLSysString &strUri, const EDLSysString &strFileSpec, bool &resolved, const EDLString &strDocumentDir, bool allowNetworkLookup = false);
305
312 static EDL_API bool convertURIToFileSpecString(EDLSysString &strFileSpec, const EDLSysString &strUri);
313
314};
316#define edlobj2IFileSpecAsFileReference(src) edl_cast((IFileSpecAsFileReference *)NULL, src)
317
318
320{
321#define IFileSpecAsUrlClassID 0x00f5e473, 0x571c4A5B, 0xae78305a, 0xdB714e41
322 public:
323
324 class Data : public CClassParams
325 {
326 public:
328 };
329
334 static const CClassID &classID()
335 {
337 return id;
338 };
339
343 virtual EDLSysString getUrl() const = 0;
344
348 virtual void setUrl(const EDLSysString &url) = 0;
349};
351#define edlobj2IFileSpecAsUrl(src) edl_cast((IFileSpecAsUrl *)NULL, src)
352
354
355#endif // IFILESPEC_H
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
Definition edlvector.h:30
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
EDLSysString fileName
Definition ifilespec.h:91
Data()
Definition ifilespec.h:90
IRAInputStreamPtr fileDataStream
Definition ifilespec.h:98
eAFRelationship afRelationship
Definition ifilespec.h:99
EDLSysString creationDate
Definition ifilespec.h:95
EDLSysString checksum
Definition ifilespec.h:94
EDLSysString mimeType
Definition ifilespec.h:93
EDLSysString modificationDate
Definition ifilespec.h:96
EDLSysString description
Definition ifilespec.h:92
uint64 fileSize
Definition ifilespec.h:97
Class representing embedded file data.
Definition ifilespec.h:59
virtual bool getFileName(EDLSysString &fileName) const =0
Retrieves the file name.
virtual bool getFileDataStream(IRAInputStreamPtr &stream) const =0
Retrieves the stream associated with the file data.
virtual bool setCreationDate(const EDLSysString &date)=0
Sets the annotation creation date.
virtual bool getCreationDate(EDLSysString &date) const =0
Retrieves the date and time when the annotation was created.
static const CClassID & classID()
Retrieves class id of IFileSpecAsEmbeddedData.
Definition ifilespec.h:106
virtual bool getDescription(EDLSysString &description) const =0
Retrieves the description.
virtual void setAFRelationship(eAFRelationship afRelationship)=0
Sets the AFRelationship associated with the file data.
virtual bool getModificationDate(EDLSysString &date) const =0
Retrieves the date and time when the annotation was most recently modified.
virtual bool setFileSize(uint64 fileSize)=0
Sets the file size.
virtual bool setMimeType(const EDLSysString &mimeType)=0
Sets the file mime type.
virtual bool getChecksum(EDLSysString &checksum) const =0
Retrieves the checksum for the file data.
virtual uint64 getFileSize() const =0
Retrieves the file size.
virtual bool setFileName(const EDLSysString &fileName)=0
Sets the file name.
virtual bool getMimeType(EDLSysString &mimeType) const =0
Retrieves the file mime type.
virtual bool setFileDataStream(const IRAInputStreamPtr &stream)=0
Sets the stream associated with the file data.
virtual bool setChecksum(const EDLSysString &checksum)=0
Sets the checksum for the file data.
virtual bool setModificationDate(const EDLSysString &date)=0
Sets the annotation modification date.
virtual eAFRelationship getAFRelationship()=0
Retrieves the AFRelationship associated with the file data.
eAFRelationship
This is currently a PDF-specific feature used when producing PDF/A-3 output. AFRelationship specifies...
Definition ifilespec.h:70
@ eAFRData
File specification represents information used to derive a visual presentation.
Definition ifilespec.h:73
@ eAFREncryptedPayload
File specification is an encrypted payload document that should be displayed to the.
Definition ifilespec.h:76
@ eAFRUnspecified
Relationship is not known or cannot be described using one of the other values.
Definition ifilespec.h:81
@ eAFRSupplement
File specification represents a supplemental representation of the original source or data.
Definition ifilespec.h:75
@ eAFRNone
Default; no relationship.
Definition ifilespec.h:71
@ eAFRSource
File specification is the original source material for the associated content.
Definition ifilespec.h:72
@ eAFRFormData
File specification is the data associated with a PDF AcroForm.
Definition ifilespec.h:78
@ eAFRAlternative
File specification is an alternative representation of content.
Definition ifilespec.h:74
@ eAFRSchema
File specification is a schema definition for the associated object (e.g., an XML.
Definition ifilespec.h:79
virtual bool setDescription(const EDLSysString &description)=0
Sets the description.
Definition ifilespec.h:248
EDLSysString strFileSpec
Definition ifilespec.h:250
Definition ifilespec.h:243
virtual bool setFileSpec(const EDLSysString &strFileSpec)=0
Gets file specification string.
static EDL_API bool convertURIToFileSpecString(EDLSysString &strFileSpec, const EDLSysString &strUri)
Static utility function to convert a file URI to a filespec string.
virtual bool getFileSpec(EDLSysString &strFileSpec) const =0
Sets file specification string.
static EDL_API bool resolveToURI(EDLSysString &strUri, const EDLSysString &strFileSpec, bool &resolved, const EDLString &strDocumentDir, bool allowNetworkLookup=false)
Static utility function that attempts to resolve a file specification string to a URI.
static const CClassID & classID()
Retrieves class id of IFileSpecAsFileReference.
Definition ifilespec.h:256
Definition ifilespec.h:325
EDLSysString url
Definition ifilespec.h:327
Definition ifilespec.h:320
virtual void setUrl(const EDLSysString &url)=0
Sets the URI.
virtual EDLSysString getUrl() const =0
Gets the URI.
static const CClassID & classID()
Retrieves class id of IFileSpecAsUrlClassID.
Definition ifilespec.h:334
Class representing the specification for files stored or referenced in a PDF.
Definition ifilespec.h:27
eFileSpecType
Types of file specification for file references in PDF.
Definition ifilespec.h:35
@ eFileSpecEmbedded
Definition ifilespec.h:37
@ eFileSpecExternal
External file specification.
Definition ifilespec.h:36
@ eFileSpecUrl
URL-style file specification.
Definition ifilespec.h:39
virtual eFileSpecType getFileSpecType() const =0
Retrieves the file spec type.
#define _BEGIN_EDL_NAMESPACE
Definition edlnamespaces.h:75
#define _END_EDL_NAMESPACE
Definition edlnamespaces.h:76
EDLString and EDLSysString classes and associated EDL string manipulation functions.
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...
#define EDL_API
Definition edltypes.h:86
unsigned long long uint64
Definition edltypes.h:35
Simple template vector class for general use.
CEDLVector< IFileSpecAsEmbeddedDataPtr > CFileSpecAsEmbeddedDataVect
Definition ifilespec.h:240
#define IFileSpecAsEmbeddedDataClassID
Definition ifilespec.h:60
CEDLVector< IFileSpecPtr > CFileSpecVect
Definition ifilespec.h:52
#define IFileSpecAsFileReferenceClassID
Definition ifilespec.h:244
#define IFileSpecAsUrlClassID
Definition ifilespec.h:321
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211