Katana Plug-in APIs 0.1

FnLookFileSuite.h

00001 // Copyright (c) 2013 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FnLookFileSuite_H
00004 #define FnLookFileSuite_H
00005 
00006 #include <stdint.h>
00007 
00008 #include <FnAttribute/suite/FnAttributeSuite.h>
00009 
00010 extern "C" {
00011 
00012 typedef struct FnLookFileStruct * FnLookFileHandle;
00013 typedef struct FnLookFileAttrMapStruct * FnLookFileAttrMapHandle;
00014 
00015 #define FnLookFileHostSuite_version 2
00016 
00019 struct FnLookFileHostSuite_v1
00020 {
00021     FnLookFileHandle (*getLookFile)(const char *filePath, const char *passName);
00022     void (*releaseLookFile)(FnLookFileHandle h);
00023 
00024     FnLookFileAttrMapHandle (*getLookFileMaterials)(FnLookFileHandle h);
00025     FnAttributeHandle (*getLookFileMaterialType)(FnLookFileHandle h,
00026             const char *materialLocationPath);
00027     FnAttributeHandle (*getLookFileMaterial)(FnLookFileHandle h,
00028             const char *locationPath, uint8_t global);
00029 
00030     FnAttributeHandle (*getLookFileRootIdNames)(FnLookFileHandle h);
00031     FnAttributeHandle (*getLookFileRootIdType)(FnLookFileHandle h,
00032             const char *rootId);
00033     FnAttributeHandle (*getLookFilePathsWithOverrides)(FnLookFileHandle h,
00034             const char *rootId);
00035     FnLookFileAttrMapHandle (*getLookFileAttrs)(FnLookFileHandle h,
00036             const char * locationPath, const char *rootId);
00037     FnLookFileAttrMapHandle (*getLookFileRootOverrides)(FnLookFileHandle h);
00038 
00039     FnAttributeHandle (*getAttrMapValue)(FnLookFileAttrMapHandle h,
00040             const char *key);
00041     FnAttributeHandle (*getAttrMapKeys)(FnLookFileAttrMapHandle h);
00042     void (*releaseLookFileAttrMap)(FnLookFileAttrMapHandle h);
00043     void (*flushCache)();
00044 };
00045 
00046 struct FnLookFileHostSuite_v2
00047 {
00048     FnLookFileHandle (*getLookFile)(const char *filePath, const char *passName);
00049     void (*releaseLookFile)(FnLookFileHandle h);
00050 
00051     FnLookFileAttrMapHandle (*getLookFileMaterials)(FnLookFileHandle h);
00052     FnAttributeHandle (*getLookFileMaterialType)(FnLookFileHandle h,
00053             const char *materialLocationPath);
00054     FnAttributeHandle (*getLookFileMaterial)(FnLookFileHandle h,
00055             const char *locationPath, uint8_t global);
00056 
00057     FnAttributeHandle (*getLookFileRootIdNames)(FnLookFileHandle h);
00058     FnAttributeHandle (*getLookFileRootIdType)(FnLookFileHandle h,
00059             const char *rootId);
00060     FnAttributeHandle (*getLookFilePathsWithOverrides)(FnLookFileHandle h,
00061             const char *rootId);
00062     FnLookFileAttrMapHandle (*getLookFileAttrs)(FnLookFileHandle h,
00063             const char * locationPath, const char *rootId);
00064     FnLookFileAttrMapHandle (*getLookFileRootOverrides)(FnLookFileHandle h);
00065 
00066     FnAttributeHandle (*getAttrMapValue)(FnLookFileAttrMapHandle h,
00067             const char *key);
00068     FnAttributeHandle (*getAttrMapKeys)(FnLookFileAttrMapHandle h);
00069     void (*releaseLookFileAttrMap)(FnLookFileAttrMapHandle h);
00070 
00071     FnAttributeHandle (*getPassNamesForLookFileAsset)(const char *asset);
00072     FnAttributeHandle (*getSafePath)(const char *asset, uint8_t includeVersion);
00073 
00074     void (*flushCache)();
00075 };
00076 
00077 }
00078 #endif // FnLookFileSuite_H
 All Classes Functions Variables Typedefs Enumerations Enumerator