Exec_stat MCPurchaseGet(MCPurchase *p_purchase, MCPurchaseProperty p_property, MCExecPoint &ep) { //MCLog("MCPurchaseGet(%p, %d, ...)", p_purchase, p_property); MCAndroidPurchase *t_android_data = (MCAndroidPurchase*)p_purchase->platform_data; switch (p_property) { case kMCPurchasePropertyProductIdentifier: ep.copysvalue(t_android_data->product_id); return ES_NORMAL; case kMCPurchasePropertyDeveloperPayload: if (t_android_data->developer_payload == nil) ep.clear(); else ep.copysvalue(t_android_data->developer_payload); return ES_NORMAL; case kMCPurchasePropertySignedData: if (t_android_data->signed_data == nil) ep.clear(); else ep.copysvalue(t_android_data->signed_data); return ES_NORMAL; case kMCPurchasePropertySignature: if (t_android_data->signature == nil) ep.clear(); else ep.copysvalue(t_android_data->signature); return ES_NORMAL; case kMCPurchasePropertyTransactionIdentifier: if (t_android_data->order_id == nil) ep.clear(); else ep.copysvalue(t_android_data->order_id); return ES_NORMAL; case kMCPurchasePropertyPurchaseDate: ep.setint64(t_android_data->purchase_time); return ES_NORMAL; default: break; } return ES_NOT_HANDLED; }