Stroika Library 3.0d20
 
Loading...
Searching...
No Matches
WebService/Sources/Model.h
1/*
2 * Copyright(c) Sophist Solutions, Inc. 1990-2025. All rights reserved
3 */
4#ifndef _StroikaSample_WebServices_Model_h_
5#define _StroikaSample_WebServices_Model_h_ 1
6
7#include "Stroika/Frameworks/StroikaPreComp.h"
8
9#include <complex>
10
11#include "Stroika/Foundation/DataExchange/ObjectVariantMapper.h"
12
13/*
14 * The Model module defines all the objects, which can appear in web service requests (on the request or response side).
15 *
16 * These objects appear (are used) in the IWSAPI.
17 *
18 * This module also provides ObjectVariantMapper objects which translate between DataExchange::VariantValue objects and the C++ objects defined here
19 * (which is what allows these objects to be marshalled through HTTP).
20 */
21namespace StroikaSample::WebServices::Model {
22
23 using namespace Stroika::Foundation;
24
25 using Number = std::complex<double>;
26
27 /**
28 * ObjectVariantMapper which maps all the model data objects to/from VariantValue objects.
29 */
30 extern const DataExchange::ObjectVariantMapper kMapper;
31
32}
33
34/*
35 ********************************************************************************
36 ***************************** Implementation Details ***************************
37 ********************************************************************************
38 */
39#include "Model.inl"
40
41#endif /*_StroikaSample_WebServices_Model_h_*/
ObjectVariantMapper can be used to map C++ types to and from variant-union types, which can be transp...