Add pgs color type setting
[xy_vsfilter.git] / include / realmedia / rmaupgrd.h
blob8240112a5d26bedd125ef1b5dc40dc5e3b7812de
1 /****************************************************************************
2 *
3 * $Id: rmaupgrd.h 7 2003-05-30 02:18:02Z gabest $
5 * Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
7 * http://www.real.com/devzone
9 * This program contains proprietary
10 * information of Progressive Networks, Inc, and is licensed
11 * subject to restrictions on use and distribution.
13 * Auto Upgrade Interfaces
17 #ifndef _RMAUPGRD_H
18 #define _RMAUPGRD_H
21 typedef _INTERFACE IRMABuffer IRMABuffer;
24 /* Enumeration for the upgrade types */
25 typedef enum _RMAUpgradeType
27 eUT_Required,
28 eUT_Recommended,
29 eUT_Optional
30 } RMAUpgradeType;
33 /****************************************************************************
35 * Interface:
37 * IRMAUpgradeCollection
39 * Purpose:
41 * Interface provided by the Context. This interface allows collection
42 * of upgrade components by the client core and it's delegates
43 * (i.e. renderer plugins etc.)
45 * IID_IRMAUpgradeCollection
47 * {00002500-0901-11d1-8B06-00A024406D59}
51 DEFINE_GUID(IID_IRMAUpgradeCollection,
52 0x00002500, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
54 #undef INTERFACE
55 #define INTERFACE IRMAUpgradeCollection
57 DECLARE_INTERFACE_(IRMAUpgradeCollection, IUnknown)
60 * IRMAUpgradeCollection methods
63 /************************************************************************
64 * Method:
65 * IRMAUpgradeCollection::Add
66 * Purpose:
67 * Adds the specified upgrade information to the collection
70 STDMETHOD_(UINT32, Add) (THIS_
71 RMAUpgradeType upgradeType,
72 IRMABuffer* pPluginId,
73 UINT32 majorVersion,
74 UINT32 minorVersion) PURE;
76 /************************************************************************
77 * Method:
78 * IRMAUpgradeCollection::Remove
79 * Purpose:
80 * Remove the specified item from the collection
83 STDMETHOD(Remove) (THIS_
84 UINT32 index) PURE;
86 /************************************************************************
87 * Method:
88 * IRMAUpgradeCollection::RemoveAll
89 * Purpose:
90 * Remove all items from the collection
93 STDMETHOD(RemoveAll) (THIS) PURE;
95 /************************************************************************
96 * Method:
97 * IRMAUpgradeCollection::GetCount
98 * Purpose:
99 * get the count of the collection
102 STDMETHOD_(UINT32, GetCount)(THIS) PURE;
104 /************************************************************************
105 * Method:
106 * IRMAUpgradeCollection::GetAt
107 * Purpose:
108 * get the specified items upgrade information
111 STDMETHOD(GetAt) (THIS_
112 UINT32 index,
113 REF(RMAUpgradeType) upgradeType,
114 IRMABuffer* pPluginId,
115 REF(UINT32) majorVersion,
116 REF(UINT32) minorVersion) PURE;
120 /****************************************************************************
122 * Interface:
124 * IRMAUpgradeHandler
126 * Purpose:
128 * Interface provided by the top-level client application. This
129 * interface allows the client core to request an upgrade.
131 * IID_IRMAUpgradeHandler:
133 * {00002501-0901-11d1-8B06-00A024406D59}
137 DEFINE_GUID(IID_IRMAUpgradeHandler,
138 0x00002501, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59);
140 #undef INTERFACE
141 #define INTERFACE IRMAUpgradeHandler
143 DECLARE_INTERFACE_(IRMAUpgradeHandler, IUnknown)
146 * IRMAUpgradeHandler methods
149 /************************************************************************
150 * Method:
151 * IRMAUpgradeHandler::RequestUpgrade
152 * Purpose:
153 * Ask if user wants to do an upgrade and start an upgrade
156 STDMETHOD(RequestUpgrade) (THIS_ IRMAUpgradeCollection* pComponents,
157 BOOL bBlocking) PURE;
159 /************************************************************************
160 * Method:
161 * IRMAUpgradeHandler::HasComponents
162 * Purpose:
163 * Check if required components are present on the system.
164 * Returns:
165 * PNR_OK - components are here, no upgrade required;
166 * all components are removed from pComponents.
167 * PNR_FAIL - some components are missing;
168 * pComponents contains only those components
169 * that need upgrade.
172 STDMETHOD(HasComponents) (THIS_ IRMAUpgradeCollection* pComponents) PURE;
177 #endif /* _RMAUPGRD_H */