Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
iedltempstore.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010-2025 Global Graphics Software Ltd. All rights reserved.
3 */
4
9
10#ifndef IEDLTEMPSTORE_H
11#define IEDLTEMPSTORE_H
12
13#include <edl/edlstream.h>
14
16
24{
25 public:
26
28
35 virtual IRAOutputStreamPtr createWriter() = 0;
36
46 virtual IRAInputStreamPtr createReader(bool buffered = true) = 0;
47
58 virtual IRAInputOutputStreamPtr createReaderWriter() = 0;
59};
61
70{
71#define IEDLTempStoreClassID 0x3BABAADA, 0x3838435F, 0x8E576C41, 0xB8F94150
72 public:
73
74 virtual ~IEDLTempStore () {};
75
80 static const CClassID &classID()
81 {
83 return id;
84 };
85
99
105 virtual IEDLTempStoreObjectPtr createTemporaryObject() = 0;
106
113 virtual IEDLTempStoreObjectPtr createTemporaryObjectWithContents(const IInputStreamPtr &stream) = 0;
114
121 virtual IRAInputStreamPtr createTemporaryStreamWithContents(const IInputStreamPtr &stream) = 0;
122
129 virtual void createTemporaryReaderWriterPair(IRAInputStreamPtr &reader, IRAOutputStreamPtr &writer) = 0;
130
136 virtual IRAInputOutputStreamPtr createTemporaryReaderWriter() = 0;
137
150 virtual bool getWasExhausted() const = 0;
151
155 virtual void clearExhaustedFlag() = 0;
156
163 virtual bool clone(IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory)
164 {
165 UNREFERENCED_PARAMETER(pFactory);
166 ptrObject = IEDLObjectPtr ();
167 return false;
168 }
169};
171#define edlobj2IEDLTempStore(src) edl_cast((IEDLTempStore *)NULL, src)
172
174
175#endif
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:31
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
Initialization data.
Definition iedltempstore.h:91
uint32 blockSize
Definition iedltempstore.h:96
IEDLClassFactory * pFactory
Definition iedltempstore.h:94
EDLSysString pathToTempDir
Definition iedltempstore.h:93
uint64 maxDiskSize
Definition iedltempstore.h:97
uint64 maxMemorySize
Definition iedltempstore.h:95
A self-cleaning area for storage of temporary data in the form of streams. One per session,...
Definition iedltempstore.h:70
virtual IEDLTempStoreObjectPtr createTemporaryObject()=0
Create a temporary object, which is similar in concept to a file.
virtual bool getWasExhausted() const =0
Determine if the temporary store has been exhausted since the last time this flag was cleared....
virtual void clearExhaustedFlag()=0
Clear the exhausted flag. See getWasExhausted() above.
virtual IRAInputOutputStreamPtr createTemporaryReaderWriter()=0
Create a temporary object and provide a consolidated reader/writer. Convenience method.
virtual bool clone(IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory)
Clone - not available for objects of this type.
Definition iedltempstore.h:163
static const CClassID & classID()
Retrieves class id of IEDLTempStore.
Definition iedltempstore.h:80
virtual IEDLTempStoreObjectPtr createTemporaryObjectWithContents(const IInputStreamPtr &stream)=0
Create a temporary object with the contents of an existing input stream.
virtual ~IEDLTempStore()
Definition iedltempstore.h:74
virtual IRAInputStreamPtr createTemporaryStreamWithContents(const IInputStreamPtr &stream)=0
Copy the given stream into a temporary store object and return a buffered reader. Convenience.
virtual void createTemporaryReaderWriterPair(IRAInputStreamPtr &reader, IRAOutputStreamPtr &writer)=0
Create a temporary object and provide a reader/writer pair. Convenience method.
A mechanism for storing and accessing temporary data for use with Jaws Mako.
Definition iedltempstore.h:24
virtual ~IEDLTempStoreObject()
Definition iedltempstore.h:27
virtual IRAOutputStreamPtr createWriter()=0
Create a writer that may be used to write to this temporary object. Multiple writers writing to a sin...
virtual IRAInputOutputStreamPtr createReaderWriter()=0
Create a stream that may be used to simultaneously read and write from this temporary object....
virtual IRAInputStreamPtr createReader(bool buffered=true)=0
Create a reader that may be used to read from this temporary object Many readers can simultaneously p...
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
#define _BEGIN_EDL_NAMESPACE
Definition edlnamespaces.h:75
#define _END_EDL_NAMESPACE
Definition edlnamespaces.h:76
std::string EDLSysString
Definition edlstring.h:158
unsigned int uint32
Definition edltypes.h:34
unsigned long long uint64
Definition edltypes.h:35
#define UNREFERENCED_PARAMETER(P)
Definition edltypes.h:71
#define IEDLTempStoreClassID
Definition iedltempstore.h:71
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211