InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
IHTTPLinkConnectionManager.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Arvinder Singh
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 //========================================================================================
27 #ifndef __IHTTPLinkConnectionManager__
28 #define __IHTTPLinkConnectionManager__
29 
30 #include "IPMUnknown.h"
31 #include "LinksID.h"
32 #include "URI.h"
33 
34 #include "IHTTPLinkResourceConnection.h"
35 #include "IHTTPLinkResourceStateBatchUpdater.h"
36 
37 /*
38  AdobePatentID="P7137-US"
39  AdobePatentID="P7225-US"
40  AdobePatentID="P7609-US"
41 */
42 
50 {
51 public:
52  enum { kDefaultIID = IID_IHTTPLINKCONNECTIONMANGER };
53 
54  /*
55  HTTP Connection Result Enum
56  */
57  enum HTTPConnectionResult
58  {
59  kHTTPConnectionResult_Success,
60  kHTTPConnectionResult_Error,
61  kHTTPConnectionResult_Unknown
62  };
63 
68  virtual bool16 Initialize() = 0;
69 
74  virtual bool16 Shutdown() = 0;
75 
76  /*
77  Gets the HTTP Link Resource Connection for the input URI
78  @param inAssetURI [IN] uri of the HTTP Asset.
79  @return HTTP Link Resource Connection for the given URI.
80  */
81  virtual IHTTPLinkResourceConnection* GetHTTPConnection(const URI& inAssetURI) = 0;
82 
83  /*
84  Releases the input HTTP Link Resource Connection
85  @param inConnection [IN] HTTP Link Resource Connection.
86  @return kHTTPConnectionResult_Success on succesful release of the connection given by inConnection.
87  */
88  virtual HTTPConnectionResult ReleaseHTTPConnection(IHTTPLinkResourceConnection* inConnection) = 0;
89 
90  /*
91  Gets the HTTP Batch updater for the HTTP Link Resource Connection.
92  @param inConnection [IN] HTTP Link Resource Connection.
93  @return HTTPLinkResourceStateBatchUpdater for the given HTTP Link Resource Connection.
94  */
95  virtual IHTTPLinkResourceStateBatchUpdater* GetHTTPResourceStateBatchUpdater(IHTTPLinkResourceConnection* inConnection) = 0;
96 
100  virtual void ReadWriteSnapshotForBackgroundThread(IPMStream* s) = 0;
101 };
102 
103 #endif // __IHTTPLinkConnectionManager__