BVB Source Codes

CRYENGINE Show ISharedParamsManager.h Source code

Return Download CRYENGINE: download ISharedParamsManager.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. /*************************************************************************
  4.    -------------------------------------------------------------------------
  5.    $Id$
  6.    $DateTime$
  7.    Description: Shared parameters manager interface.
  8.  
  9.    -------------------------------------------------------------------------
  10.    History:
  11.    - 15:07:2010: Created by Paul Slinger
  12.  
  13. *************************************************************************/
  14.  
  15. #ifndef __ISHAREDPARAMSMANAGER_H__
  16. #define __ISHAREDPARAMSMANAGER_H__
  17.  
  18. #if _MSC_VER > 1000
  19.         #pragma once
  20. #endif
  21.  
  22. ////////////////////////////////////////////////////////////////////////////////////////////////////
  23. // Forward declaration of shared parameters type information class.
  24. ////////////////////////////////////////////////////////////////////////////////////////////////////
  25. class CSharedParamsTypeInfo;
  26.  
  27. ////////////////////////////////////////////////////////////////////////////////////////////////////
  28. // Forward declaration of shared parameters interface class.
  29. ////////////////////////////////////////////////////////////////////////////////////////////////////
  30. class ISharedParams;
  31.  
  32. ////////////////////////////////////////////////////////////////////////////////////////////////////
  33. // Shared parameters pointers.
  34. ////////////////////////////////////////////////////////////////////////////////////////////////////
  35. DECLARE_SHARED_POINTERS(ISharedParams);
  36.  
  37. ////////////////////////////////////////////////////////////////////////////////////////////////////
  38. // Shared parameters manager interface class.
  39. ////////////////////////////////////////////////////////////////////////////////////////////////////
  40. class ISharedParamsManager
  41. {
  42. public:
  43.         virtual ~ISharedParamsManager(){}
  44.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  45.         // Generate unique 32 bit crc.
  46.         //
  47.         // Params: pName - unique name
  48.         //
  49.         // Return: unique 32 bit crc
  50.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  51.         virtual uint32 GenerateCRC32(const char* pName) = 0;
  52.  
  53.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  54.         // Register shared parameters.
  55.         //
  56.         // Params: crc32        - unique 32 bit crc
  57.         //                               sharedParams - shared parameters
  58.         //
  59.         // Return: pointer to shared parameters
  60.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  61.         virtual ISharedParamsConstPtr Register(uint32 crc32, const ISharedParams& sharedParams) = 0;
  62.  
  63.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  64.         // Register shared parameters.
  65.         //
  66.         // Params: pName        - unique name
  67.         //                               sharedParams - shared parameters
  68.         //
  69.         // Return: pointer to shared parameters
  70.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  71.         virtual ISharedParamsConstPtr Register(const char* pName, const ISharedParams& sharedParams) = 0;
  72.  
  73.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  74.         // Remove shared parameters.
  75.         //
  76.         // Params: crc32 - unique 32 bit crc
  77.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  78.         virtual void Remove(uint32 crc32) = 0;
  79.  
  80.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  81.         // Remove shared parameters.
  82.         //
  83.         // Params: pName - unique name
  84.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  85.         virtual void Remove(const char* pName) = 0;
  86.  
  87.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  88.         // Remove all shared parameters by type.
  89.         //
  90.         // Params: typeInfo - type information of to be removed
  91.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  92.         virtual void RemoveByType(const CSharedParamsTypeInfo& typeInfo) = 0;
  93.  
  94.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  95.         // Get shared parameters.
  96.         //
  97.         // Params: crc32 - unique 32 bit crc
  98.         //
  99.         // Return: pointer to shared parameters
  100.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  101.         virtual ISharedParamsConstPtr Get(uint32 crc32) const = 0;
  102.  
  103.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  104.         // Get shared parameters.
  105.         //
  106.         // Params: pName - unique name
  107.         //
  108.         // Return: pointer to shared parameters
  109.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  110.         virtual ISharedParamsConstPtr Get(const char* pName) const = 0;
  111.  
  112.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  113.         // Reset.
  114.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  115.         virtual void Reset() = 0;
  116.  
  117.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  118.         // Release.
  119.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  120.         virtual void Release() = 0;
  121.  
  122.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  123.         // Get memory statistics.
  124.         ////////////////////////////////////////////////////////////////////////////////////////////////////
  125.         virtual void GetMemoryStatistics(ICrySizer* pSizer) = 0;
  126. };
  127.  
  128. #endif //__ISHAREDPARAMSMANAGER_H__
  129.  
downloadISharedParamsManager.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top