Wed Aug 20 15:11:23 1997 Mike MacFaden * rebuilt Makefile using g++dep * pdu.h pdu.cpp initialization errors fixed * address.h address.cpp IpAddress::to_octet() added Fri Aug 1 19:23:52 1997 Mike MacFaden (mrm@mrm-ss20) * NOTES: This first version only tested on Solaris 2.5 * review classes for thread safety. Current thread design only allows for one thread to safely access any ASNMP object created. * run purify test of get routine no -memory leaks. * verify both shared archive/static archive types work with example programs * << Globals Changes >> * tested only archiver library version * reformat code to use one brace style. * changed all manifest constants defined as _XX to XX_ to stay out of compiler namespace * change all OS calls to use ACE_OS:: portability layer, #include * reformat code to use one consistent brace layout and redo header using ACE * remove semicolons on member functions foo{}; - not necessary * make get() methods const member functions * removed unnecessary casts that looked like this: and revamped all memory allocations via ACE_NEW macro new_oid = (SmiLPUINT32) new unsigned long [ smival.value.oid.len To ACE_NEW(new_oid, SmiUINT32[ smival.value.oid.len]) * Collapsed default constructors with constructors to constructors with default arguments. * removed unused #include * Added ACE_TRACE() to classes * change get_printable() to to_string() - there will be more java programmers in the future so this should be the first step... * removed ASYNC interface till it can be rebuilt using ACE patterns * Attempt to make interface more type strict but leaving generic interfaces as escape hatch. Example: CTarget becomes UdpTarget for UDP/IP based agents. * << Class Specific Changes >> * Oid class: - remove char * routines, simplify class - added suboid method and removed get_printable() overloads * CTarget class: - renamed to UdpTarget. Stay out of Microsoft Namespace per MSJ Article by Allen Hollub. * Varbind class: - remove generic set_value for char,int, etc. Too easy to get this wrong. Allow just types defined. - added overload for equality operator (==) - added new constructor to allow setting full vb state oid,value, exception - add to_string() * Address class: - change manifest constants to enums for address lengths, add IP V6 lens - add a netbios name class, still pretty worthless since I don't have spec in front of me yet... - rewrite resolver calls to be thread safe and cleaner by moving to two class (static) member functions: // thread safe routine to lookup ip address given hostname // return <> 0 on error static int resolve_to_addr(const char *hostname, in_addr& quad_addr); // thread safe routine to lookup name given ip address // return <> 0 on error static int resolve_to_hostname(const in_addr& quad_addr, char *hostname) * added some interrogation routines to class IpAddress: is_loopback() const; * Ctr64 class: - added constructor using long long datatype (needs to be made portable to NT * Pdu class: add to_string() * Classes added wpdu class: - a new adpater class between CMU and HP pdu, varbind data structures * transaction class: - implement get/getnext timeout and retry logic using ACE Reactor class, ACE_Time_Value