1
0
mirror of https://github.com/alliedmodders/hl2sdk.git synced 2025-01-09 10:39:03 +08:00
hl2sdk/public/datacache/iresourceaccesscontrol.h
2010-07-22 01:46:14 -05:00

51 lines
1.7 KiB
C

//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
// $Workfile: $
// $Date: $
// $NoKeywords: $
//===========================================================================//
#ifndef IRESOURCEACCESSCONTROL_H
#define IRESOURCEACCESSCONTROL_H
#ifdef _WIN32
#pragma once
#endif
#include "tier0/dbg.h"
#include "tier2/resourceprecacher.h"
#include "appframework/iappsystem.h"
//-----------------------------------------------------------------------------
// Resource access control API
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// IResourceAccessControl
// Purpose: Maintains lists of resources to use them as filters to prevent access
// to ensure proper precache behavior in game code
//-----------------------------------------------------------------------------
abstract_class IResourceAccessControl : public IAppSystem
{
public:
// Creates, destroys a resource list
virtual ResourceList_t CreateResourceList( const char *pDebugName ) = 0;
virtual void DestroyAllResourceLists( ) = 0;
// Adds a resource to a resource list
virtual void AddResource( ResourceList_t hResourceList, ResourceTypeOld_t nType, const char *pResourceName ) = 0;
// Prevents access to anything except the specified resource list
// Pass RESOURCE_LIST_INVALID to allow access to all resources
virtual void LimitAccess( ResourceList_t hResourceList ) = 0;
// Is access to this resource allowed?
virtual bool IsAccessAllowed( ResourceTypeOld_t nType, const char *pResource ) = 0;
};
#endif // IRESOURCEACCESSCONTROL_H