InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IVendorList.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bernd Paradies
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 __IVendorList__
25 #define __IVendorList__
26 
27 #include "IPMUnknown.h"
28 
29 
30 //----------------------------------------------------------------------------------------
31 // Interface IVendorList
32 //----------------------------------------------------------------------------------------
33 class IK2ServiceProvider;
34 
38 class IVendorList : public IPMUnknown
39 {
40 public:
41  virtual int32 GetVendorCount() const = 0;
42  virtual IK2ServiceProvider * QueryNthVendor( int32 nNthVendor ) = 0;
43  virtual IK2ServiceProvider * QueryVendor( ClassID nVendorBoss ) = 0;
44  virtual IK2ServiceProvider * QueryVendor( const PMString& vendorName ) = 0;
45  virtual IK2ServiceProvider * QueryDefaultVendor() = 0;
46  virtual bool16 SetDefaultVendor( ClassID nVendorBoss ) = 0;
47 
48  virtual bool16 AddVendor( ClassID nVendorBoss ) = 0;
49  virtual bool16 RemoveVendor( ClassID nVendorBoss ) = 0;
50  virtual void ClearVendor() = 0;
51 
52  virtual bool16 GetVendorPathList(ClassID nVendorBoss, K2Vector<PMString>& pathList) = 0;
53  virtual bool16 SetVendorPathList(ClassID nVendorBoss, const K2Vector<PMString>& pathList) = 0;
54  virtual bool16 AppendPathToVendorList(ClassID nVendorBoss, const PMString& path) = 0;
55  virtual bool16 RemovePathFromVendorList(ClassID nVendorBoss, const PMString& path) = 0;
56 };
57 
62 {
63 public:
64  VendorData();
65  VendorData(const VendorData& vendorData);
66  ~VendorData();
67 
68  typedef object_type data_type; /* for K2Vector, change from base_type to object_type */
69 
70  ClassID fClass;
71  int32 fNthService;
72  K2Vector<PMString> fPathList;
73 
74  VendorData& operator=(const VendorData& other);
75  inline bool16 operator==( const VendorData &rData ) const { return fClass == rData.fClass && fNthService == rData.fNthService; }
76 };
77 
78 
79 #endif