本文整理汇总了C++中Mail::setSender方法的典型用法代码示例。如果您正苦于以下问题:C++ Mail::setSender方法的具体用法?C++ Mail::setSender怎么用?C++ Mail::setSender使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mail
的用法示例。
在下文中一共展示了Mail::setSender方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: handleDatabaseJobComplete
void StructureManagerChatHandler::handleDatabaseJobComplete(void* ref,DatabaseResult* result)
{
StructureManagerAsyncContainer* asynContainer = (StructureManagerAsyncContainer*)ref;
switch(asynContainer->mQueryType)
{
//=================================================
//
//the structures condition reached zero
//
case STRMQuery_StructureMailCondZero:
{
structure st;
DataBinding* binding = mDatabase->createDataBinding(9);
binding->addField(DFT_uint64,offsetof(structure,owner),8,0);
binding->addField(DFT_bstring,offsetof(structure,file),64,1);
binding->addField(DFT_bstring,offsetof(structure,dir),64,2);
binding->addField(DFT_float,offsetof(structure,x),4,3);
binding->addField(DFT_float,offsetof(structure,z),4,4);
binding->addField(DFT_bstring,offsetof(structure,planet),32,5);
binding->addField(DFT_uint32,offsetof(structure,maxcondition),4,6);
binding->addField(DFT_uint32,offsetof(structure,maint),4,7);
binding->addField(DFT_uint64,offsetof(structure,lastMail),8,8);
if (result->getRowCount()) {
return;
}
result->getNextRow(binding,&st);
if(st.lastMail < (gTradeManagerChat->getGlobalTickCount() + (24*3600*1000)))
{
//last Mail less than 24hours no need to send it again
mDatabase->destroyDataBinding(binding);
return;
}
//send the relevant EMail
atMacroString* aMS = new atMacroString();
aMS->addMBstf("player_structure","structure_condemned_body");
aMS->addTTstf(st.file.getAnsi(),st.dir.getAnsi());
aMS->addDI((uint32)(st.maxcondition*(st.maint/168)));
aMS->addTextModule();
aMS->setPlanetString(st.planet);
aMS->setWP(st.x,0,st.z,"Structure");
aMS->addWaypoint();
Mail* mail = new Mail();
mail->setSender(BString("@player_structure:management"));
mail->setSubject(BString("@player_structure:structure_condemned_subject "));
mail->setText(BString(""));
mail->setStatus(MailStatus_New);
mail->setTime(static_cast<uint32>(time(NULL)));
mail->setAttachments(aMS->assemble());
gChatManager->sendSystemMailMessage(mail,st.owner);
mDatabase->destroyDataBinding(binding);
int8 sql[250];
// Now update the time of the last EMail
sprintf(sql,"UPDATE %s.structures SET structures.lastMail = %" PRIu64 " WHERE ID = %" PRIu64 "",mDatabase->galaxy(), gTradeManagerChat->getGlobalTickCount(), asynContainer->harvesterID);
mDatabase->executeAsyncSql(sql);
}
break;
//=================================================
//
//the structure is getting damaged
//
case STRMQuery_StructureMailDamage:
{
structure st;
DataBinding* binding = mDatabase->createDataBinding(9);
binding->addField(DFT_uint64,offsetof(structure,owner),8,0);
binding->addField(DFT_bstring,offsetof(structure,file),64,1);
binding->addField(DFT_bstring,offsetof(structure,dir),64,2);
binding->addField(DFT_float,offsetof(structure,x),4,3);
binding->addField(DFT_float,offsetof(structure,z),4,4);
binding->addField(DFT_bstring,offsetof(structure,planet),32,5);
binding->addField(DFT_uint32,offsetof(structure,maxcondition),4,6);
binding->addField(DFT_uint32,offsetof(structure,condition),4,7);
binding->addField(DFT_uint64,offsetof(structure,lastMail),8,8);
if (!result->getRowCount()) {
return;
}
//.........这里部分代码省略.........