Version 1.6 has an updated CDEV Directory service that is all written
in C++. The new directory parser is able to recover from common input
errors and continue processing the DDL file.
The CLIP protocol has been updated in CDEV 1.6 to use a Magic Number
which has improved the robustness of the CDEV Servers.
Additionally, some bug fixes have been made to the CDEV core... These
fixes should have resulted in no changes to the CDEV API.
>
> Also I noted that the bug I reported isn't fixed. Here's the post again.
> I got mail back from Jie Chen stating it was a bug and would be fixed in
> the next release.
> Kim
How does this grab you...
================================================================================
cdevDevice *cdevDevice::attachPtr(char *name, cdevSystem &system)
{
cdevDevice *dev =0;
cdevService *service=0;
// *********************************************************************
// * If the device has already been created, then increment the device's
// * reference count and return the existing pointer to the caller.
// *********************************************************************
if(system.deviceCreated(name))
{
dev=system.device(name);
dev->refCount_++;
}
// *********************************************************************
// * If the device has not been created, then create it.
// *********************************************************************
else
{
cdevData data, result;
data.insert("device", name);
// *************************************************************
// * Use the queryClass method to determine the DDL class
// * associated with the device name.
// *************************************************************
int status=(system.nameServer()).send
("queryClass", data, result);
// *************************************************************
// * if the device name is defined in the cdevDirectory...
// *************************************************************
if(status == CDEV_SUCCESS)
{
char *name;
result.find("value", (void* &) name);
// *****************************************************
// * If it is a collection, create a new cdevCollection
// *****************************************************
if(::strcmp(name, "collection") == 0)
dev=new cdevCollection(name, system);
// *****************************************************
// * Otherwise, create a simple cdevDevice.
// *****************************************************
else dev=new cdevDevice(name, system);
}
// *************************************************************
// * If the device name is not listed in the cdevDirectory, then
// * treat it as a simple device.
// *************************************************************
else dev=new cdevDevice(name, system);
}
return dev;
}
================================================================================
The tar file on the ftp site will be updated with this new cdevDevice.cc
by the end of the day...
Walt
--
=============================================================
Walt Akers Voice: (757)269-7669 E-Mail: akers@cebaf.gov
Thomas Jefferson National Accelerator Facility
12000 Jefferson Avenue, MS 16A
Newport News, Va 23606
=============================================================