mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 06:05:58 -06:00
50 lines
1 KiB
C++
50 lines
1 KiB
C++
#include <Core/Core.h>
|
|
#include <Core/Rpc/Rpc.h>
|
|
|
|
using namespace Upp;
|
|
|
|
RPC_METHOD(Multiply)
|
|
{
|
|
int m, n;
|
|
rpc >> m >> n;
|
|
rpc << m * n;
|
|
}
|
|
|
|
RPC_METHOD(Multiply2)
|
|
{
|
|
int m = rpc++;
|
|
int n = rpc++;
|
|
rpc = m * n;
|
|
}
|
|
|
|
RPC_METHOD(Divide)
|
|
{
|
|
int m = rpc++;
|
|
int n = rpc++;
|
|
if(n == 0)
|
|
ThrowRpcError("divide by zero");
|
|
rpc = m / n;
|
|
}
|
|
|
|
RPC_METHOD(MultiplyNamed)
|
|
{
|
|
int n = rpc["first"];
|
|
int m = rpc["second"];
|
|
rpc = m * n;
|
|
}
|
|
|
|
CONSOLE_APP_MAIN
|
|
{
|
|
StdLogSetup(LOG_COUT|LOG_FILE);
|
|
// LogXmlRpcRequests();
|
|
// SetXmlRpcServerTrace(UppLog());
|
|
// Working in "shortened" mode - without URL specified, RpcRequests are performed by methods in
|
|
// the same process.
|
|
|
|
DUMP(JsonRpcRequest()("Multiply", 2, 3).Execute());
|
|
DUMP(JsonRpcRequest()("Multiply2", 4, 5).Execute());
|
|
DUMP(XmlRpcRequest()("Multiply2", 6, 7).Execute());
|
|
DUMP(JsonRpcRequestNamed()("MultiplyNamed")("first", 8)("second", 9).Execute());
|
|
DUMP(JsonRpcRequest()("Divide", 2, 0).Execute());
|
|
DUMP(JsonRpcRequest()("Divide", 20, 4).Execute());
|
|
}
|