本文整理汇总了C++中UserPtr::modify方法的典型用法代码示例。如果您正苦于以下问题:C++ UserPtr::modify方法的具体用法?C++ UserPtr::modify怎么用?C++ UserPtr::modify使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UserPtr
的用法示例。
在下文中一共展示了UserPtr::modify方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: send_message
void User::send_message(UserPtr from, UserPtr to, const Wt::WString& text) {
if (!to || from == to) {
return;
}
CommentPtr base = to->comment_base();
if (!base) {
to.reread();
base = to.modify()->comment_base();
base.flush();
}
CommentPtr from_base;
if (from) {
from_base = from->comment_base();
if (!from_base) {
from.reread();
from_base = from.modify()->comment_base();
from_base.flush();
}
}
CommentPtr message = to.session()->add(new Comment(true));
message.modify()->set_text(text);
message.modify()->set_init(from);
message.modify()->set_parent(base);
message.modify()->set_root(base);
message.modify()->set_type(Comment::PRIVATE_MESSAGE);
message.flush();
t_emit_after(COMMENT, base.id());
t_emit(COMMENT, from_base.id());
if (from) {
t_emit(new NewMessage(to.id(), from.id()));
}
}
示例2: reconsider
void Session::reconsider(Server& server) {
try {
dbo::Transaction t(*this);
createTables();
std::cerr << "Created database" << std::endl;
t.commit();
} catch (std::exception& e) {
std::cerr << e.what() << std::endl;
std::cerr << "Using existing database" << std::endl;
}
{
dbo::Transaction t(*this);
UserPtr admin = add_user(server, "admin", "123");
if (admin) {
admin.modify()->set_rights(ADMIN);
}
add_user(server, "user", "123");
}
dbo::Transaction t2(*this);
Games games = find<Game>().where("state < ?").bind(Game::MIN_ENDED);
BOOST_FOREACH (const GamePtr& game, games) {
t_task(GAME, game.id());
}