コード例 #1
0
ファイル: boardModule.cpp プロジェクト: renokun/Aspen
void CMDBoard::Write(Player* mobile, const std::string &subject)
{
    BoardPost*post = NULL;
    Editor* ed = NULL;

    if ((!subject.length()) || (subject.length() > 60))
        {
            mobile->Message(MSG_INFO, "You must provide a subject that is no longer than 60 characters.");
            return;
        }

    post = new BoardPost();
    post->SetSubject(subject);
    post->SetPoster(mobile);
    ed = new Editor();
    ed->SetArg((void*)post);
    ed->events.AddCallback("save", std::bind(&CMDBoard::_SavePost, this, std::placeholders::_1, std::placeholders::_2));
    ed->events.AddCallback("abort", std::bind(&CMDBoard::_AbortPost, this, std::placeholders::_1, std::placeholders::_2));
    ed->events.AddCallback("atexit", std::bind(&CMDBoard::_ExitPost, this, std::placeholders::_1, std::placeholders::_2));
    ed->EnterEditor(mobile);
}