InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ICatalog.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Hardeep
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 // ADOBE CONFIDENTIAL
24 //
25 //========================================================================================
26 
27 #ifndef __ICatalog__
28 #define __ICatalog__
29 
30 #include "IPMUnknown.h"
31 #include "LibraryProviderID.h"
32 #include "ILibraryAsset.h"
33 #include "K2Vector.tpp"
34 #include "IProperty.h"
35 #include "IPropertyTable.h"
36 class LibraryAssetID;
37 
40 class ICatalog : public IPMUnknown
41 {
42  public:
43  enum { kDefaultIID = IID_ICATALOG };
44  enum LibVersion { CURRENT = 0, ANNABETA = 1, ANNARELEASE = 2 };
45 
48  virtual void Init() = 0;
49 
53  virtual UID NewLibAsset() = 0;
54 
59  virtual ILibraryAsset* Acquire(const LibraryAssetID& id) = 0;
60 
65  virtual bool16 Remove(const UID id) = 0;
66 
71  virtual UID GetNthAssetUID(int32 pos) = 0;
72 
76  virtual int32 GetAssetCount() = 0;
77 
81  virtual bool16 IsWritable() = 0;
82 
86  virtual void SetReadOnly(bool16 flag) = 0;
87 
90  virtual void Close() = 0;
91 
95  virtual IDataBase::DBResultCode Save() = 0;
96 
101  virtual void SetPreferences(const PMString& propKey,const PMString& propValue) = 0;
102 
107  virtual void GetPreferences(const PMString& propKey,PMString& propValue) const = 0;
108 
112  virtual K2Vector<UID>& GetSearchResults() = 0;
113 
117  virtual void SetUseSubsetSearch(bool16 useSubsetSearch=kTrue) = 0;
118 
122  virtual bool16 GetUseSubsetSearch() = 0;
123 
129  virtual void InitializeSearchResults(int16 booleanOp,PropUIDList* fromList=nil) = 0;
130 
140  virtual int16 Search(IProperty* property,int32 whichComparator,IPMUnknown* value,int16 booleanOp,PropUIDList* fromList=nil)
141  {
142  return 0;
143  }
144 
147  virtual LibVersion GetLibraryVersion() = 0;
148 
151  virtual void SetLibraryVersion(LibVersion libV) = 0;
152 
157  virtual bool16 IsValid(const LibraryAssetID& id) const = 0;
158 };
159 #endif