csgo-2018-source/datamodel/dmconnect.cpp
2021-07-24 21:11:47 -07:00

66 lines
1.5 KiB
C++

//===== Copyright © 2005-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose: A higher level link library for general use in the game and tools.
//
//===========================================================================//
#include <tier3/tier3.h>
#include "datamodel/idatamodel.h"
#include "dmserializers/idmserializers.h"
// NOTE: This has to be the last file included!
#include "tier0/memdbgon.h"
//-----------------------------------------------------------------------------
// Set up methods related to datamodel interfaces
//-----------------------------------------------------------------------------
bool ConnectDataModel( CreateInterfaceFn factory )
{
if ( !g_pDataModel->Connect( factory ) )
return false;
if ( !g_pDmElementFramework->Connect( factory ) )
return false;
if ( !g_pDmSerializers->Connect( factory ) )
return false;
return true;
}
InitReturnVal_t InitDataModel()
{
InitReturnVal_t nRetVal;
nRetVal = g_pDataModel->Init( );
if ( nRetVal != INIT_OK )
return nRetVal;
nRetVal = g_pDmElementFramework->Init();
if ( nRetVal != INIT_OK )
return nRetVal;
nRetVal = g_pDmSerializers->Init();
if ( nRetVal != INIT_OK )
return nRetVal;
return INIT_OK;
}
void ShutdownDataModel()
{
g_pDmSerializers->Shutdown();
g_pDmElementFramework->Shutdown();
g_pDataModel->Shutdown( );
}
void DisconnectDataModel()
{
g_pDmSerializers->Disconnect();
g_pDmElementFramework->Disconnect();
g_pDataModel->Disconnect();
}