Report size for DataPack Handles.
This commit is contained in:
parent
7f97e67931
commit
fd48f4adfd
@ -61,6 +61,7 @@ public: //IDataPack
|
|||||||
void PackFunction(cell_t function);
|
void PackFunction(cell_t function);
|
||||||
public:
|
public:
|
||||||
void Initialize();
|
void Initialize();
|
||||||
|
inline size_t GetCapacity() const { return m_capacity; }
|
||||||
private:
|
private:
|
||||||
void CheckSize(size_t sizetype);
|
void CheckSize(size_t sizetype);
|
||||||
private:
|
private:
|
||||||
|
@ -31,9 +31,14 @@
|
|||||||
|
|
||||||
#include "common_logic.h"
|
#include "common_logic.h"
|
||||||
#include <IHandleSys.h>
|
#include <IHandleSys.h>
|
||||||
#include <IDataPack.h>
|
|
||||||
#include <ISourceMod.h>
|
#include <ISourceMod.h>
|
||||||
|
|
||||||
|
// This just in from the bucket o' hacks department.
|
||||||
|
// One day, IDataPack will go away and CDataPack will be merged into this file.
|
||||||
|
// This internal header is included directly to access GetCapacity,
|
||||||
|
// which can not be added to the public interface due to ABI issues.
|
||||||
|
#include "../CDataPack.h"
|
||||||
|
|
||||||
HandleType_t g_DataPackType;
|
HandleType_t g_DataPackType;
|
||||||
|
|
||||||
class DataPackNatives :
|
class DataPackNatives :
|
||||||
@ -63,6 +68,12 @@ public:
|
|||||||
{
|
{
|
||||||
g_pSM->FreeDataPack(reinterpret_cast<IDataPack *>(object));
|
g_pSM->FreeDataPack(reinterpret_cast<IDataPack *>(object));
|
||||||
}
|
}
|
||||||
|
bool GetHandleApproxSize(HandleType_t type, void *object, unsigned int *pSize)
|
||||||
|
{
|
||||||
|
CDataPack *pack = reinterpret_cast<CDataPack *>(object);
|
||||||
|
*pSize = sizeof(CDataPack) + pack->GetCapacity();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static cell_t smn_CreateDataPack(IPluginContext *pContext, const cell_t *params)
|
static cell_t smn_CreateDataPack(IPluginContext *pContext, const cell_t *params)
|
||||||
|
Loading…
Reference in New Issue
Block a user