logo       

Sponsor
FREE Network Mapping Tool for Microsoft® Office Visio® Professional 2007
Don't map your network by hand - let LANsurveyor Exx press for Microsoft Visio Professional 2007 automatically create network diagrams for you!

Re: ObjectPtrT question: msg#00081

apache.logging.log4cxx.user

Subject: Re: ObjectPtrT question


On Dec 21, 2004, at 6:35 AM, Jess.Morecroft@xxxxxxx wrote:

Hi,

I'm writing a custom appender for log4cxx, and have a few questions about the Object/ObjectImpl/ObjectPtrT classes.....Basically I'm going to code a number of classes that extend ObjectImpl, to make use of the ObjectPtrT "smart pointer" template and the Java-inspired threading methods, wait, notifiy, notifyAll (and I notice you have a semaphore imp...nice).


Actually, I've been removing the Java-inspired threading methods from the underlying Object interface in the APR rework. Only a few classes used the constructs but it required every object to carry around mutexes and trying to precisely reproduce the Java threading semantics is a non-trivial task.


My question is a very general one.....what are the general rules of thumb you've been using when extending the ObjectImpl class?.... I've noticed the object macros (eg. casting ones), and will be including them in the declarations and implementations for my descendant classes. Can't say I'm entirely sure of the purpose of the cast method defined by the object class and implemented by the macros....is this just supposed to be a safe way of dynamically down-casting an object?....if so why was this method chosen in favour of the builtin dynamic_cast mechanism?...anyway, my C++ is good, but not exceptional (yet :-) ), so please excuse me if I've missed something here.


I can only speculate on the motivation since I wasn't in the project when the code was originally written. The casting mechanism is an attempt to do support safe down-casting and could have been written using RTTI. I assume that RTTI was avoided since compiler support varies and use of RTTI may have required code that used log4cxx be compiled with RTTI enabled. It might be good to see if downcasting is actually used within log4cxx, if not maybe those macros could be stubbed out.




<Prev in Thread] Current Thread [Next in Thread>
Sponsor
FREE Network Mapping Tool for Microsoft® OfficeVisio Professional 2007
Don't map your network by hand - let LANsurveyor Express for Microsoft Visio Professional 2007
automatically create network diagrams for you!
Google Custom Search

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe

Navigation

Home | sitemap | advertise | OSDir is an inevitable website. super tiny logo