InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IHTTPLinkSubsystemObjectFactory.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Sanyam Jain
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // ADOBE CONFIDENTIAL
16 //
17 // Copyright 2016 Adobe
18 // All Rights Reserved.
19 //
20 // NOTICE: Adobe permits you to use, modify, and distribute this file in
21 // accordance with the terms of the Adobe license agreement accompanying
22 // it. If you have received this file from a source other than Adobe,
23 // then your use, modification, or distribution of it requires the prior
24 // written permission of Adobe.
25 //
26 // Description:
27 // Factory class interface used to provide a list of schemes supported by a http link
28 // resource connection, and to create instances of resource connection.
29 //
30 //========================================================================================
31 
32 #ifndef __IHTTPLinkSubsystemObjectFactory__
33 #define __IHTTPLinkSubsystemObjectFactory__
34 
35 // ----- Includes -----
36 #include "IPMUnknown.h"
37 #include "LinksID.h"
38 
40 class URI;
42 class IDataBase;
45 
46 /*
47  AdobePatentID="P7137-US"
48  AdobePatentID="P7225-US"
49  AdobePatentID="P7609-US"
50  */
51 
82 {
83 public:
84  enum { kDefaultIID = IID_IHTTPLINKSUBSYSTEMOBJECTFACTORY };
85 
90  virtual void GetSchemes(K2Vector<WideString>& schemes) const = 0;
91 
100  virtual ILinkResourceHandler* QueryHandler(const URI& uri, IDataBase* db) const = 0;
101 
110  virtual ILinkResourceStateUpdater* QueryStateUpdater(const URI& uri, IDataBase* db) const = 0;
111 
120  virtual IHTTPLinkResourceConnection* QueryHTTPLinkResourceConnection(const URI& uri, IDataBase* db) const = 0;
121 
131 };
132 
133 #endif // __IHTTPLinkSubsystemObjectFactory__