void AsyncJourn::doCreateExec(const Exec& exec, More more) { pipe_.write([&exec, more](Msg& msg) { msg.type = MsgType::CreateExec; auto& body = msg.createExec; setCString(body.accnt, exec.accnt()); body.marketId = exec.marketId(); setCString(body.contr, exec.contr()); body.settlDay = exec.settlDay(); body.id = exec.id(); body.orderId = exec.orderId(); setCString(body.ref, exec.ref()); body.state = exec.state(); body.side = exec.side(); body.lots = exec.lots(); body.ticks = exec.ticks(); body.resd = exec.resd(); body.exec = exec.exec(); body.cost = exec.cost(); body.lastLots = exec.lastLots(); body.lastTicks = exec.lastTicks(); body.minLots = exec.minLots(); body.matchId = exec.matchId(); body.liqInd = exec.liqInd(); setCString(body.cpty, exec.cpty()); body.created = timeToMs(exec.created()); body.more = more; }); }
void AsyncJourn::doCreateMarket(Id64 id, Mnem contr, JDay settlDay, MarketState state) { pipe_.write([id, &contr, settlDay, state](Msg& msg) { msg.type = MsgType::CreateMarket; auto& body = msg.createMarket; body.id = id; setCString(body.contr, contr); body.settlDay = settlDay; body.state = state; }); }
int32_t MediaAnalyticsItem::readFromParcel(const Parcel& data) { // into 'this' object // .. we make a copy of the string to put away. mKey = data.readCString(); mSessionID = data.readInt64(); mFinalized = data.readInt32(); mTimestamp = data.readInt64(); int count = data.readInt32(); for (int i = 0; i < count ; i++) { MediaAnalyticsItem::Attr attr = data.readCString(); int32_t ztype = data.readInt32(); switch (ztype) { case MediaAnalyticsItem::kTypeInt32: setInt32(attr, data.readInt32()); break; case MediaAnalyticsItem::kTypeInt64: setInt64(attr, data.readInt64()); break; case MediaAnalyticsItem::kTypeDouble: setDouble(attr, data.readDouble()); break; case MediaAnalyticsItem::kTypeCString: setCString(attr, data.readCString()); break; case MediaAnalyticsItem::kTypeRate: { int64_t count = data.readInt64(); int64_t duration = data.readInt64(); setRate(attr, count, duration); } break; default: ALOGE("reading bad item type: %d, idx %d", ztype, i); return -1; } } return 0; }
inline Decimal & operator = (const char * value) { setCString(value); return *this; }
inline Decimal(const char * value) { setCString(value); }