Katana Plug-in APIs 0.1

FnDefaultFileSequencePlugin.h

00001 // Copyright (c) 2012 The Foundry Visionmongers Ltd. All Rights Reserved.
00002 
00003 #ifndef FNDEFAULTFILESEQUENCEPLUGIN__H
00004 #define FNDEFAULTFILESEQUENCEPLUGIN__H
00005 
00006 #include <memory>
00007 #include <string>
00008 #include <vector>
00009 
00010 #include <FnAsset/FnAssetAPI.h>
00011 #include <FnAsset/ns.h>
00012 #include <FnAsset/suite/FnAssetSuite.h>
00013 
00014 #include <FnAttribute/FnAttribute.h>
00015 
00016 #include <FnPluginSystem/FnPlugin.h>
00017 #include <FnPluginSystem/FnPluginSystem.h>
00018 
00019 FNASSET_NAMESPACE_ENTER
00020 {
00021     class FileSequenceArray;
00022 
00037     class FNASSET_API DefaultFileSequencePlugin
00038     {
00039     public:
00040 
00045         static bool isFileSequence(const std::string& path, bool throwOnError=false);
00046 
00056         static std::string buildFileSequenceString(const std::string& prefix, const std::string& suffix,
00057                                                    int padding, bool throwOnError=false);
00058 
00068         static std::string resolveFileSequence(const std::string& path, int frame,
00069                                                bool throwOnError=false);
00070 
00078         static bool isFrameInFileSequence(const std::string& path, int frame,
00079                                           bool throwOnError=false);
00080 
00081 
00083         static FnPlugStatus setHost(FnPluginHost *host);
00084 
00085     private:
00086         static const FnDefaultAssetHostSuite* _hostSuite;
00087 
00089     };
00090 
00093 }
00094 FNASSET_NAMESPACE_EXIT
00095 
00096 #endif // FNDEFAULTFILESEQUENCEPLUGIN__H
 All Classes Functions Variables Typedefs Enumerations Enumerator