Report size for DataPack Handles.
This commit is contained in:
parent
7f97e67931
commit
fd48f4adfd
core
@ -61,6 +61,7 @@ public: //IDataPack
|
||||
void PackFunction(cell_t function);
|
||||
public:
|
||||
void Initialize();
|
||||
inline size_t GetCapacity() const { return m_capacity; }
|
||||
private:
|
||||
void CheckSize(size_t sizetype);
|
||||
private:
|
||||
|
@ -31,9 +31,14 @@
|
||||
|
||||
#include "common_logic.h"
|
||||
#include <IHandleSys.h>
|
||||
#include <IDataPack.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;
|
||||
|
||||
class DataPackNatives :
|
||||
@ -63,6 +68,12 @@ public:
|
||||
{
|
||||
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)
|
||||
|
Loading…
Reference in New Issue
Block a user