Mako 9.1.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
iedltempstore.h
Go to the documentation of this file.
1/*
2 * iedltempstore.h
3 *
4 * Copyright (C) 2010-2026 Hybrid Software Helix Ltd. All rights reserved.
5 */
6
11
12#ifndef IEDLTEMPSTORE_H
13#define IEDLTEMPSTORE_H
14
15#include <edl/edltypes.h>
16#include <edl/edlstream.h>
17
19
27{
28 public:
29
31
43 virtual IRAOutputStreamPtr createWriter(bool buffered = false) = 0;
44
54 virtual IRAInputStreamPtr createReader(bool buffered = true) = 0;
55
66 virtual IRAInputOutputStreamPtr createReaderWriter() = 0;
67};
69
78{
79#define IEDLTempStoreClassID 0x3BABAADA, 0x3838435F, 0x8E576C41, 0xB8F94150
80 public:
81
82 virtual ~IEDLTempStore () {};
83
88 static const CClassID &classID()
89 {
91 return id;
92 };
93
107
113 virtual IEDLTempStoreObjectPtr createTemporaryObject() = 0;
114
121 virtual IEDLTempStoreObjectPtr createTemporaryObjectWithContents(const IInputStreamPtr &stream) = 0;
122
129 virtual IRAInputStreamPtr createTemporaryStreamWithContents(const IInputStreamPtr &stream) = 0;
130
137 virtual void createTemporaryReaderWriterPair(IRAInputStreamPtr &reader, IRAOutputStreamPtr &writer) = 0;
138
144 virtual IRAInputOutputStreamPtr createTemporaryReaderWriter() = 0;
145
158 virtual bool getWasExhausted() const = 0;
159
163 virtual void clearExhaustedFlag() = 0;
164
171 virtual bool clone(IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory)
172 {
174 ptrObject = IEDLObjectPtr ();
175 return false;
176 }
177};
179#define edlobj2IEDLTempStore(src) edl_cast((IEDLTempStore *)NULL, src)
180
182
183#endif
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
EDL Object Interface.
Definition iedlobject.h:33
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:55
Initialization data.
Definition iedltempstore.h:99
uint32 blockSize
Definition iedltempstore.h:104
IEDLClassFactory * pFactory
Definition iedltempstore.h:102
EDLSysString pathToTempDir
Definition iedltempstore.h:101
uint64 maxDiskSize
Definition iedltempstore.h:105
uint64 maxMemorySize
Definition iedltempstore.h:103
A self-cleaning area for storage of temporary data in the form of streams. One per session,...
Definition iedltempstore.h:78
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:171
static const CClassID & classID()
Retrieves class id of IEDLTempStore.
Definition iedltempstore.h:88
virtual IEDLTempStoreObjectPtr createTemporaryObjectWithContents(const IInputStreamPtr &stream)=0
Create a temporary object with the contents of an existing input stream.
virtual ~IEDLTempStore()
Definition iedltempstore.h:82
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. The reader is buffere...
A mechanism for storing and accessing temporary data for use with Jaws Mako.
Definition iedltempstore.h:27
virtual ~IEDLTempStoreObject()
Definition iedltempstore.h:30
virtual IRAOutputStreamPtr createWriter(bool buffered=false)=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
EDL "standard" types including known bit-length signed and unsigned integer type[def]s and definition...
#define EDL_UNREFERENCED_PARAMETER(P)
Definition edltypes.h:76
unsigned int uint32
Definition edltypes.h:36
unsigned long long uint64
Definition edltypes.h:37
#define IEDLTempStoreClassID
Definition iedltempstore.h:79
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211