Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
isession.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 ISESSION_H
6#define ISESSION_H
7
8#include <edl/iedlobject.h>
9#include <edl/iedlfactory.h>
10#include <edl/edlfwd.h>
11#include <edl/iedltempstore.h>
12
14
20class ISession : public IEDLObject
21{
22#define ISessionClassID 0xbe1d3ca8, 0x6c6e46ee, 0xa9ff2d08, 0x0c883055
23public:
24
26
32 virtual bool setFactory(IEDLClassFactory *pFactory) = 0;
33
39
49 virtual IMessageHandlerPtr getMessageHandler() = 0;
50
59 virtual ILiteMessageHandlerPtr getLiteMessageHandler() = 0;
60
68 virtual bool setTemporaryDirectory(const EDLSysString &sTempDirectory) = 0;
69
75 virtual bool getTemporaryDirectory(EDLSysString &sTempDirectory) = 0;
76
83 virtual IEDLTempStorePtr getTempStore() = 0;
84
90 virtual bool setStartupDirectory(const EDLSysString &sStartupDirectory) = 0;
91
97 virtual bool getStartupDirectory(EDLSysString &sStartupDirectory) = 0;
98};
99
100#define edlobj2ISession(src) edl_cast((ISession *)NULL, src)
101
102
108class IRunnable : public virtual IEDLObject
109{
110#define IRunnableClassID 0x5ec5e587, 0xdd2b45c9, 0x83464637, 0xe5a89832
111
112public:
114
115 typedef enum
116 {
120 } RunCode;
121
122public:
127 virtual RunCode run() = 0;
128};
129
131#define edlobj2IRunnable(src) edl_cast((IRunnable *)NULL, src)
132
142EDL_API bool setSessionTempRootDirectory(const EDLSysString &sTempRootDirectory);
143
145
146#endif //ISESSION_H
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
Interface to filter's runnable classes.
Definition isession.h:109
RunCode
Definition isession.h:116
@ rcError
Definition isession.h:117
@ rcFinished
Definition isession.h:118
@ rcContinue
Definition isession.h:119
DECLARE_CLASS_ID(IRunnableClassID)
virtual RunCode run()=0
Run runnable object.
EDL session class.
Definition isession.h:21
virtual ILiteMessageHandlerPtr getLiteMessageHandler()=0
Obtain the session's litemessage handler.
DECLARE_CLASS_ID(ISessionClassID)
virtual bool setFactory(IEDLClassFactory *pFactory)=0
initializes Session by setting EDL class Factory
virtual bool getTemporaryDirectory(EDLSysString &sTempDirectory)=0
Get the temporary directory to be used by EDL and filters for this session.
virtual bool setTemporaryDirectory(const EDLSysString &sTempDirectory)=0
Set the temporary directory to be used by EDL and filters for this session.
virtual bool setStartupDirectory(const EDLSysString &sStartupDirectory)=0
Set the startup directory. This is meaningfull for executable environments. Note the client must set ...
virtual IEDLTempStorePtr getTempStore()=0
Get the temporary store for this session. The temporary directory must be set before calling this mem...
virtual IMessageHandlerPtr getMessageHandler()=0
Obtain the session's message handler.
virtual IEDLClassFactory * getFactory()=0
EDL Class Factory getter method.
virtual bool getStartupDirectory(EDLSysString &sStartupDirectory)=0
Get the startup directory.
#define _BEGIN_EDL_NAMESPACE
Definition edlnamespaces.h:75
#define _END_EDL_NAMESPACE
Definition edlnamespaces.h:76
std::string EDLSysString
Definition edlstring.h:158
#define EDL_API
Definition edltypes.h:86
EDL_API bool setSessionTempRootDirectory(const EDLSysString &sTempRootDirectory)
Sets a directory that is used as a root for temporary directories of the EDL sessions....
#define ISessionClassID
Definition isession.h:22
#define IRunnableClassID
Definition isession.h:110
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211