Release build won't link to log4cplus.
[xy_vsfilter.git] / include / realmedia / rmaaconf.h
blob4d9188960e8088a7aec7b3652f65c068091faa1d
1 /****************************************************************************
2 *
4 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
5 *
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
17 #ifndef _RMAACONF_H_
18 #define _RMAACONF_H_
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 /****************************************************************************
33 * Interface:
35 * IRMAAutoConfig
37 * Purpose:
38 * This interface allows the auto-configuration of the protocol used by
39 * the client core.
41 * IID_IRMAAutoConfig:
43 * {00002700-0901-11d1-8B06-00A024406D59}
46 DEFINE_GUID(IID_IRMAAutoConfig, 0x00002700, 0x901, 0x11d1, 0x8b, 0x6,
47 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
49 #undef INTERFACE
50 #define INTERFACE IRMAAutoConfig
52 DECLARE_INTERFACE_(IRMAAutoConfig, IUnknown)
55 * IUnknown methods
57 STDMETHOD(QueryInterface) (THIS_
58 REFIID riid,
59 void** ppvObj) PURE;
61 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
63 STDMETHOD_(ULONG,Release) (THIS) PURE;
66 * IRMAAutoConfig methods
68 /************************************************************************
69 * Method:
70 * IRMAAutoConfig::Init
71 * Purpose:
72 * Shutdown the configuration process.
75 STDMETHOD(Init) (THIS_
76 IRMAAutoConfigResponse* pResponse,
77 const char* pPNAURL,
78 const char* pRTSPURL) PURE;
80 /************************************************************************
81 * Method:
82 * IRMAAutoConfig::Close
83 * Purpose:
84 * Shutdown the configuration process.
87 STDMETHOD(Close) (THIS) PURE;
89 /************************************************************************
90 * Method:
91 * IRMAAutoConfig::Abort
92 * Purpose:
93 * Abort the configuration process.
96 STDMETHOD(Abort) (THIS) PURE;
98 /************************************************************************
99 * Method:
100 * IRMAAutoConfig::DoAutoConfig
101 * Purpose:
102 * Start the auto-configuration Process.
105 STDMETHOD(DoAutoConfig) (THIS) PURE;
109 /****************************************************************************
111 * Interface:
113 * IRMAAutoConfigResponse
115 * Purpose:
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);
126 #undef INTERFACE
127 #define INTERFACE IRMAAutoConfigResponse
129 DECLARE_INTERFACE_(IRMAAutoConfigResponse, IUnknown)
132 * IUnknown methods
134 STDMETHOD(QueryInterface) (THIS_
135 REFIID riid,
136 void** ppvObj) PURE;
138 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
140 STDMETHOD_(ULONG,Release) (THIS) PURE;
143 * IRMAAutoConfigResponse methods
145 /************************************************************************
146 * Method:
147 * IRMAAutoConfigResponse::OnBegin
148 * Purpose:
149 * Notification for start of auto-configure process
152 STDMETHOD(OnBegin) (THIS) PURE;
154 /************************************************************************
155 * Method:
156 * IRMAAutoConfigResponse::OnProgress
157 * Purpose:
158 * Notification for progress of auto-configure process
161 STDMETHOD(OnProgress) (THIS_
162 UINT32 ulProgress,
163 UINT32 ulProtocolID,
164 const char* pProtocolDescription) PURE;
166 /************************************************************************
167 * Method:
168 * IRMAAutoConfigResponse::OnComplete
169 * Purpose:
170 * Notification for completion of auto-configure process
173 STDMETHOD(OnComplete) (THIS_
174 PN_RESULT PNAResult,
175 UINT32 ulPNAProtocolID,
176 PN_RESULT RTSPResult,
177 UINT32 ulRTSPProtocolID) PURE;
181 #endif /* _RMAACONF_H_ */