#include "stdint.h"
#include <atlbase.h>
#include "dn_common.h"
#include "bCapBase.h"

bCapBase::bCapBase(int Type, BSTR Name) : m_iType(Type)
{
	m_bstrName = SysAllocString(Name);
	m_objParent = NULL;
}

bCapBase::~bCapBase()
{
	if(m_objParent != NULL){
		m_objParent->remove_Object(m_iType, m_bstrName);
		m_objParent = NULL;
	}

	if(m_bstrName != NULL){
		SysFreeString(m_bstrName);
		m_bstrName = NULL;
	}
}

HRESULT bCapBase::get_Name(BSTR *Name)
{
	*Name = SysAllocString(m_bstrName);
	return S_OK;
}

HRESULT put_Parent(bCapBase *Me, bCapBase *Parent)
{
	Me->m_objParent = Parent;
	return S_OK;
}
