⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mgrbaseclient.cpp

📁 1)安装sp2补丁. 2)安装中文语言包. 3)关闭除系统盘除外的系统还原 4)控制面板->区域和语言选项->区域选项 选择中国,位置:选择中国.高级选项卡 非unicode程序的语
💻 CPP
📖 第 1 页 / 共 5 页
字号:

#include "minifc.h"
#include "mgrbaseclient.h"



//////////////////////////////////////////////////////////////////////////////////////////////////////
//
MGRBaseClient::MGRBaseClient(NetManager *nfm):BaseNetClient(nfm)
{
}

MGRBaseClient::~MGRBaseClient()
{
}

void  MGRBaseClient::SetServer(LPCSTR server,int port)
{
	BaseNetClient::SetServer(server,port);
}

BOOL  MGRBaseClient::DatabaseCreate(LPCSTR dbname,LPCSTR catdir,LPCSTR devfile,superint_ut devsize)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,catdir);
	arg.SetItemString(2,devfile);
	arg.SetItemSuperLong(3,devsize);

	if(Call("mgrbaseif_DatabaseCreate",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}

BOOL  MGRBaseClient::DatabaseCreateEx(LPCSTR dbname,LPCSTR catdir,LPCSTR devfile,superint_ut devsize,int pagesize)
{
	NetDataTuple arg,res;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,catdir);
	arg.SetItemString(2,devfile);
	arg.SetItemSuperLong(3,devsize);
	arg.SetItemLong(4,pagesize);

	if(Call("mgrbaseif_DatabaseCreateEx",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}

BOOL  MGRBaseClient::DatabaseOpen(LPCSTR dbname,LPCSTR configpath)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,configpath);

	if(Call("mgrbaseif_DatabaseOpen",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}


BOOL  MGRBaseClient::DatabaseList(NetTable *dblist)
{
	NetDataTuple arg,res;
	NetTable *p;


	if(Call("mgrbaseif_DatabaseList",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(dblist);
			
			return TRUE;

		}

		return FALSE;

	}

	return FALSE;
}

BOOL  MGRBaseClient::DatabaseFind(LPCSTR dbname)
{
	NetDataTuple arg,res;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_DatabaseFind",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;

}

BOOL  MGRBaseClient::DatabaseAppendDev(LPCSTR dbname,LPCSTR devpath,superint_ut size)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,devpath);
	arg.SetItemSuperLong(2,size);

	if(Call("mgrbaseif_DatabaseAppendDev",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}

int   MGRBaseClient::DatabaseCountDev(LPCSTR dbname)
{
	NetDataTuple arg,res;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_DatabaseCountDev",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}

BOOL  MGRBaseClient::DatabaseGetDevInfo(LPCSTR dbname,NetTable *dev)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_DatabaseGetDevInfo",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(dev);
			
			return TRUE;

		}

		return FALSE;

	}

	return FALSE;
}

superint_ut MGRBaseClient::DatabaseGetFreeSpace(LPCSTR dbname)
{
	NetDataTuple arg,res;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_DatabaseGetFreeSpace",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

superint_ut MGRBaseClient::DatabaseGetTotalSpace(LPCSTR dbname)
{
	NetDataTuple arg,res;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_DatabaseGetTotalSpace",NULL,&arg,&res))
	{
		return res.GetItemSuperLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::DatabaseIsUnionDB(LPCSTR dbname)
{
	NetDataTuple arg,res;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_DatabaseIsUnionDB",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}


BOOL  MGRBaseClient::DatabaseDump(LPCSTR dbname,LPCSTR path)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,path);

	if(Call("mgrbaseif_DatabaseDump",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::DatabaseRestore(LPCSTR dbname,LPCSTR path,BOOL bredolog)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,path);
	arg.SetItemLong(2,bredolog);

	if(Call("mgrbaseif_DatabaseRestore",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableCreate(LPCSTR dbname,LPCSTR tblname,LPCSTR colsdef)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,colsdef);

	if(Call("mgrbaseif_TableCreate",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::UniTableCreate(LPCSTR dbname,LPCSTR tblname,LPCSTR colsdef)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,colsdef);

	if(Call("mgrbaseif_UniTableCreate",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableRename(LPCSTR dbname,LPCSTR oldtblname,LPCSTR newtblname)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,oldtblname);
	arg.SetItemString(2,newtblname);

	if(Call("mgrbaseif_TableRename",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;

}

BOOL  MGRBaseClient::TableAppendCol(LPCSTR dbname,LPCSTR tblname,LPCSTR coldef)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,coldef);

	if(Call("mgrbaseif_TableAppendCol",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableExpandCol(LPCSTR dbname,LPCSTR tblname,LPCSTR colname,int newlength)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,colname);
	arg.SetItemLong(3,newlength);

	if(Call("mgrbaseif_TableExpandCol",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}


BOOL  MGRBaseClient::TableSetColName(LPCSTR dbname,LPCSTR tblname,LPCSTR oldcolname,LPCSTR newcolname)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,oldcolname);
	arg.SetItemString(3,newcolname);

	if(Call("mgrbaseif_TableSetColName",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableRemoveCol(LPCSTR dbname,LPCSTR tblname,LPCSTR colname)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,colname);

	if(Call("mgrbaseif_TableRemoveCol",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableDrop(LPCSTR dbname,LPCSTR tblname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_TableDrop",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableIsExist(LPCSTR dbname,LPCSTR tblname)
{
	NetDataTuple arg,res;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_TableIsExist",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return 0;
}

BOOL  MGRBaseClient::TableList(LPCSTR dbname,NetTable *tbls)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_TableList",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(tbls);

			return TRUE;
		}

		return FALSE;
	}

	return FALSE;
}

int   MGRBaseClient::TableCount(LPCSTR dbname)
{
	NetDataTuple arg,res;

	arg.AddItems(1);
	arg.SetItemString(0,dbname);

	if(Call("mgrbaseif_TableCount",NULL,&arg,&res))
	{
		return res.GetItemLong(0);
	}

	return 0;
}

BOOL  MGRBaseClient::TableGetCols(LPCSTR dbname,LPCSTR tblname,NetTable *cols)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(2);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);

	if(Call("mgrbaseif_TableGetCols",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(cols);

			return TRUE;
		}

		return FALSE;
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableSetLongBinaryColLength(LPCSTR dbname,LPCSTR tblname,LPCSTR colname,int length)
{
	NetDataTuple arg,res;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,colname);
	arg.SetItemLong(3,length);

	if(Call("mgrbaseif_TableSetLongBinaryColLength",NULL,&arg,&res))
	{
		return res.GetItemLong(0);
	}

	return FALSE;

}

BOOL  MGRBaseClient::TableInsert(LPCSTR dbname,LPCSTR tblname,NetTable &data)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&data,FALSE);

	if(Call("mgrbaseif_TableInsert",NULL,&arg,&res))
	{
		return res.GetItemLong(0);
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableInsertEx(LPCSTR dbname,LPCSTR tblname,NetTable &data)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&data,FALSE);

	if(Call("mgrbaseif_TableInsertEx",NULL,&arg,&res))
	{
		p=res.GetItemNetTable(0);
		data.Clear();
		p->CopyTo(&data);

		return data.RowCount();
	}

	return FALSE;
}


BOOL  MGRBaseClient::TableDelete(LPCSTR dbname,LPCSTR tblname,NetTable &rowids)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&rowids,FALSE);

	if(Call("mgrbaseif_TableDelete",NULL,&arg,&res))
	{
		return res.GetItemLong(0);
	}

	return FALSE;
}


BOOL  MGRBaseClient::TableGet(LPCSTR dbname,LPCSTR tblname,NetTable &rowids,LPCSTR cols,NetTable *data)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&rowids,FALSE);
	arg.SetItemString(3,cols);

	if(Call("mgrbaseif_TableGet",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(data);
			return TRUE;
		}

		return FALSE;
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableTake(LPCSTR dbname,LPCSTR tblname,superint_ut start,int num,NetTable *data)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(4);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,start);
	arg.SetItemLong(3,num);

	if(Call("mgrbaseif_TableTake",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(data);
			return TRUE;
		}

		return FALSE;
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableTakeByIndex(LPCSTR dbname,LPCSTR tblname,LPCSTR idxname,superint_ut start,int num,NetTable *data)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemString(2,idxname);
	arg.SetItemSuperLong(3,start);
	arg.SetItemLong(4,num);

	if(Call("mgrbaseif_TableTakeByIndex",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(data);
			return TRUE;
		}

		return FALSE;
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableFindString(LPCSTR dbname,LPCSTR tblname,NetTable &rowids,LPCSTR colname,UString &str,NetTable *data)
{
	NetDataTuple arg,res;
	NetTable *p;

	arg.AddItems(5);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&rowids,FALSE);
	arg.SetItemString(3,colname);
	arg.SetItemUString(4,str);

	if(Call("mgrbaseif_TableFindString",NULL,&arg,&res))
	{
		if(res.GetItemLong(0))
		{
			p=res.GetItemNetTable(1);
			p->CopyTo(data);
			return TRUE;
		}

		return FALSE;
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableRowIsExist(LPCSTR dbname,LPCSTR tblname,superint_ut rowid)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemSuperLong(2,rowid);

	if(Call("mgrbaseif_TableRowIsExist",NULL,&arg,&res))
	{
		return res.GetItemLong(0);
	}

	return FALSE;
}

BOOL  MGRBaseClient::TableUpdate(LPCSTR dbname,LPCSTR tblname,NetTable &data)
{
	NetDataTuple arg,res;

	arg.AddItems(3);
	arg.SetItemString(0,dbname);
	arg.SetItemString(1,tblname);
	arg.SetItemNetTable(2,&data,FALSE);

	if(Call("mgrbaseif_TableUpdate",NULL,&arg,&res))
	{
		return res.GetItemLong(0);

	}

	return FALSE;
}

BOOL  MGRBaseClient::TableMutexUpdate(LPCSTR dbname,LPCSTR tblname,NetTable &olddata,NetTable &newdata)
{
	NetDataTuple arg,res;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -