3 /****************************************************************************
5 * $Id: rmavsrc.h 7 2003-05-30 02:18:02Z gabest $
7 * Copyright (C) 1999 RealNetworks, Inc. All rights reserved..
9 * http://www.real.com/devzone
11 * This program contains proprietary
12 * information of RealNetworks, Inc, and is licensed
13 * subject to restrictions on use and distribution.
15 * RealMedia Architecture FileViewSource Interfaces.
20 typedef _INTERFACE IRMAStreamSource IRMAStreamSource
;
21 typedef _INTERFACE IRMAFileObject IRMAFileObject
;
23 // Interfaces definded in this file
24 typedef _INTERFACE IRMAFileViewSource IRMAFileViewSource
;
25 typedef _INTERFACE IRMAFileViewSourceResponse IRMAFileViewSourceResponse
;
26 typedef _INTERFACE IRMAViewSourceCommand IRMAViewSourceCommand
;
27 typedef _INTERFACE IRMAViewSourceURLResponse IRMAViewSourceURLResponse
;
32 /****************************************************************************
38 * IID_IRMAFileViewSource:
40 * {00003500-0901-11d1-8B06-00A024406D59}
50 DEFINE_GUID(IID_IRMAFileViewSource
, 0x00003500, 0x901, 0x11d1, 0x8b, 0x6,
51 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
54 #define INTERFACE IRMAFileViewSource
56 DECLARE_INTERFACE_(IRMAFileViewSource
, IUnknown
)
61 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, void** ppvObj
) PURE
;
62 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
63 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
65 /************************************************************************
68 STDMETHOD(InitViewSource
) (THIS_
69 IRMAFileObject
* /*IN*/ pFileObject
,
70 IRMAFileViewSourceResponse
* /*IN*/ pResp
,
71 SOURCE_TYPE
/*IN*/ sourceType
,
72 IRMAValues
* /*IN*/ pOptions
) PURE
;
73 STDMETHOD(GetSource
) (THIS
) PURE
;
74 STDMETHOD(Close
) (THIS
) PURE
;
77 /****************************************************************************
81 * IRMAFileViewSourceResponse
83 * IID_IRMAFileViewSourceResponse:
85 * {00003501-0901-11d1-8B06-00A024406D59}
89 DEFINE_GUID(IID_IRMAFileViewSourceResponse
, 0x00003501, 0x901, 0x11d1, 0x8b,
90 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
93 #define INTERFACE IRMAFileViewSourceResponse
95 DECLARE_INTERFACE_(IRMAFileViewSourceResponse
, IUnknown
)
100 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, void** ppvObj
) PURE
;
101 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
102 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
104 /************************************************************************
105 * IRMAFileViewSourceResoponse
107 STDMETHOD(InitDone
) (THIS_ PN_RESULT status
) PURE
;
108 STDMETHOD(SourceReady
) (THIS_ PN_RESULT status
,
109 IRMABuffer
* pSource
) PURE
;
110 STDMETHOD(CloseDone
) (THIS_ PN_RESULT
) PURE
;
113 /****************************************************************************
117 * IRMAViewSourceCommand
119 * IID_IRMAViewSourceCommand:
121 * {00003504-0901-11d1-8B06-00A024406D59}
124 DEFINE_GUID(IID_IRMAViewSourceCommand
, 0x00003504, 0x901, 0x11d1, 0x8b, 0x6,
125 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
128 #define INTERFACE IRMAViewSourceCommand
130 DECLARE_INTERFACE_(IRMAViewSourceCommand
, IUnknown
)
135 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, void** ppvObj
) PURE
;
136 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
137 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
139 /************************************************************************
140 * IRMAViewSourceCommand
142 STDMETHOD_(BOOL
, CanViewSource
) (THIS_
143 IRMAStreamSource
* pStream
) PURE
;
144 STDMETHOD(DoViewSource
) (THIS_
145 IRMAStreamSource
* pStream
) PURE
;
146 STDMETHOD(GetViewSourceURL
) (THIS_
147 IRMAStreamSource
* pSource
,
148 IRMAViewSourceURLResponse
* pResp
) PURE
;
151 /****************************************************************************
155 * IRMAViewSourceURLResponse
157 * IID_IRMAViewSourceURLResponse:
159 * {00003505-0901-11d1-8B06-00A024406D59}
162 DEFINE_GUID(IID_IRMAViewSourceURLResponse
, 0x00003505, 0x901, 0x11d1, 0x8b, 0x6,
163 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
166 #define INTERFACE IRMAViewSourceURLResponse
168 DECLARE_INTERFACE_(IRMAViewSourceURLResponse
, IUnknown
)
173 STDMETHOD(QueryInterface
) (THIS_ REFIID riid
, void** ppvObj
) PURE
;
174 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
175 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
177 /************************************************************************
178 * IRMAViewSourceURLResponse
180 STDMETHOD(ViewSourceURLReady
) (THIS_
181 const char* /*out*/ pUrl
) PURE
;