Example #1
0
 bool has_dim(size_t fix, unsigned int wanted_dim) const
 {
     MSS_BEGIN(bool);
     MSS(fix < fields.size());
     MSS_Q(fields[fix].size() == wanted_dim);
     MSS_END();
 }
Example #2
0
ReturnCode Controller::process()
{
    MSS_BEGIN(ReturnCode);
    MSS_Q(!events_.empty(), NoMoreEvents);
    Event event = events_.front();
    events_.pop_front();
    switch (event.type)
    {
        case Event::KeyPressed: MSS(model_.add(event.key.code)); break;
    }
    MSS_END();
}
Example #3
0
 ReturnCode pop_name_(Name &name)
 {
     MSS_BEGIN(ReturnCode, logns);
     pop_whitespace_();
     if (content_.empty() || content_.front() != '(')
     {
         MSS_Q(ReturnCode::NotFound);
     }
     MSS(content_.pop_bracket(name, "()"));
     L(C(name));
     MSS_END();
 }
Example #4
0
 ReturnCode receive(IOBuffer &buffer)
 {
     MSS_BEGIN(ReturnCode);
     MSS(state == Connected, InvalidState);
     MSS(!buffer.full());
     auto nrReceived = ::recv(fid, buffer.freeData(), buffer.freeSize(), 0);
     MSS(nrReceived != -1, CouldNotReceive);
     if (nrReceived == 0)
     {
         //Peer closed connection
         changeState(Closed);
         MSS_Q(ReturnCode::ConnectionWasClosed);
     }
     else
         MSS(buffer.scrollEnd(nrReceived));
     MSS_END();
 }