//////////////////////////////////////////////////////////////////////////////
/*++

Copyright (C) Microsoft Corporation, 1998 - 1999

Module Name:

	IASBaseAttributeInfo.cpp 

Abstract:

	Implementation file for the CBaseAttributeInfo class.

Revision History:
	mmaguire 06/25/98	- created

--*/
//////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////
// BEGIN INCLUDES
//
// standard includes:
//
#include "Precompiled.h"
//
// where we can find declaration for main class in this file:
//
#include "IASBaseAttributeInfo.h"
//
// where we can find declarations needed in this file:
//
//
// END INCLUDES
//////////////////////////////////////////////////////////////////////////////



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_AttributeID

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_AttributeID(ATTRIBUTEID * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_AttributeID;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_AttributeID

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_AttributeID(ATTRIBUTEID newVal)
{
	m_AttributeID = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_AttributeName

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_AttributeName(BSTR * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_bstrAttributeName.Copy();

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_AttributeName

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_AttributeName(BSTR newVal)
{
	m_bstrAttributeName = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_AttributeSyntax

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_AttributeSyntax(ATTRIBUTESYNTAX * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_AttributeSyntax;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_AttributeSyntax

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_AttributeSyntax(ATTRIBUTESYNTAX newVal)
{
	m_AttributeSyntax = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_AttributeRestriction

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_AttributeRestriction(long * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_lAttributeRestriction;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_AttributeRestriction

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_AttributeRestriction(long newVal)
{
	m_lAttributeRestriction  = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_VendorID

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_VendorID(long * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_lVendorID;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_VendorID

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_VendorID(long newVal)
{
	m_lVendorID = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_AttributeDescription

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_AttributeDescription(BSTR * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_bstrAttributeDescription.Copy();

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_AttributeDescription

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_AttributeDescription(BSTR newVal)
{
	m_bstrAttributeDescription = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_VendorName

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_VendorName(BSTR * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_bstrVendorName.Copy();

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_VendorName

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_VendorName(BSTR newVal)
{
	m_bstrVendorName = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_SyntaxString

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_SyntaxString(BSTR * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_bstrSyntaxString.Copy();

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_SyntaxString

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_SyntaxString(BSTR newVal)
{
	m_bstrSyntaxString = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_EditorProgID

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::get_EditorProgID(BSTR * pVal)
{
	// Check for preconditions:
	if( pVal == NULL )
	{
		return E_INVALIDARG;
	}

	*pVal = m_bstrEditorProgID.Copy();

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_EditorProgID

--*/
//////////////////////////////////////////////////////////////////////////////
STDMETHODIMP CBaseAttributeInfo::put_EditorProgID(BSTR newVal)
{
	m_bstrEditorProgID = newVal;

	return S_OK;
}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::get_Value

--*/
//////////////////////////////////////////////////////////////////////////////
//STDMETHODIMP CBaseAttributeInfo::get_Value(VARIANT * pVal)
//{
//	HRESULT hr;
//
//	hr = VariantCopy( pVal, &m_varValue);
//
//	return hr;
//}



//////////////////////////////////////////////////////////////////////////////
/*++

CBaseAttributeInfo::put_Value
--*/
//////////////////////////////////////////////////////////////////////////////
//STDMETHODIMP CBaseAttributeInfo::put_Value(VARIANT newVal)
//{
//	m_varValue = newVal;
//
//	return S_OK;
//}
