InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IK2ServiceMgr.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Zak_Williamson
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 __IK2ServiceMgr__
25 #define __IK2ServiceMgr__
26 
27 #include "IPMUnknown.h"
28 #include "ShuksanID.h"
29 
30 class IK2ServiceProvider;
31 
38 class IK2ServiceMgr : public IPMUnknown
39 {
40 public:
44  virtual void Shutdown() = 0;
45 
48  typedef enum
49  {
56  } InstancePerX;
57 
60  virtual void RegisterServiceProvider(IK2ServiceProvider *provider, ClassID classID, InstancePerX instancePerX = kInstancePerSession, bool16 dontPurge = kFalse) = 0;
61 
64  virtual bool16 ReleaseCachedServiceProviders() = 0;
65 
69  virtual void SetDefaultServiceProvider(ClassID classID) = 0;
70 
74 
78 
82 
85  virtual int32 GetServiceProviderCount() = 0;
86 
89  virtual IK2ServiceProvider * QueryNthServiceProvider(int32 n) = 0;
90 
93  virtual ClassID GetNthServiceProviderID(int32 n) = 0;
94 
99  virtual int32 GetServiceProviderIndex(IK2ServiceProvider * serviceProvider) = 0;
100 
105  virtual int32 GetServiceProviderIndex(ClassID serviceProviderID) = 0;
106 };
107 
108 #endif