[reSIProcate] I think you resip developers should know about this... IMPORTANT.

John Draper lists at webcrunchers.com
Thu Aug 18 14:38:36 CDT 2005


Hi guys,

Obviously, not many of you guys will never have a need to add the 
resiprocate into an
X-Code project, and this confirms my suspicion that nobody has done this 
before,
or it would be mentioned on the list.

I scanned for previous archives to see if anyone ever mentioned this 
problem,
and I want to post a fix for this and propose a change to be made in 
dum/Handle.hxx

Let me explain...

Yesterday, I posted an email to the list titled:  problems including  
DialogUsageManager.hxx
Obviously nobody has yet bothered to take a close look at it,  but after 
about 19 hours
of trial and error,  I found something of interest to all you developers.

First,  some background...

The Mac programming environment uses Objective C...  we all know that.  
But I bet you
don't know about the special object class type called "id",  unique to 
the Mac.  You also
should be aware that Objective-C++ uses a global namespace.  Other 
modules like
"resip" have their own namespaces, and they are respected in the usual 
way.  But no
matter what,  names defined in the Obj C envirnment have meaning in C++.

In the module:   dum/Handle.hxx there is this line...

   public:
      Handle(HandleManager& ham, Handled::Id id) : mHam(&ham), mId(id)

It uses the "reserved" word "id" which clashes with the Mac's Objective-C++
namespace.

I found out by changing this line to:

     Handle(HandleManager& ham, Handled::Id xid) : mHam(&ham), mId(xid)

Would fix MY problem.

So,  I propose this line be replaced instead of the original line.

Obviously, it is not YOUR problem,  but "Drapers law" states that other 
peoples
problems become MY problem...  but you guys had NO Idea of this Mac 
Strangeness.
as it is very specific to Mac.   Thus my suggestion that we all should 
refrain from
naming object, structure, or variable names to "id".

Now I have to chase through all this code to find OTHER places where "id" is
used.

John





More information about the resiprocate-devel mailing list