当前位置: 首页>>代码示例>>C++>>正文


C++ Mail::setTime方法代码示例

本文整理汇总了C++中Mail::setTime方法的典型用法代码示例。如果您正苦于以下问题:C++ Mail::setTime方法的具体用法?C++ Mail::setTime怎么用?C++ Mail::setTime使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Mail的用法示例。


在下文中一共展示了Mail::setTime方法的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;
        }

//.........这里部分代码省略.........
开发者ID:schizix,项目名称:mmoserver,代码行数:101,代码来源:StructureManagerChat.cpp


注:本文中的Mail::setTime方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。