Mako 8.4.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
iedltempstore.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010-2026 Hybrid Software Helix 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
40 virtual IRAOutputStreamPtr createWriter(bool buffered = false) = 0;
41
51 virtual IRAInputStreamPtr createReader(bool buffered = true) = 0;
52
63 virtual IRAInputOutputStreamPtr createReaderWriter() = 0;
64};
66
75{
76#define IEDLTempStoreClassID 0x3BABAADA, 0x3838435F, 0x8E576C41, 0xB8F94150
77 public:
78
79 virtual ~IEDLTempStore () {};
80
85 static const CClassID &classID()
86 {
88 return id;
89 };
90
104
110 virtual IEDLTempStoreObjectPtr createTemporaryObject() = 0;
111
118 virtual IEDLTempStoreObjectPtr createTemporaryObjectWithContents(const IInputStreamPtr &stream) = 0;
119
126 virtual IRAInputStreamPtr createTemporaryStreamWithContents(const IInputStreamPtr &stream) = 0;
127
134 virtual void createTemporaryReaderWriterPair(IRAInputStreamPtr &reader, IRAOutputStreamPtr &writer) = 0;
135
141 virtual IRAInputOutputStreamPtr createTemporaryReaderWriter() = 0;
142
155 virtual bool getWasExhausted() const = 0;
156
160 virtual void clearExhaustedFlag() = 0;
161
168 virtual bool clone(IEDLObjectPtr &ptrObject, IEDLClassFactory *pFactory)
169 {
170 UNREFERENCED_PARAMETER(pFactory);
171 ptrObject = IEDLObjectPtr ();
172 return false;
173 }
174};
176#define edlobj2IEDLTempStore(src) edl_cast((IEDLTempStore *)NULL, src)
177
179
180#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:96
uint32 blockSize
Definition iedltempstore.h:101
IEDLClassFactory * pFactory
Definition iedltempstore.h:99
EDLSysString pathToTempDir
Definition iedltempstore.h:98
uint64 maxDiskSize
Definition iedltempstore.h:102
uint64 maxMemorySize
Definition iedltempstore.h:100
A self-cleaning area for storage of temporary data in the form of streams. One per session,...
Definition iedltempstore.h:75
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:168
static const CClassID & classID()
Retrieves class id of IEDLTempStore.
Definition iedltempstore.h:85
virtual IEDLTempStoreObjectPtr createTemporaryObjectWithContents(const IInputStreamPtr &stream)=0
Create a temporary object with the contents of an existing input stream.
virtual ~IEDLTempStore()
Definition iedltempstore.h:79
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:24
virtual ~IEDLTempStoreObject()
Definition iedltempstore.h:27
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
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:76
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211