[Nanopb] Sub message - Example proto file
반응형
Sub message sample for including basic type data
※ 관련글
- Google Protobuf
- [Google Protobuf] For Java in Android Studio - 설치 및 proto 파일 컴파일
- [Google Protobuf] For Java in Android Studio - Gen Java 파일 Android Studio 적용
- [Google Protobuf] For Java in Android Studio - Basic example code 기본 소스 코드 사용 샘플
- [Google Protobuf] For C++ in Linux - Settings C++ 빌드 환경 만들기
- [Google Protobuf] For C++ in Linux - Basic example code 기본 소스 코드 사용 샘플
- Nanopb Basic type value example
- [Nanopb for Google protobuf] Basic type proto sample
- [Nanopb for Google protobuf] Basic type proto sample - Sample proto file
- [Nanopb for Google protobuf] Basic type proto sample - Encode sample code
- [Nanopb for Google protobuf] Basic type proto sample - Decode sample code
- Nanopb String / bytes value example
- [Nanopb for Google protobuf] String/Bytes type proto
- [Nanopb for Google protobuf] String/Bytes type proto - Sample proto file
- [Nanopb for Google protobuf] String/Bytes type proto - Encode example code 1
- [Nanopb for Google protobuf] String/Bytes type proto - Encode example code 2
- [Nanopb for Google protobuf] String/Bytes type proto - Decode example code
- Nanopb basic submsg example
- [Nanopb for Google protobuf] Sub message - Example proto file
- [Nanopb for Google protobuf] Sub message - Encode example code
- [Nanopb for Google protobuf] Sub message - Decode example code
- Nanopb array submsg value example
- [Nanopb for Google protobuf] Array Sub message - Example proto file
- [Nanopb for Google protobuf] Array Sub message - Encode example code
- [Nanopb for Google protobuf] Array Sub message - Decode example code
Example proto file
syntax = "proto2"; message SubMessage { required int32 subInt32Value = 1; required double subDoubleValue = 2; } message TestSubMsgTypes { required int32 testInt32 = 1; optional SubMessage submsg = 2; }
sub-message가 들어 있는 proto 파일 컴파일 시 callback으로 변수가 생성되지 않고
기본 데이터 형식으로만 생성된 경우 처리 방법이다.
아래와 같이 기본 데이터 타입 proto file생성한 것과 같은 케이스로 생성됨.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/* Struct definitions */
typedef struct _SubMessage {
int32_t subInt32Value;
double subDoubleValue;
} SubMessage;
typedef struct _TestSubMsgTypes {
int32_t testInt32;
bool has_submsg;
SubMessage submsg;
} TestSubMsgTypes;
|
cs |
이 경우 decode/encode 는 struct 변수를 사용하는 것과 동일하게 처리 된다.
* Test Result
testSubMsgEncode encode OK size:12 SubMsg Bytes: 8 C1 2 12 7 8 20 11 77 46 7A 44 testDecodeSubMsgType Decoding OK testInt32:321 subInt32:32 subDoubleValue:1001.10
반응형
'IT > C, C++' 카테고리의 다른 글
[Nanopb] Sub message - Decode example code (0) | 2020.01.30 |
---|---|
[Nanopb for Google protobuf] Sub message - Encode example code (0) | 2020.01.30 |
[Nanopb] String/Bytes type proto - Decode example code (0) | 2020.01.30 |
[Nanopb] String/Bytes type proto - Encode example code 2 (0) | 2020.01.30 |
[Nanopb] String/Bytes type proto - Encode example code 1 (0) | 2020.01.30 |