Release build won't link to log4cplus.
[xy_vsfilter.git] / include / realmedia / rmacfg.h
blobd2fdde3ee1d0231b0c10b2d8f7b5e0b058208a42
1 /****************************************************************************
2 *
3 * $Id: rmacfg.h 7 2003-05-30 02:18:02Z gabest $
4 *
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 * Server Configuration File Interface
17 #ifndef _RMACFG_H_
18 #define _RMACFG_H_
20 typedef _INTERFACE IRMABuffer IRMABuffer;
22 /****************************************************************************
24 * Interface:
26 * IRMAConfigFile
28 * Purpose:
30 * IID_IRMAConfigFile:
32 * {00001c00-0901-11d1-8B06-00A024406D59}
35 DEFINE_GUID(IID_IRMAConfigFile, 0x00001c00, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
36 0xa0, 0x24, 0x40, 0x6d, 0x59);
38 #undef INTERFACE
39 #define INTERFACE IRMAConfigFile
41 DECLARE_INTERFACE_(IRMAConfigFile, IUnknown)
44 * IUnknown methods
46 STDMETHOD(QueryInterface) (THIS_
47 REFIID riid,
48 void** ppvObj) PURE;
50 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
52 STDMETHOD_(ULONG,Release) (THIS) PURE;
55 * IRMAConfigFile methods
57 /************************************************************************
58 * Method:
59 * IRMAConfigFile::LoadFrom
60 * Purpose:
62 * LoadFrom tells the server to load the config file specified,
63 * and sets that file as the default for future Reloads and Saves
65 STDMETHOD(LoadFrom) (THIS_
66 IRMABuffer* filename) PURE;
68 /************************************************************************
69 * Method:
70 * IRMAConfigFile::Reload
71 * Purpose:
73 * Reload causes the current default config file to be reloaded.
75 STDMETHOD(Reload) (THIS) PURE;
77 /************************************************************************
78 * Method:
79 * IRMAConfigFile::Save
80 * Purpose:
82 * Save causes the current configuration to be written to the
83 * current default file.
85 STDMETHOD(Save) (THIS) PURE;
87 /************************************************************************
88 * Method:
89 * IRMAConfigFile::SaveAs
90 * Purpose:
92 * SaveAs writes the configuration to the named file, and sets that
93 * file as the default.
95 STDMETHOD(SaveAs) (THIS_
96 IRMABuffer* pFilename) PURE;
98 /************************************************************************
99 * Method:
100 * IRMAConfigFile::GetFilename
101 * Purpose:
103 * GetFilename returns the current default file
105 STDMETHOD(GetFilename) (THIS_
106 REF(IRMABuffer*) pFilename) PURE;
108 /************************************************************************
109 * Method:
110 * IRMAConfigFile::SetFilename
111 * Purpose:
113 * SetFilename sets the current default file, but does not read it
114 * or change its contents.
116 STDMETHOD(SetFilename) (THIS_
117 IRMABuffer* pFilename) PURE;
120 /****************************************************************************
122 * Interface:
124 * IRMARegConfig
126 * Purpose:
128 * IID_IRMARegConfig:
130 * {00001c01-0901-11d1-8B06-00A024406D59}
133 DEFINE_GUID(IID_IRMARegConfig, 0x00001c01, 0x901, 0x11d1, 0x8b, 0x6, 0x0,
134 0xa0, 0x24, 0x40, 0x6d, 0x59);
136 #undef INTERFACE
137 #define INTERFACE IRMARegConfig
139 DECLARE_INTERFACE_(IRMARegConfig, IUnknown)
142 * IUnknown methods
144 STDMETHOD(QueryInterface) (THIS_
145 REFIID riid,
146 void** ppvObj) PURE;
148 STDMETHOD_(ULONG,AddRef) (THIS) PURE;
150 STDMETHOD_(ULONG,Release) (THIS) PURE;
152 /************************************************************************
153 * Method:
154 * IRMARegConfig::WriteKey
155 * Purpose:
157 * Write out the registry from the passed in keyname to the
158 * currently active permanent config storage area (ex. config file,
159 * registry).
161 STDMETHOD(WriteKey) (THIS_
162 const char* pKeyName) PURE;
166 #endif /* _RMACFG_H_ */