void CSpace::CreateDefaultProerty(ePipeline& Pipe){ Pipe.PushInt(0); Pipe.PushString(_T("")); ePipeline Empty; Pipe.PushPipe(Empty); //目前只有这些,其它后续再添加 }
int32 GetAllChildList(int64 ParentID, ePipeline& ChildList,int64 NotIncludeChildID /*=0*/){ assert(ParentID >0); ChildList.Clear(); char TableName[30]; int64toa(ParentID,TableName); if(!GetWorldDB().tableExists(TableName)){ return 0; } //ChildList.SetID(ParentID); CppSQLite3Buffer SQL; SQL.format("select %s,%s,%s,%s from \"%s\"", ITEM_ID, ITEM_NAME, ITEM_TYPE, ITEM_FINGERPRINT, TableName ); CppSQLite3Query Result = GetWorldDB().execQuery(SQL); while(!Result.eof()){ int64 ChildID = Result.getInt64Field(0); if (ChildID !=NotIncludeChildID) { AnsiString s = Result.getStringField(1,""); tstring Name = UTF8toWS(s); Name = GetFileNoPathName(Name); Name = GetFileName(Name); int32 Type = Result.getIntField(2); AnsiString FingerPrint = Result.getStringField(3,""); //ChildList.PushInt64(ChildID); ChildList.PushString(Name); ChildList.PushInt(Type); ChildList.PushString(FingerPrint); } Result.nextRow(); } return ChildList.Size()/3; }
void CSpace::CreateDefaultOwner(ePipeline& Pipe) { tstring Name = _T("Unkown"); tstring Cryptograhp = _T(""); SPACE_RIGHT Right = NO_RIGHT; tstring Email = _T("Unkown"); tstring Memo = _T("Unkown"); eBLOB* Validata = new eBLOB(); Pipe.PushString(Name); Pipe.PushInt(Right); Pipe.PushString(Cryptograhp); Pipe.PushString(Email); Pipe.PushString(Memo); Pipe.Push_Directly(Validata); };
//以下函数内部使用无需加锁 ////////////////////////////////////////////////////////////////////////// bool CLinkerPipe::ReceiverID2LocalAddress(ePipeline& Receiver,ePipeline& LocalAddress){ int64 ReceiverID = Receiver.PopInt(); if (ReceiverID==SYSTEM_SOURCE) { LocalAddress.PushInt(ReceiverID); LocalAddress<<Receiver; //可能还有其它地址 return TRUE; } assert(Receiver.Size()==0); //其它情况应该没有多余地址 map<int64,ePipeline>::iterator It = m_LocalAddressList.find(ReceiverID); if(It != m_LocalAddressList.end()){ ePipeline& Pipe = It->second; LocalAddress = Pipe; return TRUE; } return FALSE; }
void CSpace::CreateDefaultOwnerInfo(ePipeline& Pipe){ Pipe.PushInt(NO_RIGHT); ePipeline Empty; Pipe.PushPipe(Empty); }