mirror of
https://github.com/ChronosX88/mta-mono.git
synced 2024-12-22 08:51:48 +00:00
Added missing files
This commit is contained in:
parent
164310084c
commit
36daf9dd68
85
mta-mono/src/CMonoArguments.cpp
Normal file
85
mta-mono/src/CMonoArguments.cpp
Normal file
@ -0,0 +1,85 @@
|
||||
/*********************************************************
|
||||
*
|
||||
* Copyright © 2013, Innovation Roleplay Engine.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification,
|
||||
* is permitted only for authors.
|
||||
*
|
||||
*********************************************************/
|
||||
|
||||
#include "StdInc.h"
|
||||
#include "CMonoArguments.h"
|
||||
|
||||
CMonoArguments::CMonoArguments( void )
|
||||
{
|
||||
this->m_pTmpArgs = nullptr;
|
||||
}
|
||||
|
||||
CMonoArguments::~CMonoArguments( void )
|
||||
{
|
||||
for( auto iter : this->m_pArgs )
|
||||
{
|
||||
if( iter.second )
|
||||
{
|
||||
delete iter.first;
|
||||
}
|
||||
}
|
||||
|
||||
this->m_pArgs.clear();
|
||||
|
||||
if( this->m_pTmpArgs )
|
||||
{
|
||||
delete [] this->m_pTmpArgs;
|
||||
}
|
||||
}
|
||||
|
||||
bool CMonoArguments::Push( MonoString* pString )
|
||||
{
|
||||
this->m_pArgs.push_back( make_pair( pString, false ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool CMonoArguments::Push( MonoObject* pObject )
|
||||
{
|
||||
this->m_pArgs.push_back( make_pair( pObject, false ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
PVOID* CMonoArguments::GetArgs( void )
|
||||
{
|
||||
if( this->m_pTmpArgs == nullptr )
|
||||
{
|
||||
this->m_pTmpArgs = new PVOID[ this->Length() ];
|
||||
|
||||
uint i = 0;
|
||||
|
||||
for( const auto& iter : this->m_pArgs )
|
||||
{
|
||||
this->m_pTmpArgs[ i++ ] = iter.first;
|
||||
}
|
||||
}
|
||||
|
||||
return this->m_pTmpArgs;
|
||||
}
|
||||
|
||||
const size_t CMonoArguments::Length( void ) const
|
||||
{
|
||||
return this->m_pArgs.size();
|
||||
}
|
||||
|
||||
PVOID CMonoArguments::operator[]( int index )
|
||||
{
|
||||
ASSERT( index < this->Length() );
|
||||
|
||||
return this->GetArgs()[ index ];
|
||||
}
|
||||
|
||||
PVOID* CMonoArguments::operator*( void )
|
||||
{
|
||||
return this->GetArgs();
|
||||
}
|
50
mta-mono/src/CMonoArguments.h
Normal file
50
mta-mono/src/CMonoArguments.h
Normal file
@ -0,0 +1,50 @@
|
||||
/*********************************************************
|
||||
*
|
||||
* Copyright © 2013, Innovation Roleplay Engine.
|
||||
*
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms,
|
||||
* with or without modification,
|
||||
* is permitted only for authors.
|
||||
*
|
||||
*********************************************************/
|
||||
|
||||
class CMonoArguments;
|
||||
|
||||
#ifndef __CMONOARGUMENTS_H
|
||||
#define __CMONOARGUMENTS_H
|
||||
|
||||
class CMonoArguments
|
||||
{
|
||||
private:
|
||||
PVOID* m_pTmpArgs;
|
||||
vector< pair< PVOID, bool > > m_pArgs;
|
||||
|
||||
public:
|
||||
CMonoArguments ( void );
|
||||
~CMonoArguments ( void );
|
||||
|
||||
template< typename Type >
|
||||
bool Push ( Type Value )
|
||||
{
|
||||
Type* pValue = new Type;
|
||||
|
||||
*pValue = Value;
|
||||
|
||||
this->m_pArgs.push_back( make_pair( pValue, true ) );
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Push ( MonoString* pString );
|
||||
bool Push ( MonoObject* pObject );
|
||||
|
||||
PVOID* GetArgs ( void );
|
||||
const size_t Length ( void ) const;
|
||||
|
||||
PVOID operator[] ( int index );
|
||||
PVOID* operator* ( void );
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user