Katana Plug-in APIs 0.1

FnRenderOutputLocationPluginClient.h

00001 #ifndef FnRenderOutputLocationPluginClient_H
00002 #define FnRenderOutputLocationPluginClient_H
00003 
00004 #include "ns.h"
00005 
00006 #include <memory>
00007 
00008 #include <FnRenderOutputLocation/suite/FnRenderOutputLocationSuite.h>
00009 #include <FnRenderOutputLocation/FnRenderOutputLocationAPI.h>
00010 #include <FnAttribute/FnAttribute.h>
00011 
00012 FNRENDEROUTPUTLOCATION_NAMESPACE_ENTER
00013 {
00014     // Class that wraps a specific instance of
00015     // FnRenderOutputLocationPluginSuite_v2
00016     class FNRENDEROUTPUTLOCATION_API FnRenderOutputLocationPluginClient
00017     {
00018         public:
00019             FnRenderOutputLocationPluginClient(
00020                     FnRenderOutputLocationPluginSuite_v2 * suite);
00021             ~FnRenderOutputLocationPluginClient();
00022 
00023             typedef std::shared_ptr<FnRenderOutputLocationPluginClient> Ptr;
00024 
00025             FnAttribute::GroupAttribute getLocationSettingsAttr(
00026                     const std::string & outputType,
00027                     const FnAttribute::GroupAttribute & incomingOutputAttr);
00028 
00029             std::string computeFilePath(
00030                     const FnAttribute::GroupAttribute & outputAttrs,
00031                     const FnAttribute::GroupAttribute & locationAttrs,
00032                     const FnAttribute::GroupAttribute & renderSettingsAttrs,
00033                     const FnAttribute::GroupAttribute & imageInfo,
00034                     bool makeVersionTemplate);
00035 
00036             std::string computeLocation(
00037                     const FnAttribute::GroupAttribute & outputAttrs,
00038                     const FnAttribute::GroupAttribute & locationAttrs,
00039                     const FnAttribute::GroupAttribute & renderSettingsAttrs,
00040                     const FnAttribute::GroupAttribute & imageInfo);
00041 
00042         private:
00043             FnRenderOutputLocationPluginSuite_v2 *_suite;
00044             FnRenderOutputLocationPluginHandle _handle;
00045 
00046             // no copy/assign
00047             FnRenderOutputLocationPluginClient(
00048                     const FnRenderOutputLocationPluginClient &rhs);
00049             FnRenderOutputLocationPluginClient &operator=(
00050                     const FnRenderOutputLocationPluginClient &rhs);
00051     };
00052 }
00053 FNRENDEROUTPUTLOCATION_NAMESPACE_EXIT
00054 
00055 #endif // FnRenderOutputLocationPluginClient_H
 All Classes Functions Variables Typedefs Enumerations Enumerator