1*cdf0e10cSrcweir /*************************************************************************
2*cdf0e10cSrcweir  *
3*cdf0e10cSrcweir  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir  *
5*cdf0e10cSrcweir  * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir  *
7*cdf0e10cSrcweir  * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir  *
9*cdf0e10cSrcweir  * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir  *
11*cdf0e10cSrcweir  * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir  * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir  * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir  *
15*cdf0e10cSrcweir  * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir  * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir  * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir  *
21*cdf0e10cSrcweir  * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir  * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir  * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir  * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir  *
26*cdf0e10cSrcweir  ************************************************************************/
27*cdf0e10cSrcweir 
28*cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
29*cdf0e10cSrcweir #include "precompiled_automation.hxx"
30*cdf0e10cSrcweir 
31*cdf0e10cSrcweir /*************************************************************************
32*cdf0e10cSrcweir  *
33*cdf0e10cSrcweir  *	  ATTENTION
34*cdf0e10cSrcweir  *	  This file is intended to work inside and outside the StarOffice environment.
35*cdf0e10cSrcweir  *	  Only adaption of file commtypes.hxx should be necessary. Else it is a bug!
36*cdf0e10cSrcweir  *
37*cdf0e10cSrcweir  ************************************************************************/
38*cdf0e10cSrcweir #include <osl/endian.h>
39*cdf0e10cSrcweir 
40*cdf0e10cSrcweir #include "cmdbasestream.hxx"
41*cdf0e10cSrcweir #include "rcontrol.hxx"
42*cdf0e10cSrcweir 
43*cdf0e10cSrcweir CmdBaseStream::CmdBaseStream()
44*cdf0e10cSrcweir : pCommStream( NULL )
45*cdf0e10cSrcweir {
46*cdf0e10cSrcweir }
47*cdf0e10cSrcweir 
48*cdf0e10cSrcweir CmdBaseStream::~CmdBaseStream()
49*cdf0e10cSrcweir {
50*cdf0e10cSrcweir }
51*cdf0e10cSrcweir 
52*cdf0e10cSrcweir void CmdBaseStream::GenError (rtl::OString *pUId, comm_String *pString )
53*cdf0e10cSrcweir {
54*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturnError));
55*cdf0e10cSrcweir 	Write(pUId);
56*cdf0e10cSrcweir 	Write(pString);
57*cdf0e10cSrcweir }
58*cdf0e10cSrcweir 
59*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, comm_ULONG nUId )
60*cdf0e10cSrcweir {
61*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
62*cdf0e10cSrcweir 	Write(nRet);
63*cdf0e10cSrcweir 	Write(nUId);
64*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_NONE));				// Typ der folgenden Parameter
65*cdf0e10cSrcweir }
66*cdf0e10cSrcweir 
67*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, rtl::OString *pUId, comm_ULONG nNr )
68*cdf0e10cSrcweir {
69*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
70*cdf0e10cSrcweir 	Write(nRet);
71*cdf0e10cSrcweir 	if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
72*cdf0e10cSrcweir 		Write(comm_ULONG(0));
73*cdf0e10cSrcweir 	else
74*cdf0e10cSrcweir 		Write(pUId);
75*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_ULONG_1));			// Typ der folgenden Parameter
76*cdf0e10cSrcweir 	Write(nNr);
77*cdf0e10cSrcweir }
78*cdf0e10cSrcweir 
79*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, rtl::OString *pUId, comm_String *pString )
80*cdf0e10cSrcweir {
81*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
82*cdf0e10cSrcweir 	Write(nRet);
83*cdf0e10cSrcweir 	if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
84*cdf0e10cSrcweir 		Write(comm_ULONG(0));
85*cdf0e10cSrcweir 	else
86*cdf0e10cSrcweir 		Write(pUId);
87*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_STR_1));				// Typ der folgenden Parameter
88*cdf0e10cSrcweir 	Write(pString);
89*cdf0e10cSrcweir }
90*cdf0e10cSrcweir 
91*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, rtl::OString *pUId, comm_BOOL bBool )
92*cdf0e10cSrcweir {
93*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
94*cdf0e10cSrcweir 	Write(nRet);
95*cdf0e10cSrcweir 	if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
96*cdf0e10cSrcweir 		Write(comm_ULONG(0));
97*cdf0e10cSrcweir 	else
98*cdf0e10cSrcweir 		Write(pUId);
99*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_BOOL_1));			// Typ der folgenden Parameter
100*cdf0e10cSrcweir 	Write(bBool);
101*cdf0e10cSrcweir }
102*cdf0e10cSrcweir 
103*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, rtl::OString *pUId, comm_ULONG nNr, comm_String *pString, comm_BOOL bBool )
104*cdf0e10cSrcweir {
105*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
106*cdf0e10cSrcweir 	Write(nRet);
107*cdf0e10cSrcweir 	if ( pUId->equals( rtl::OString( "UID_ACTIVE" ) ) )
108*cdf0e10cSrcweir 		Write(comm_ULONG(0));
109*cdf0e10cSrcweir 	else
110*cdf0e10cSrcweir 		Write(pUId);
111*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_ULONG_1|PARAM_STR_1|PARAM_BOOL_1));		// Typ der folgenden Parameter
112*cdf0e10cSrcweir 	Write(nNr);
113*cdf0e10cSrcweir 	Write(pString);
114*cdf0e10cSrcweir 	Write(bBool);
115*cdf0e10cSrcweir }
116*cdf0e10cSrcweir 
117*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, comm_USHORT nMethod, comm_ULONG nNr )
118*cdf0e10cSrcweir {
119*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
120*cdf0e10cSrcweir 	Write(nRet);
121*cdf0e10cSrcweir 	Write((comm_ULONG)nMethod); //HELPID BACKWARD (no sal_uLong needed)
122*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_ULONG_1));			// Typ der folgenden Parameter
123*cdf0e10cSrcweir 	Write(nNr);
124*cdf0e10cSrcweir }
125*cdf0e10cSrcweir 
126*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, comm_USHORT nMethod, comm_String *pString )
127*cdf0e10cSrcweir {
128*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
129*cdf0e10cSrcweir 	Write(nRet);
130*cdf0e10cSrcweir 	Write((comm_ULONG)nMethod); //HELPID BACKWARD (no sal_uLong needed)
131*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_STR_1));				// Typ der folgenden Parameter
132*cdf0e10cSrcweir 	Write(pString);
133*cdf0e10cSrcweir }
134*cdf0e10cSrcweir 
135*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, comm_USHORT nMethod, comm_BOOL bBool )
136*cdf0e10cSrcweir {
137*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
138*cdf0e10cSrcweir 	Write(nRet);
139*cdf0e10cSrcweir 	Write((comm_ULONG)nMethod); //HELPID BACKWARD (no sal_uLong needed)
140*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_BOOL_1));			// Typ der folgenden Parameter
141*cdf0e10cSrcweir 	Write(bBool);
142*cdf0e10cSrcweir }
143*cdf0e10cSrcweir 
144*cdf0e10cSrcweir void CmdBaseStream::GenReturn (comm_USHORT nRet, comm_USHORT nMethod, comm_USHORT nNr )
145*cdf0e10cSrcweir {
146*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
147*cdf0e10cSrcweir 	Write(nRet);
148*cdf0e10cSrcweir 	Write((comm_ULONG)nMethod); //HELPID BACKWARD (no sal_uLong needed)
149*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_USHORT_1));			// Typ der folgenden Parameter
150*cdf0e10cSrcweir 	Write(nNr);
151*cdf0e10cSrcweir }
152*cdf0e10cSrcweir 
153*cdf0e10cSrcweir 
154*cdf0e10cSrcweir // MacroRecorder
155*cdf0e10cSrcweir void CmdBaseStream::GenReturn( comm_USHORT nRet, rtl::OString *pUId, comm_USHORT nMethod )
156*cdf0e10cSrcweir {
157*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
158*cdf0e10cSrcweir 	Write(nRet);
159*cdf0e10cSrcweir 	Write(pUId);
160*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_USHORT_1));		// Typ der folgenden Parameter
161*cdf0e10cSrcweir 	Write(nMethod);
162*cdf0e10cSrcweir }
163*cdf0e10cSrcweir 
164*cdf0e10cSrcweir void CmdBaseStream::GenReturn( comm_USHORT nRet, rtl::OString *pUId, comm_USHORT nMethod, comm_String *pString )
165*cdf0e10cSrcweir {
166*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
167*cdf0e10cSrcweir 	Write(nRet);
168*cdf0e10cSrcweir 	Write(pUId);
169*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_USHORT_1|PARAM_STR_1));		// Typ der folgenden Parameter
170*cdf0e10cSrcweir 	Write(nMethod);
171*cdf0e10cSrcweir 	Write(pString);
172*cdf0e10cSrcweir }
173*cdf0e10cSrcweir 
174*cdf0e10cSrcweir void CmdBaseStream::GenReturn( comm_USHORT nRet, rtl::OString *pUId, comm_USHORT nMethod, comm_String *pString, comm_BOOL bBool )
175*cdf0e10cSrcweir {
176*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
177*cdf0e10cSrcweir 	Write(nRet);
178*cdf0e10cSrcweir 	Write(pUId);
179*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_USHORT_1|PARAM_STR_1|PARAM_BOOL_1));		// Typ der folgenden Parameter
180*cdf0e10cSrcweir 	Write(nMethod);
181*cdf0e10cSrcweir 	Write(pString);
182*cdf0e10cSrcweir 	Write(bBool);
183*cdf0e10cSrcweir }
184*cdf0e10cSrcweir 
185*cdf0e10cSrcweir void CmdBaseStream::GenReturn( comm_USHORT nRet, rtl::OString *pUId, comm_USHORT nMethod, comm_BOOL bBool )
186*cdf0e10cSrcweir {
187*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
188*cdf0e10cSrcweir 	Write(nRet);
189*cdf0e10cSrcweir 	Write(pUId);
190*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_USHORT_1|PARAM_BOOL_1));		// Typ der folgenden Parameter
191*cdf0e10cSrcweir 	Write(nMethod);
192*cdf0e10cSrcweir 	Write(bBool);
193*cdf0e10cSrcweir }
194*cdf0e10cSrcweir 
195*cdf0e10cSrcweir void CmdBaseStream::GenReturn( comm_USHORT nRet, rtl::OString *pUId, comm_USHORT nMethod, comm_ULONG nNr )
196*cdf0e10cSrcweir {
197*cdf0e10cSrcweir 	Write(comm_USHORT(SIReturn));
198*cdf0e10cSrcweir 	Write(nRet);
199*cdf0e10cSrcweir 	Write(pUId);
200*cdf0e10cSrcweir 	Write(comm_USHORT(PARAM_USHORT_1|PARAM_ULONG_1));		// Typ der folgenden Parameter
201*cdf0e10cSrcweir 	Write(nMethod);
202*cdf0e10cSrcweir 	Write(nNr);
203*cdf0e10cSrcweir }
204*cdf0e10cSrcweir 
205*cdf0e10cSrcweir 
206*cdf0e10cSrcweir 
207*cdf0e10cSrcweir void CmdBaseStream::Read (comm_USHORT &nNr)
208*cdf0e10cSrcweir {
209*cdf0e10cSrcweir 	comm_USHORT nId;
210*cdf0e10cSrcweir 	*pCommStream >> nId;
211*cdf0e10cSrcweir 	if (pCommStream->IsEof()) return;
212*cdf0e10cSrcweir #ifdef DBG_UTIL
213*cdf0e10cSrcweir 	if (nId != BinUSHORT) DBG_ERROR1( "Falscher Typ im Stream: Erwartet USHORT, gefunden :%hu", nId );
214*cdf0e10cSrcweir #endif
215*cdf0e10cSrcweir 	*pCommStream >> nNr;
216*cdf0e10cSrcweir }
217*cdf0e10cSrcweir 
218*cdf0e10cSrcweir void CmdBaseStream::Read (comm_ULONG &nNr)
219*cdf0e10cSrcweir {
220*cdf0e10cSrcweir 	comm_USHORT nId;
221*cdf0e10cSrcweir 	*pCommStream >> nId;
222*cdf0e10cSrcweir 	if (pCommStream->IsEof()) return;
223*cdf0e10cSrcweir #ifdef DBG_UTIL
224*cdf0e10cSrcweir 	if (nId != BinULONG) DBG_ERROR1( "Falscher Typ im Stream: Erwartet ULONG, gefunden :%hu", nId );
225*cdf0e10cSrcweir #endif
226*cdf0e10cSrcweir 	*pCommStream >> nNr;
227*cdf0e10cSrcweir }
228*cdf0e10cSrcweir 
229*cdf0e10cSrcweir void CmdBaseStream::Read (comm_UniChar* &aString, comm_USHORT &nLenInChars )
230*cdf0e10cSrcweir {
231*cdf0e10cSrcweir 	comm_USHORT nId;
232*cdf0e10cSrcweir 	*pCommStream >> nId;
233*cdf0e10cSrcweir #ifdef DBG_UTIL
234*cdf0e10cSrcweir 	if (nId != BinString) DBG_ERROR1( "Falscher Typ im Stream: Erwartet String, gefunden :%hu", nId );
235*cdf0e10cSrcweir #endif
236*cdf0e10cSrcweir 
237*cdf0e10cSrcweir 	*pCommStream >> nLenInChars;
238*cdf0e10cSrcweir 
239*cdf0e10cSrcweir 	aString = new comm_UniChar [nLenInChars];
240*cdf0e10cSrcweir 	pCommStream->Read( aString, ((comm_ULONG)nLenInChars) * sizeof( comm_UniChar ) );
241*cdf0e10cSrcweir #ifdef OSL_BIGENDIAN
242*cdf0e10cSrcweir     // we have to change the byteorder
243*cdf0e10cSrcweir     comm_USHORT n;
244*cdf0e10cSrcweir     for ( n = 0 ; n < nLenInChars ; n++ )
245*cdf0e10cSrcweir         aString[ n ] = aString[ n ] >> 8 | aString[ n ] << 8;
246*cdf0e10cSrcweir #endif
247*cdf0e10cSrcweir }
248*cdf0e10cSrcweir 
249*cdf0e10cSrcweir void CmdBaseStream::Read (comm_BOOL &bBool)
250*cdf0e10cSrcweir {
251*cdf0e10cSrcweir 	comm_USHORT nId;
252*cdf0e10cSrcweir 	*pCommStream >> nId;
253*cdf0e10cSrcweir #ifdef DBG_UTIL
254*cdf0e10cSrcweir 	if (nId != BinBool) DBG_ERROR1( "Falscher Typ im Stream: Erwartet BOOL, gefunden :%hu", nId );
255*cdf0e10cSrcweir #endif
256*cdf0e10cSrcweir 	*pCommStream >> bBool;
257*cdf0e10cSrcweir }
258*cdf0e10cSrcweir 
259*cdf0e10cSrcweir comm_USHORT CmdBaseStream::GetNextType()
260*cdf0e10cSrcweir {
261*cdf0e10cSrcweir 	comm_USHORT nId;
262*cdf0e10cSrcweir 	*pCommStream >> nId;
263*cdf0e10cSrcweir     pCommStream->SeekRel(-2);
264*cdf0e10cSrcweir     return nId;
265*cdf0e10cSrcweir }
266*cdf0e10cSrcweir 
267*cdf0e10cSrcweir 
268*cdf0e10cSrcweir void CmdBaseStream::Write( comm_USHORT nNr )
269*cdf0e10cSrcweir {
270*cdf0e10cSrcweir 	*pCommStream << comm_USHORT( BinUSHORT );
271*cdf0e10cSrcweir 	*pCommStream << nNr;
272*cdf0e10cSrcweir }
273*cdf0e10cSrcweir 
274*cdf0e10cSrcweir void CmdBaseStream::Write( comm_ULONG nNr )
275*cdf0e10cSrcweir {
276*cdf0e10cSrcweir 	*pCommStream << comm_USHORT( BinULONG );
277*cdf0e10cSrcweir 	*pCommStream << nNr;
278*cdf0e10cSrcweir }
279*cdf0e10cSrcweir 
280*cdf0e10cSrcweir void CmdBaseStream::Write( const comm_UniChar* aString, comm_USHORT nLenInChars )
281*cdf0e10cSrcweir {
282*cdf0e10cSrcweir     *pCommStream << comm_USHORT(BinString);
283*cdf0e10cSrcweir 
284*cdf0e10cSrcweir     comm_USHORT n;
285*cdf0e10cSrcweir 
286*cdf0e10cSrcweir     // remove BiDi and zero-width-markers    0x200B - 0x200F
287*cdf0e10cSrcweir     // remove BiDi and paragraph-markers     0x2028 - 0x202E
288*cdf0e10cSrcweir 
289*cdf0e10cSrcweir     comm_UniChar* aNoBiDiString;
290*cdf0e10cSrcweir     aNoBiDiString = new comm_UniChar [nLenInChars];
291*cdf0e10cSrcweir     comm_USHORT nNewLenInChars = 0;
292*cdf0e10cSrcweir     for ( n = 0 ; n < nLenInChars ; n++ )
293*cdf0e10cSrcweir     {
294*cdf0e10cSrcweir         comm_UniChar c = aString[ n ];
295*cdf0e10cSrcweir         if (  ((c >= 0x200B) && (c <= 0x200F))
296*cdf0e10cSrcweir             ||((c >= 0x2028) && (c <= 0x202E)) )
297*cdf0e10cSrcweir         {   //Ignore character
298*cdf0e10cSrcweir         }
299*cdf0e10cSrcweir         else
300*cdf0e10cSrcweir         {
301*cdf0e10cSrcweir             aNoBiDiString[ nNewLenInChars ] = c;
302*cdf0e10cSrcweir             nNewLenInChars++;
303*cdf0e10cSrcweir         }
304*cdf0e10cSrcweir     }
305*cdf0e10cSrcweir 
306*cdf0e10cSrcweir 	*pCommStream << nNewLenInChars;
307*cdf0e10cSrcweir 
308*cdf0e10cSrcweir #ifdef OSL_BIGENDIAN
309*cdf0e10cSrcweir     // we have to change the byteorder
310*cdf0e10cSrcweir     comm_UniChar* aNewString;
311*cdf0e10cSrcweir     aNewString = new comm_UniChar [nNewLenInChars];
312*cdf0e10cSrcweir     for ( n = 0 ; n < nNewLenInChars ; n++ )
313*cdf0e10cSrcweir         aNewString[ n ] = aNoBiDiString[ n ] >> 8 | aNoBiDiString[ n ] << 8;
314*cdf0e10cSrcweir 	pCommStream->Write( aNewString, ((comm_ULONG)nNewLenInChars) * sizeof( comm_UniChar ) );
315*cdf0e10cSrcweir     delete [] aNewString;
316*cdf0e10cSrcweir #else
317*cdf0e10cSrcweir     pCommStream->Write( aNoBiDiString, ((comm_ULONG)nNewLenInChars) * sizeof( comm_UniChar ) );
318*cdf0e10cSrcweir #endif
319*cdf0e10cSrcweir 
320*cdf0e10cSrcweir     delete [] aNoBiDiString;
321*cdf0e10cSrcweir }
322*cdf0e10cSrcweir 
323*cdf0e10cSrcweir void CmdBaseStream::Write( comm_BOOL bBool )
324*cdf0e10cSrcweir {
325*cdf0e10cSrcweir 	*pCommStream << comm_USHORT( BinBool );
326*cdf0e10cSrcweir 	*pCommStream << bBool;
327*cdf0e10cSrcweir }
328*cdf0e10cSrcweir 
329*cdf0e10cSrcweir void CmdBaseStream::Read ( comm_String* &pString )
330*cdf0e10cSrcweir {
331*cdf0e10cSrcweir     (void) pString; /* avoid warning about unused parameter */
332*cdf0e10cSrcweir     DBG_ERROR("Read ( comm_String* &pString ) Not Implemented");
333*cdf0e10cSrcweir }
334*cdf0e10cSrcweir void CmdBaseStream::Read ( rtl::OString* &pId )
335*cdf0e10cSrcweir {
336*cdf0e10cSrcweir     (void) pId; /* avoid warning about unused parameter */
337*cdf0e10cSrcweir     DBG_ERROR("Read ( rtl::OString* &pId ) Not Implemented");
338*cdf0e10cSrcweir }
339*cdf0e10cSrcweir 
340*cdf0e10cSrcweir void CmdBaseStream::Write( comm_String *pString )
341*cdf0e10cSrcweir {
342*cdf0e10cSrcweir     (void) pString; /* avoid warning about unused parameter */
343*cdf0e10cSrcweir     DBG_ERROR("Write( comm_String *pString ) Not Implemented");
344*cdf0e10cSrcweir }
345*cdf0e10cSrcweir void CmdBaseStream::Write( rtl::OString* pId )
346*cdf0e10cSrcweir {
347*cdf0e10cSrcweir     (void) pId; /* avoid warning about unused parameter */
348*cdf0e10cSrcweir     DBG_ERROR("Write( rtl::OString* pId ) Not Implemented");
349*cdf0e10cSrcweir }
350*cdf0e10cSrcweir 
351