Line data Source code
1 : #ifndef ContentHandlerService_h
2 : #define ContentHandlerService_h
3 :
4 : #include "nsIHandlerService.h"
5 : #include "nsClassHashtable.h"
6 : #include "HandlerServiceChild.h"
7 : #include "nsIMIMEInfo.h"
8 :
9 : #define NS_CONTENTHANDLERSERVICE_CID \
10 : {0xc4b6fb7c, 0xbfb1, 0x49dc, {0xa6, 0x5f, 0x03, 0x57, 0x96, 0x52, 0x4b, 0x53}}
11 :
12 : namespace mozilla {
13 : namespace dom {
14 :
15 : class PHandlerServiceChild;
16 :
17 : class ContentHandlerService : public nsIHandlerService
18 : {
19 : public:
20 : NS_DECL_ISUPPORTS
21 : NS_DECL_NSIHANDLERSERVICE
22 :
23 : ContentHandlerService();
24 : MOZ_MUST_USE nsresult Init();
25 : static void nsIHandlerInfoToHandlerInfo(nsIHandlerInfo* aInfo, HandlerInfo* aHandlerInfo);
26 :
27 : private:
28 : virtual ~ContentHandlerService();
29 : RefPtr<HandlerServiceChild> mHandlerServiceChild;
30 : nsClassHashtable<nsCStringHashKey, nsCString> mExtToTypeMap;
31 : };
32 :
33 : class RemoteHandlerApp : public nsIHandlerApp
34 : {
35 : public:
36 : NS_DECL_ISUPPORTS
37 : NS_DECL_NSIHANDLERAPP
38 :
39 0 : explicit RemoteHandlerApp(HandlerApp aAppChild) : mAppChild(aAppChild)
40 : {
41 0 : }
42 : private:
43 0 : virtual ~RemoteHandlerApp()
44 0 : {
45 0 : }
46 : HandlerApp mAppChild;
47 : };
48 :
49 :
50 : }
51 : }
52 : #endif
|