Katana Plug-in APIs 0.1

FnGeolibSetupInterface.h

00001 #ifndef FnGeolibSetupInterface_H
00002 #define FnGeolibSetupInterface_H
00003 
00004 #include <string>
00005 #include <vector>
00006 
00007 #include <FnAttribute/FnAttribute.h>
00008 
00009 #include <FnGeolib/FnGeolibAPI.h>
00010 #include <FnGeolib/op/ns.h>
00011 #include <FnGeolib/suite/FnGeolibSetupInterfaceSuite.h>
00012 
00013 #include <FnPluginSystem/FnPlugin.h>
00014 #include <FnPluginSystem/FnPluginSystem.h>
00015 
00016 //  This is the GeolibOp client side wrapper for FnGeolibInterfaceSuite_v1.  A
00017 //  reference to an instance of this is handed to the GeolibOp::setup function.
00018 //  This class is not meant to be derived from, just compiled into the Op plug-
00019 //  in as a convenience.
00020 
00021 FNGEOLIBOP_NAMESPACE_ENTER
00022 {
00023 
00029     class FNGEOLIB_API GeolibSetupInterface
00030     {
00031     public:
00032         GeolibSetupInterface(FnGeolibSetupInterfaceHandle interfaceHandle,
00033             FnGeolibSetupInterfaceSuite_v1 *interfaceSuite);
00034 
00041         enum ThreadMode
00042         {
00061             ThreadModeConcurrent = kFnKatGeolibThreadModeConcurrent,
00062 
00074             ThreadModeGlobalUnsafe = kFnKatGeolibThreadModeGlobalUnsafe
00075         };
00076 
00077         // @cond FN_INTERNAL_DEV
00078         typedef enum ThreadMode ThreadMode;
00079         // @endcond
00080 
00088         void setThreading(ThreadMode threadmode);
00089 
00098         void setOpsCollapsible(
00099             const FnAttribute::StringAttribute& collapsedOpArgsGroupName);
00100 
00101     private:
00102 
00104 
00105         FnGeolibSetupInterfaceHandle _handle;
00106         FnGeolibSetupInterfaceSuite_v1 *_suite;
00107 
00109     };
00110 }
00111 FNGEOLIBOP_NAMESPACE_EXIT
00112 
00113 #endif // FnGeolibSetupInterface_H
 All Classes Functions Variables Typedefs Enumerations Enumerator