InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IManageableAsset.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bill Tislar
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __IMANAGEABLEASSET__
25 #define __IMANAGEABLEASSET__
26 
27 #include "IPMUnknown.h"
28 #include "workgroupid.h"
29 #include "IAMLockable.h"
30 #include "IAssetStateMachine.h"
31 #include "IManagedStatus.h"
32 
33 class IAssetMonitor;
34 class IAMSystemProvider;
35 
36 
48 {
49 public:
50  enum { kDefaultIID = IID_IMANAGEABLEASSET };
51 
53  enum AssetType
54  {
60  enLinked = 2,
63  };
64 
69  virtual IAssetMonitor * GetAssetMonitor() = 0;
70 
76  virtual bool16 GetAssetURL( PMString & outURL ) = 0;
77 
83  virtual IAMLockable * GetLockable() = 0;
84 
92  virtual bool16 GetReadFile( IDFile & file ) = 0;
93 
100  virtual ClassID GetServiceProviderClass() const = 0;
101 
106  virtual IAssetStateMachine * GetStateMachine() = 0;
107 
113  virtual IManagedStatus * GetStatus() = 0;
114 
119  virtual IManageableAsset::AssetType GetType() = 0;
120 
127  virtual bool16 GetWriteFile( IDFile & file ) = 0;
128 
134  virtual bool16 HasVersionedContent() const = 0;
135 
141  virtual bool16 IsBound() const = 0;
142 
148  virtual bool16 IsTemporary() = 0;
149 
158  virtual bool16 IsVersioned() const = 0;
159 
164  virtual void SetAssetMonitor( IAssetMonitor * assetMonitor ) = 0;
165 
169  virtual void SetAssetURL( const PMString & url ) = 0;
170 
178  virtual void SetHasVersionedContent( bool16 b ) = 0;
179 
186  virtual void SetIsBound( bool16 b = kTrue ) = 0;
187 
194  virtual void SetIsVersioned( bool16 b ) = 0;
195 
202  virtual void SetLockable( IAMLockable * lock ) = 0;
203 
211  virtual void SetReadFile( const IDFile & file ) = 0;
212 
219  virtual void SetServiceProviderClass( ClassID id ) = 0;
220 
226  virtual void SetStateMachine( IAssetStateMachine * sm ) = 0;
227 
233  virtual void SetStatus( IManagedStatus * status ) = 0;
234 
239  virtual void SetType( IManageableAsset::AssetType t ) = 0;
240 
248  virtual void SetWriteFile( const IDFile & file ) = 0;
249 
250 }; // end IManageableAsset interface
251 
252 #endif // __IMANAGEABLEASSET__