1 /****************************************************************************
4 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
6 * http://www.real.com/devzone
8 * This program contains proprietary
9 * information of Progressive Networks, Inc, and is licensed
10 * subject to restrictions on use and distribution.
13 * RealMedia Architecture AutoConfiguration interfaces
21 * Forward declarations of some interfaces defined here-in.
23 typedef _INTERFACE IRMAAutoConfig IRMAAutoConfig
;
24 typedef _INTERFACE IRMAAutoConfigResponse IRMAAutoConfigResponse
;
26 #define RMA_TRANSPORT_MULTICAST 0
27 #define RMA_TRANSPORT_UDP 1
28 #define RMA_TRANSPORT_TCP 2
29 #define RMA_TRANSPORT_HTTP 3
31 /****************************************************************************
38 * This interface allows the auto-configuration of the protocol used by
43 * {00002700-0901-11d1-8B06-00A024406D59}
46 DEFINE_GUID(IID_IRMAAutoConfig
, 0x00002700, 0x901, 0x11d1, 0x8b, 0x6,
47 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
50 #define INTERFACE IRMAAutoConfig
52 DECLARE_INTERFACE_(IRMAAutoConfig
, IUnknown
)
57 STDMETHOD(QueryInterface
) (THIS_
61 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
63 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
66 * IRMAAutoConfig methods
68 /************************************************************************
70 * IRMAAutoConfig::Init
72 * Shutdown the configuration process.
75 STDMETHOD(Init
) (THIS_
76 IRMAAutoConfigResponse
* pResponse
,
78 const char* pRTSPURL
) PURE
;
80 /************************************************************************
82 * IRMAAutoConfig::Close
84 * Shutdown the configuration process.
87 STDMETHOD(Close
) (THIS
) PURE
;
89 /************************************************************************
91 * IRMAAutoConfig::Abort
93 * Abort the configuration process.
96 STDMETHOD(Abort
) (THIS
) PURE
;
98 /************************************************************************
100 * IRMAAutoConfig::DoAutoConfig
102 * Start the auto-configuration Process.
105 STDMETHOD(DoAutoConfig
) (THIS
) PURE
;
109 /****************************************************************************
113 * IRMAAutoConfigResponse
116 * Response interface for IRMAAutoConfig.
118 * IID_IRMAAutoConfig:
120 * {00002701-0901-11d1-8B06-00A024406D59}
123 DEFINE_GUID(IID_IRMAAutoConfigResponse
, 0x00002701, 0x901, 0x11d1, 0x8b,
124 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
127 #define INTERFACE IRMAAutoConfigResponse
129 DECLARE_INTERFACE_(IRMAAutoConfigResponse
, IUnknown
)
134 STDMETHOD(QueryInterface
) (THIS_
138 STDMETHOD_(ULONG
,AddRef
) (THIS
) PURE
;
140 STDMETHOD_(ULONG
,Release
) (THIS
) PURE
;
143 * IRMAAutoConfigResponse methods
145 /************************************************************************
147 * IRMAAutoConfigResponse::OnBegin
149 * Notification for start of auto-configure process
152 STDMETHOD(OnBegin
) (THIS
) PURE
;
154 /************************************************************************
156 * IRMAAutoConfigResponse::OnProgress
158 * Notification for progress of auto-configure process
161 STDMETHOD(OnProgress
) (THIS_
164 const char* pProtocolDescription
) PURE
;
166 /************************************************************************
168 * IRMAAutoConfigResponse::OnComplete
170 * Notification for completion of auto-configure process
173 STDMETHOD(OnComplete
) (THIS_
175 UINT32 ulPNAProtocolID
,
176 PN_RESULT RTSPResult
,
177 UINT32 ulRTSPProtocolID
) PURE
;
181 #endif /* _RMAACONF_H_ */