C++ TargetRTS
Loading...
Searching...
No Matches
RTJsonEncoding.h
1/*
2 * Licensed Materials - Property of HCL and/or IBM
3 * Copyright HCL Technologies Ltd. 2016, 2021. All Rights Reserved.
4 * Copyright IBM Corporation 1999, 2016. All Rights Reserved.
5 *
6 * U.S. Government Users Restricted Rights - Use, duplication or
7 * disclosure restricted by GSA ADP Schedule.
8 */
9
10#ifndef __RTJsonEncoding_h__
11#define __RTJsonEncoding_h__ included
12
13#ifdef PRAGMA
14#pragma interface
15#endif
16
17#include <RTAsciiEncoding.h>
18
19#if OBJECT_ENCODE
20
21class RTOBuffer;
22class RTMessage;
23
25{
26public:
27 explicit RTJsonEncoding( RTOBuffer * );
28 virtual ~RTJsonEncoding( void );
29
30 virtual int put( const void *, const RTObject_class * ) override;
31
32 virtual int put_char( char ) override;
33
34 virtual int put_msg( const RTMessage*);
35
36 virtual int put_opaque( int, const char * ) override;
37
38 virtual int put_enum( int, int, const RTFieldDescriptor * ) override;
39
40 virtual int put_array( const void *, int, const RTObject_class * ) override;
41
42 virtual int put_indirect( const void *, const RTObject_class * ) override;
43
44 virtual int put_address ( const void * ) override;
45
46protected:
47 int putFields( const void *, const RTObject_class *, int & first ) override;
48
49private:
50 // unavailable methods
52 RTJsonEncoding & operator=( const RTJsonEncoding & );
53}; //lint !e1712
54
55#endif // OBJECT_ENCODE
56
57#endif // __RTJsonEncoding_h__
The default encoding implementation that is used for all default type descriptors.
Definition: RTAsciiEncoding.h:34
Definition: RTJsonEncoding.h:25
virtual int put(const void *, const RTObject_class *) override
Encode a data object and write the encoding to the output buffer.
Represents a message used for communication between capsule instances.
Definition: RTMessage.h:33
Represents an output buffer.
Definition: RTOBuffer.h:23
Definition: RTFieldDescriptor.h:40
A type descriptor providing information about a type.
Definition: RTObject_class.h:64