Hi Eric
Below is the building error , Please check it. As to the
first
modification, can you give me some comment . Thanks!
../../../../datatype/wm/common/pub/hxccomptr.h: In member
function `bool
HXCComPtrBase<T>::IsEqualObject(IUnknown*)':
../../../../datatype/wm/common/pub/hxccomptr.h:165: error:
no match for
'operator==' in 'punk1 == punk2'
../../../../common/include/hxcom.h:480: note: candidates
are: bool
operator==(const GUID&, const GUID&)
../../../../datatype/wm/common/pub/hxccomptr.h: In member
function `T*
HXCComPtr<T>::operator=(T*)':
../../../../datatype/wm/common/pub/hxccomptr.h:226: error:
`p'
undeclared (first use this function)
../../../../datatype/wm/common/pub/hxccomptr.h:226: error:
(Each
undeclared identifier is reported only once for each
function it appears
in.)
../../../../datatype/wm/common/pub/hxccomptr.h: In member
function `T*
HXCComPtr<T>::operator=(const
HXCComPtr<T>&)':
../../../../datatype/wm/common/pub/hxccomptr.h:230: error:
`p'
undeclared (first use this function)
In file included from
../import/wmrtsp-porting-kit/network/client/helix/helix_stda
fx.h:62,
Eric Hyche wrote:
>  -158,8 +158,8 
> if (p == NULL || pOther == NULL)
> return false; // One is NULL the other is not
>
> - HXCComPtr<IUnknown> punk1;
> - HXCComPtr<IUnknown> punk2;
> + HXCComPtr<IUnknown> *punk1;
> + HXCComPtr<IUnknown> *punk2;
> p->QueryInterface(IID_IUnknown,
(void**)&punk1);
> pOther->QueryInterface(IID_IUnknown,
(void**)&punk2);
> return punk1 == punk2;
>
> This change doesn't seem right to me. In the current
> code, the & operator returns the address of the
internal
> pointer that the HXCComPtr smart pointer is holding.
Changing
> it to the *address* of the smart pointer is incorrect -
this
> will simply return the address of the smart pointer
object
> rather than invoking the smart pointer object's &
operator.
>
>  -223,11 +223,11 
>
> T* operator=(T* lp)
> {
> - return
static_cast<T*>(HXComPtrAssign((IUnknown**)&p,
lp));
> + return
>
static_cast<T*>(HXComPtrAssign((IUnknown**)&(this-
>p), lp));
> }
> T* operator=(const HXCComPtr<T>& lp)
> {
> - return
static_cast<T*>(HXComPtrAssign((IUnknown**)&p,
lp));
> + return
>
static_cast<T*>(HXComPtrAssign((IUnknown**)&(this-
>p), lp));
> }
> };
>
>
> I guess this change is OK, but it seems like it would
have
> to be a pretty dumb compiler not to realize that p is a
member
> of the object. What compiler error are you getting
here? Perhaps
> there is another way to solve this.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
>
>> -----Original Message-----
>> From: datatype-dev-bounces helixcommunity.org
>> [mailto:datatype-dev-bounces helixcommunity.org] On
Behalf Of
>> Lu Mingjun-E7978C
>> Sent: Wednesday, April 04, 2007 10:47 PM
>> To: datatype-dev helixcommunity.org
>> Cc: Qu Yongzhi-W20664; Zhao Liang-E3423C; Xing
Hongjiang-e7263c
>> Subject: [datatype-dev] CR-Client: datatype
project
>>
>> Modified by: e7263c motorola.com
>>
>> Date: 04:04:2007
>>
>> Project: mediaplayer on motorola phone
>> Bug Number:
>> Bug URL:
>>
>> Synopsis: this modification of wm is all for
compilation
>> error for arm11 version
>>
>> Overview: <detailed description>
>> 1 In datatype/wm/common/pub/hxccomptr.h, the
modification as followed:
>> HXCComPtr<IUnknown> *punk1;
>> HXCComPtr<IUnknown> *punk2;
>> return
static_cast<T*>(HXComPtrAssign((IUnknown**)&(this-
>p), lp));
>> return
static_cast<T*>(HXComPtrAssign((IUnknown**)&(this-
>p), lp));
>> Files Added:
>> [File 1] - <purpose synopsis>
>> [File 2] - <purpose synopsis>
>>
>>
>> Files Modified:
>> [File 1] - datatype/wm/common/pub/hxccomptr.h
>>
>>
>>
>> Image Size and Heap Use impact (Client -Only):
>> <Description of image size and heaps size
impact. >
>>
>> Platforms and Profiles Affected:
>> <List of profiles & platforms affected and
comments on how they are
>> affected if they are different>
>>
>> Distribution Libraries Affected:
>>
>> Distribution library impact and planned action:
>> <Is an update required and if so when will it
occur>
>>
>> Platforms and Profiles Build Verified:
>> build for arm11 version
>>
>> Platforms and Profiles Functionality verified:
>> <List of profiles & platforms for which the
functionality was
>> verified>
>>
>> Branch: <code branch(es) change is for>
>>
>> Copyright assignment: <3. >
>>
>> 1. In consideration for RealNetworks'
hosting and maintenance
>> of my modification, I agree to assign to
RealNetworks full
>> copyright ownership of the code included
in the attached
>> patch, and agree that RealNetworks has
no duty of
>> accounting
>> to me for it. I warrant that this code
is entirely original
>> to and owned by me, that I can legally
grant the copyright
>> assignment, and that my contribution
does not
>> violate any other
>> person's rights, and laws or breach any
contract.
>> I understand
>> that RealNetworks may license this code
under RPSL, RCSL,
>> and/or any other license at
RealNetworks'
>> discretion, and use
>> the code in any way.
>>
>> 2. I have signed and delivered a Joint
Copyright Assignment
>> to RealNetworks, and received
acknowledgment that the
>> agreement was received.
>>
>> 3. My company (Motorola) submits this code
under the terms
>> of a commercial contribution agreement
with RealNetworks,
>> and I am authorized to contribute this
code under
>> said agreement.
>>
>> 4. I am a RealNetworks employee or
contractor
>>
>> QA Instructions:
>> <Description of functionality affected &
suggestions on verification
>> areas>
>>
>> <http://www.realnetworks.com/products/support/dev
support.html>
>>
>>
>
>
_______________________________________________
Datatype-dev mailing list
Datatype-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/da
tatype-dev
|