IAssetAccessor.h

Go to the documentation of this file.
00001 /* -----------------------------------------------------------------------------
00002 // -----------------------------------------------------------------------------
00003 
00004 FILE: IPathAccessor.h
00005 
00006 DESCRIPTION: abstract classes for menus
00007 
00008 CREATED BY: David Cunnnigham
00009 
00010 HISTORY: created February 18, 2005
00011 
00012 Copyright (c) 2005, All Rights Reserved
00013 
00014 // -----------------------------------------------------------------------------
00015 // -------------------------------------------------------------------------- */
00016 
00017 #pragma once
00018 
00019 #include "..\baseinterface.h"
00020 #include "..\Path.h"
00021 #include "AssetType.h"
00022 #include "..\AssetEnumCallback.h"
00023 
00024 // forward declarations
00025 
00026 namespace MaxSDK
00027 {
00028     namespace AssetManagement
00029     {
00030         class AssetUser;
00031     }
00032 }
00033 
00034 
00036 
00120 class IAssetAccessor : public InterfaceServer {
00121 
00122 public:
00123 
00127 
00128     
00131     virtual MaxSDK::AssetManagement::AssetUser GetAsset() const = 0;
00132 
00144     virtual bool SetAsset(const MaxSDK::AssetManagement::AssetUser& aNewAssetUser) = 0;
00146 
00153     CoreExport virtual bool IsInputAsset() const;
00154 
00155     // asset client information
00156 
00158 
00167     virtual MaxSDK::AssetManagement::AssetType GetAssetType() const =0;
00168 
00170 
00183     CoreExport virtual const MCHAR* GetAssetDesc() const;
00185 
00195     CoreExport virtual const MCHAR* GetAssetTypeIcon() const;
00197 
00203     CoreExport virtual const MCHAR* GetAssetClientDesc() const;
00205 
00212     CoreExport virtual bool IsAssetPathWritable() const;
00213 
00215 
00226     CoreExport virtual const MCHAR* GetRetargetErrorMsg() const;
00227 
00228 };
00229 
00231 
00299 class IEnumAuxAssetsCallback : public AssetEnumCallback {
00300 public:
00302 
00312     virtual void DeclareAsset(IAssetAccessor& anAccessor) =0;
00314 
00326     virtual void DeclareGroup(IAssetAccessor& anAccessor) =0;
00328 
00331     virtual void EndGroup() =0;
00332 };
00333 
00334