Reading and Displaying Objects
This section shows example code to read and display objects. The example code uses:
MetaObject::ReadObject
///////////////////////////////////////////////////////////////////
// ReadByClsGUIDName function
//
// Set ClassGUID and Name to Read object.
///////////////////////////////////////////////////////////////////
void ReadByClsGUIDName()
{
CMetaObject obj;
CMetaObject obj2;
cout << endl << ">>> Read by ClassGUID and Name" << endl;
obj.SetClassGUID(CLSGUID_AutoDiv);
obj.SetObjectName(_T("AmericanAutos"));
PerformReadObject(obj);
cout << endl << ">>> Read by ClassGUID and Name" << endl;
obj2.SetClassGUID(CLSGUID_Auto);
obj2.SetObjectName(_T("Yearling"));
PerformReadObject(obj2);
}
////////////////////////////////////////////////////////////////
// ReadByObjectGUID function
//
// Set ObjectGUID to Read object.
////////////////////////////////////////////////////////////////
void ReadByObjectGUID()
{
CMetaObject obj3;
CMetaObject obj4;
CMetaObject obj5;
HRESULT result = S_OK;
cout << endl << ">>> Read by Object GUID" << endl;
obj3.SetObjectGUID(OBJGUID_AmericanAutos);
PerformReadObject(obj3);
cout << endl << ">>> Read by Object GUID" << endl;
obj4.SetObjectGUID(OBJGUID_Tornado);
PerformReadObject(obj4);
}
//////////////////////////////////////////////////////////////
// ReadByClsIDName function
//
// Set ClassID and Name to Read object.
//////////////////////////////////////////////////////////////
void ReadByClsIDName(CMetaRepository& repos)
{
OBJECTID_t
ClassIDDiv = NULLLOID,
ClassIDAuto = NULLLOID;
CMetaObject obj5;
CMetaObject obj6;
HRESULT result = S_OK;
result = repos.GetObjectID(CLSGUID_AutoDiv, &ClassIDDiv);
if (SUCCEEDED(result))
result = repos.GetObjectID(CLSGUID_Auto, &ClassIDAuto);
if (SUCCEEDED(result))
{
cout << endl << ">>> Read by ClassID and Name" << endl;
obj5.SetClassID(ClassIDDiv);
obj5.SetObjectName(_T("AmericanAutos"));
PerformReadObject(obj5);
cout << endl << ">>> Read by ClassID and Name" << endl;
obj6.SetClassID(ClassIDAuto);
obj6.SetObjectName(_T("Yearling"));
PerformReadObject(obj6);
}
}
///////////////////////////////////////////////////////////////
// ReadByObjectID function
//
// Set ObjectID to Read object.
///////////////////////////////////////////////////////////////
void ReadByObjectID(CMetaRepository& repos)
{
OBJECTID_t
loidEuroDiv = NULLLOID,
loidTortoise = NULLLOID;
CMetaObject obj7;
CMetaObject obj8;
HRESULT result = S_OK;
if (SUCCEEDED(result))
result = repos.GetObjectID(OBJGUID_EuroDivision, &loidEuroDiv);
if (SUCCEEDED(result))
result = repos.GetObjectID(OBJGUID_Tortoise, &loidTortoise);
if (SUCCEEDED(result))
{
cout << endl << ">>> Read by ObjectID" << endl;
obj7.SetObjectID(loidEuroDiv);
PerformReadObject(obj7);
cout << endl << ">>> Read by ObjectID" << endl;
obj8.SetObjectID(loidTortoise);
PerformReadObject(obj8);
}
}