00001 #include "DataUtilities//DybAddress.h" 00002 00003 DybAddress::DybAddress(long svcType, 00004 const CLID& clID) : 00005 m_refCount(0), 00006 m_clID(clID), 00007 m_svcType(svcType), 00008 p_par(0), 00009 p_ipar(0) { 00010 } 00011 00012 DybAddress::~DybAddress() { 00013 if (0 != p_ipar) { 00014 delete [] p_ipar; 00015 } 00016 if (0 != p_par) { 00017 delete [] p_par; 00018 } 00019 } 00020 00021 unsigned long DybAddress::addRef() { 00022 return ++m_refCount; 00023 } 00024 00025 unsigned long DybAddress::release() { 00026 int result = --m_refCount; 00027 if ( 0 == result ) { 00028 delete this; 00029 } 00030 return result; 00031 } 00032 00033 const CLID& DybAddress::clID() const { 00034 return m_clID; 00035 } 00036 00037 long DybAddress::svcType() const { 00038 return m_svcType; 00039 } 00040 00041 IRegistry* DybAddress::registry() const { 00042 return p_registry; 00043 } 00044 00045 void DybAddress::setRegistry(IRegistry* r) { 00046 p_registry = r; 00047 } 00048 00049 void DybAddress::setPar(const std::string* par) { 00050 p_par = const_cast<std::string*>(par); 00051 } 00052 00053 void DybAddress::setIPar(const unsigned long* ipar) { 00054 p_ipar = const_cast<unsigned long*>(ipar); 00055 } 00056 00057 const std::string* DybAddress::par() const { 00058 return p_par; 00059 } 00060 00061 const unsigned long* DybAddress::ipar() const{ 00062 return p_ipar; 00063 }