InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ILibraryAssetContents.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Mark VerMurlen
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 // Reviewed: 9/25/98
24 //
25 // Purpose:
26 // This interface is a secondary interface to the LibraryAsset Boss. This interface
27 // controls reading and writing of the "Content" data of the asset.
28 //
29 //========================================================================================
30 
31 #ifndef __ILibraryAssetContents__
32 #define __ILibraryAssetContents__
33 
34 #include "IPMUnknown.h"
35 #include "LibraryProviderID.h"
36 
37 class IDirInfo;
38 class IPMStream;
39 class IXferBytes;
40 
45 {
46 public:
47  enum { kDefaultIID = IID_ILIBRARYASSETCONTENTS };
48 
51  typedef enum {
67  } AssetMakeup;
68 
73  virtual IPMStream* QueryDataReadStream() = 0;
74 
79  virtual IPMStream* QueryDataWriteStream() = 0;
80 
83  virtual void DeleteData() = 0;
84 
89  virtual void SetAssetData(const uchar* assetData,int32 assetDatalength) = 0;
90 
95  virtual void SetAssetData(IXferBytes* assetData, int32 assetDatalength) = 0;
96 
100  virtual uchar* GetAssetData() const = 0;
101 
105  virtual int32 GetAssetDatalength() const = 0;
106 
110  virtual IDirInfo* QueryDirInfo() { return nil; }
111 
115  virtual AssetMakeup GetAssetMakeup() = 0;
116 
117 };
118 
119 #endif