platform/core/appfw/tidl.git
5 weeks agoFix C++ generator of protocol version 2
Hwankyu Jhun [Thu, 25 Apr 2024 01:01:10 +0000 (10:01 +0900)]
Fix C++ generator of protocol version 2

- Remove uid check before getting appid
- Check whether the listener is nullptr or not

Change-Id: I310d080fd9d3c0ed70b96bb283aff71e386fd084
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
3 months ago[cion] Fix delegate callback id
jusung son [Mon, 22 Apr 2024 04:57:10 +0000 (13:57 +0900)]
[cion] Fix delegate callback id

Change-Id: I5cf4c2ec163b356a975faa99732320e608b1d704
Signed-off-by: jusung son <jusung07.son@samsung.com>
7 months agoRelease version 2.0.2 accepted/tizen/8.0/unified/20231208.171926
Hwankyu Jhun [Wed, 6 Dec 2023 06:45:57 +0000 (15:45 +0900)]
Release version 2.0.2

Changes:
 - Modify README markdown
 - Add locking and unlocking mutex
 - [v2] Add locking and unlocking mutex

Change-Id: Ica45d822cc841f09a13bea0620b99ad7aeb6fdb9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months ago[v2] Add locking and unlocking mutex
Hwankyu Jhun [Wed, 6 Dec 2023 06:32:27 +0000 (15:32 +0900)]
[v2] Add locking and unlocking mutex

It is problematic if a callback invoke event is delivered to the main thread
while calling callback dispose() in the sub-thread.
To fix the thread safe issue, this patch adds locking & unlocking mutex.

Change-Id: I3617a0896463ea2bea3574e00812a937b179b6ec
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoAdd locking and unlocking mutex
Hwankyu Jhun [Wed, 6 Dec 2023 04:49:56 +0000 (13:49 +0900)]
Add locking and unlocking mutex

It is problematic if a callback invoke event is delivered to the main thread
while calling callback dispose() in the sub-thread.
To fix the thread safe issue, this patch adds locking & unlocking mutex.

Change-Id: I4cd8d3a47d40fadc773775f9c6b6aa7a4000ab6e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoModify README markdown
Hwankyu Jhun [Tue, 19 Sep 2023 04:53:03 +0000 (13:53 +0900)]
Modify README markdown

- Fixes typo
- Changes '**Note**' to '[!NOTE]'

Change-Id: Ia7290c1e680d49ddc0d3659d27e1f3958ce450df
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoRelease version 2.0.1
Hwankyu Jhun [Mon, 18 Sep 2023 05:31:14 +0000 (14:31 +0900)]
Release version 2.0.1

Changes:
 - Update README markdown for protocol version 2

Change-Id: I5a366bc4ccc5ba48fe515fae31f3b03f7f1d9233
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoUpdate README markdown for protocol version 2
Hwankyu Jhun [Fri, 15 Sep 2023 09:29:09 +0000 (18:29 +0900)]
Update README markdown for protocol version 2

From Tizen 8.0, the following features are supported:
 - Enum Type
 - Import Another TIDL File
 - Method Privilege
 - Map and Set Container Type
 - Marshalling Type Info
 - Struct Inheritance
 - Remote Exception
 - Local Execution Mode
 - Private Sharing (without -b option)

Change-Id: I60bce05d855423576ff9868c0f74fc40518ee98c
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
7 months agoRevert "Add locking and unlocking mutex"
Hwankyu Jhun [Wed, 6 Dec 2023 07:14:32 +0000 (16:14 +0900)]
Revert "Add locking and unlocking mutex"

This reverts commit 822fc0eef200f1cccbb9955d3f3eee19ffd3f445.

7 months agoAdd locking and unlocking mutex
Hwankyu Jhun [Wed, 6 Dec 2023 04:49:56 +0000 (13:49 +0900)]
Add locking and unlocking mutex

It is problematic if a callback invoke event is delivered to the main thread
while calling callback dispose() in the sub-thread.
To fix the thread safe issue, this patch adds locking & unlocking mutex.

Change-Id: I4cd8d3a47d40fadc773775f9c6b6aa7a4000ab6e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoRelease version 2.0.0 19/298819/1 accepted/tizen/8.0/unified/20231005.093116 accepted/tizen/unified/20230914.164942 tizen_8.0_m2_release
Hwankyu Jhun [Thu, 14 Sep 2023 02:08:32 +0000 (11:08 +0900)]
Release version 2.0.0

Changes:
 - Support 'struct' inheritance
 - Support local execution mode
 - Impelment C++ Generator
 - Implement C# Generator
 - Fix build error
 - Implement C++ Group Generator
 - Separate generator code from main file
 - Modify Map & Set implementation of C generator
 - Modify supporting enum type
 - Modify C Generator
 - Support Map & Set container for C++ Generator
 - Support enum type for C++ generator
 - Modify C Generator related to Remote Exception feature
 - Fix a bug of C++ Generator
 - Support enum type for C# generator
 - Support Map & Set container for C# Generator
 - Fix a bug of C# Generator
 - Fix coding style
 - Support method privilege check for C# Generator
 - Fix bugs related to unit map
 - Support RemoteException for C# Generator
 - Change unit map api signature for C# Generator
 - Support 'struct' inheritance feature for C# Generator
 - Support RemoteException for C++ Generator
 - Support method privilege check for C++ Generator
 - Support 'struct' inheritance feature for C++ Generator
 - Support Local Execution Mode for C++ Generator
 - Modify port name of C stub code
 - Modify local execution mode of C++ generator
 - Modify LocalExecutionMode of C++ Generator
 - Modify LocalExecutionMode of C Generator
 - Support Local Execution Mode for C# Generator

Change-Id: Iff68da9b1790600a5ed75aae2e8eb90e957b18ac
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoSupport Local Execution Mode for C# Generator 58/298758/4
jusung son [Wed, 13 Sep 2023 07:16:47 +0000 (16:16 +0900)]
Support Local Execution Mode for C# Generator

Change-Id: I334e779f472e3a6b0fe7c128db69c3eed21b8621
Signed-off-by: jusung son <jusung07.son@samsung.com>
10 months agoModify LocalExecutionMode of C Generator 22/298622/9
Hwankyu Jhun [Mon, 11 Sep 2023 23:30:33 +0000 (08:30 +0900)]
Modify LocalExecutionMode of C Generator

The event will be delivered using g_idle_add() to avoid stack overflow.

Change-Id: I1fbaba89f607174ff1f28719a51eeee5fa7ad47f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify LocalExecutionMode of C++ Generator 01/298601/5
Hwankyu Jhun [Mon, 11 Sep 2023 08:34:00 +0000 (17:34 +0900)]
Modify LocalExecutionMode of C++ Generator

If the client calls the Connect() method twice, the method returns
an error value.
The rpc_port_stub_<INPUT_FILE>_lem_xxx() functions uses g_idle_add() if
the caller thread ID is not equal to the process ID.

Change-Id: I5e91b6df7367293f6e021028ed78c060b2d125f9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
10 months agoModify local execution mode of C++ generator 99/298599/1
Hwankyu Jhun [Mon, 11 Sep 2023 08:04:03 +0000 (17:04 +0900)]
Modify local execution mode of C++ generator

In the previous implementation, the local execution mode only supports
the asynchronous connection request. After this patch is applied,
the synchronous connection request is supported.

Change-Id: I3ad1831bdce99426e5a393b4633d1566a8812c36
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoModify port name of C stub code 67/297867/1
Hwankyu Jhun [Mon, 28 Aug 2023 00:45:02 +0000 (09:45 +0900)]
Modify port name of C stub code

This patch changes the hardcoded name to the proper name.

Change-Id: I457ef2a2b24757ac292b48adb8f92b60ab209308
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport Local Execution Mode for C++ Generator 54/297654/8
Hwankyu Jhun [Tue, 22 Aug 2023 08:20:42 +0000 (17:20 +0900)]
Support Local Execution Mode for C++ Generator

This patch supports the local execution mode. If the stub is equal to
the proxy, the local method will be invoked.

Change-Id: I913865b82f079b95b9b5d6c4c28b12792089467e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport 'struct' inheritance feature for C++ Generator 61/297361/8
Hwankyu Jhun [Thu, 17 Aug 2023 09:30:18 +0000 (18:30 +0900)]
Support 'struct' inheritance feature for C++ Generator

This patch supports the struct inheritance feature.

Change-Id: Ic3c4749316c8fc870da6e621976e6f094cef9d38
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport method privilege check for C++ Generator 61/297261/7
Hwankyu Jhun [Wed, 16 Aug 2023 05:12:18 +0000 (14:12 +0900)]
Support method privilege check for C++ Generator

This patch supports the method privilege check feature. The developer
can set the privilege for each methods.

Change-Id: I9991b3554712878580700127b17ea969617c3e65
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport RemoteException for C++ Generator 51/297251/12
Hwankyu Jhun [Fri, 11 Aug 2023 00:10:33 +0000 (09:10 +0900)]
Support RemoteException for C++ Generator

The stub can throw the RemoteException instance to the proxy.

Change-Id: I2f0ff327f88012ec10b120e1c8d73c1a3bc92f13
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport 'struct' inheritance feature for C# Generator 06/297806/3
jusung son [Thu, 24 Aug 2023 11:06:17 +0000 (20:06 +0900)]
Support 'struct' inheritance feature for C# Generator

Change-Id: Ib87019148b06e7f3d1f8de36d6c5f2a8b96f4903
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoChange unit map api signature for C# Generator 04/297804/1
jusung son [Thu, 24 Aug 2023 10:56:35 +0000 (19:56 +0900)]
Change unit map api signature for C# Generator

internal void Read(string name, string type, out <PARAM_TYPE> value) =>
internal void Read(string name, out <PARAM_TYPE> value)

internal void Write(string name, string type, <PARAM_TYPE> value) =>
internal void Write(string name, <PARAM_TYPE> value)

Change-Id: I630fc3aac82cbe89ad217fba01ab2008f736fd22
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoSupport RemoteException for C# Generator 35/297435/2
jusung son [Fri, 18 Aug 2023 07:13:30 +0000 (16:13 +0900)]
Support RemoteException for C# Generator

Change-Id: I2026724c180361dda912e8642476b55ff84dda89
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoFix bugs related to unit map 14/297314/2
jusung son [Thu, 17 Aug 2023 00:05:02 +0000 (09:05 +0900)]
Fix bugs related to unit map

Depending on the parameter marshaling feature,
it is not an error even if there are no parameters.

Change-Id: I4b624b8aff87260a6814776168be9ad13dc37dac
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoSupport method privilege check for C# Generator 69/297269/2
jusung son [Wed, 16 Aug 2023 06:09:54 +0000 (15:09 +0900)]
Support method privilege check for C# Generator

Change-Id: I5bf46f178257376a4d8b19767a864461b3c41c9b
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoFix coding style 49/297249/1
jusung son [Wed, 16 Aug 2023 01:26:25 +0000 (10:26 +0900)]
Fix coding style

Change-Id: I0b70c79a4af3695fbd3aac39e30c3363a771542e
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoFix a bug of C# Generator 48/297248/2
jusung son [Wed, 16 Aug 2023 01:05:53 +0000 (10:05 +0900)]
Fix a bug of C# Generator

- If there is no delegate, callback base is not generated.

Change-Id: Ib12d0cb50b4a2967550cc1df8b1e9d3bc7a21ade
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoSupport Map & Set container for C# Generator 77/297177/4
jusung son [Fri, 11 Aug 2023 07:21:54 +0000 (16:21 +0900)]
Support Map & Set container for C# Generator

This patch supports map and set container types.

Change-Id: I3f8284ad24a321222d5ba8fbb7ab8876f0a3852c
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoSupport enum type for C# generator 56/297156/2
jusung son [Fri, 11 Aug 2023 05:05:28 +0000 (14:05 +0900)]
Support enum type for C# generator

This patch supports the enumeration type.

Change-Id: I4d98d81bb122fec217117458057c82d0ef74c470
Signed-off-by: jusung son <jusung07.son@samsung.com>
11 months agoFix a bug of C++ Generator 39/297139/2
Hwankyu Jhun [Fri, 11 Aug 2023 01:04:20 +0000 (10:04 +0900)]
Fix a bug of C++ Generator

The type name should use the underbar instead of dot.
e.g. map<int, peer_info.channel_type>
=> map_int_peer_info_channel_type

Change-Id: I2fc9566483b8f2433a9611cff3830fb38c523f79
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoModify C Generator related to Remote Exception feature 99/297099/3
Hwankyu Jhun [Thu, 10 Aug 2023 07:31:40 +0000 (16:31 +0900)]
Modify C Generator related to Remote Exception feature

This patch modifies the remote exception feature. The interface name is
removed from the remote exception handle.

Changes:
 - Remove the interface name from the remote exception handle
 - Adjust coding style

Change-Id: Ib79e7c68031e395aeca24be112477b06e3af85c6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport enum type for C++ generator 78/296978/12
Hwankyu Jhun [Tue, 8 Aug 2023 04:30:17 +0000 (13:30 +0900)]
Support enum type for C++ generator

This patch supports the enumeration type.

Change-Id: If6dce33a7e5c6ba87bdf9dd84e10641b6642c08a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSupport Map & Set container for C++ Generator 79/296879/10
Hwankyu Jhun [Mon, 7 Aug 2023 05:10:12 +0000 (14:10 +0900)]
Support Map & Set container for C++ Generator

This patch supports map and set container types.

Change-Id: I9bf1e9164b1b7050b94584194064b8f339d24112
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoModify C Generator 26/297026/1
Hwankyu Jhun [Wed, 9 Aug 2023 05:54:13 +0000 (14:54 +0900)]
Modify C Generator

- Modifies SmartIndent method
- Modifies code blocks for coding style
- Modifies log message related to enum type

Change-Id: I145645d7de6304c24fa014bf83fbd72d79ed4bfc
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoModify supporting enum type 10/297010/2
Hwankyu Jhun [Tue, 8 Aug 2023 22:50:11 +0000 (07:50 +0900)]
Modify supporting enum type

To use the enum type of the other structure, the developer should set
the structure name explicitly.

Change-Id: Idc2776cc4f51ef7c05bab5b1e5a83d50f3eb6f43
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoModify Map & Set implementation of C generator 50/296950/6
Hwankyu Jhun [Tue, 8 Aug 2023 01:42:15 +0000 (10:42 +0900)]
Modify Map & Set implementation of C generator

The key type of map and set containers should be 'char', 'int', 'short',
'string', 'bool', float' and 'double'.

Change-Id: I92c3ac2f36d476733d1a8a05677c8e90c4576a2a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoSeparate generator code from main file 50/296750/5
Hwankyu Jhun [Fri, 4 Aug 2023 04:06:14 +0000 (13:06 +0900)]
Separate generator code from main file

The code generators are separated.

Adds:
 - CodeGenerator
 - CionGenerator
 - MqttGenerator
 - DefaultGenerator
 - version2::DefaultGenerator

Change-Id: I0287003d997765a7760ef27486bd1047dc55d916
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoImplement C++ Group Generator 50/296450/9
Hwankyu Jhun [Fri, 28 Jul 2023 04:05:13 +0000 (13:05 +0900)]
Implement C++ Group Generator

This is for protocol verion 2. Marshaling type info feature is added.

Change-Id: If32a2a884241a509f14d6c133feab25ef6ce613b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoFix build error 07/296607/1
Hwankyu Jhun [Wed, 2 Aug 2023 04:46:45 +0000 (13:46 +0900)]
Fix build error

- Add a missing header inclusion

Change-Id: I33e3acd3887cada8b49e179a41e78043d2bcbf52
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
11 months agoImplement C# Generator 47/296547/4
jusung son [Tue, 1 Aug 2023 01:56:11 +0000 (10:56 +0900)]
Implement C# Generator

This is for protocol verion 2. Marshaling type info feature is added.

Change-Id: I55c4f708f94e796fcf0eedd9abb70c2860f05680
Signed-off-by: jusung son <jusung07.son@samsung.com>
12 months agoImpelment C++ Generator 58/295558/33
Hwankyu Jhun [Thu, 13 Jul 2023 06:49:11 +0000 (15:49 +0900)]
Impelment C++ Generator

Type marsharling info is included to the parcel data.
To save the information to the parcel, Unit and UnitMap classes are added.

Change-Id: I8eb2b6e1d924702b2b84b1f20bc798bb2b6c5c1d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoSupport local execution mode 56/295656/4
jusung son [Wed, 12 Jul 2023 07:42:32 +0000 (16:42 +0900)]
Support local execution mode

Change-Id: I513c91723010011fe6329d786ac3a0ea4e890ae9
Signed-off-by: jusung son <jusung07.son@samsung.com>
12 months agoSupport 'struct' inheritance 74/288474/16
Hwankyu Jhun [Fri, 17 Feb 2023 04:12:18 +0000 (04:12 +0000)]
Support 'struct' inheritance

After this feature is applied, the developer can make a derived structure.
If the method uses the base structure parameter, the derived structure
can be passed to the method.

Change-Id: If24548d6460c25417a56e0a4dbc67f60e66a0f4f
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoRelease version 1.11.4 55/295155/1 accepted/tizen/unified/20230705.063732 accepted/tizen/unified/dev/20230726.115740
Hwankyu Jhun [Mon, 3 Jul 2023 08:39:03 +0000 (08:39 +0000)]
Release version 1.11.4

Changes:
 - Fix build error for gcc 12.2.0
 - Fix sign compare warning
 - Change version to 8.0
 - Change version to 8.0
 - Fixed the build error using gcc 13

Change-Id: Ie0b6c828d2f8405df307c5dcb650351a1937026e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
12 months agoFixed the build error using gcc 13 42/295142/1
Hwankyu Jhun [Mon, 3 Jul 2023 08:13:30 +0000 (08:13 +0000)]
Fixed the build error using gcc 13

- Remove unnecessary std::move call

Change-Id: I9c338e46da26342815e23bd7417ae5f18b1437b7
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoChange version to 8.0 42/292942/1
Hwankyu Jhun [Wed, 17 May 2023 08:59:05 +0000 (08:59 +0000)]
Change version to 8.0

The version should be 8.0.

Change-Id: Id863268371996ef3c75345c9f4c03d23e3a13a6e
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoChange version to 8.0 36/292936/1
Hwankyu Jhun [Wed, 17 May 2023 07:55:35 +0000 (07:55 +0000)]
Change version to 8.0

For building the tidl package in the DIBS, the version should be 8.0.

Change-Id: I14c8fc45568dbbaf6dfe55cabde773ed38ca0ba6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
14 months agoFix sign compare warning 47/292847/1
Hwankyu Jhun [Tue, 16 May 2023 00:00:28 +0000 (00:00 +0000)]
Fix sign compare warning

The type of return value of sizeof is size_t. Some build system enables
'-Wsign-compare' build option. It makes a build warning.
This patch adds a new variable to store the return value of sizeof. And,
it will be used to compare variables.

Change-Id: Iad724ec2ca88cc7b8d5c6cf6b3a15ed6b6c1dd3b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
15 months agoFix build error for gcc 12.2.0 63/291763/1
Hwankyu Jhun [Fri, 21 Apr 2023 04:18:03 +0000 (04:18 +0000)]
Fix build error for gcc 12.2.0

- Add warning ignore option about maybe-uninitialized
- Fix unit test
- Add a blank line for compilation

Change-Id: Ib5fde77d41e8fbffb396eb5b76e7257c557bd947
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
15 months agoRelease version 1.11.3 59/291759/2 accepted/tizen/unified/20230424.185341
Changgyu Choi [Fri, 21 Apr 2023 02:17:50 +0000 (11:17 +0900)]
Release version 1.11.3

Changes:
 - Fix tidl fail issue

Change-Id: I017bad53ffaa187e473cf4de5f8fd100d6f3b00a
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
15 months agoFix tidl fail issue 58/291758/1
Changgyu Choi [Fri, 21 Apr 2023 02:09:44 +0000 (11:09 +0900)]
Fix tidl fail issue

Change-Id: I37f78d49033f6bea496be2a5a8b0303d43cfa7aa
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
15 months agoRelease version 1.11.2 78/291678/2
Changgyu Choi [Thu, 20 Apr 2023 07:07:51 +0000 (16:07 +0900)]
Release version 1.11.2

Changes:
 - Fix build error

Change-Id: Iec89c2f1d868678e2515e24fbd831b3c2a539a85
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
15 months agoFix build error 75/291675/1
jusung son [Thu, 20 Apr 2023 06:44:29 +0000 (15:44 +0900)]
Fix build error

 - Separate the implementations of Protocol 2.

Change-Id: I95bd68b768c40053d23c6bab4fc5054447816ea3
Signed-off-by: jusung son <jusung07.son@samsung.com>
15 months agoRelease version 1.11.1 49/291649/1 accepted/tizen/unified/20230420.153149
Hwankyu Jhun [Thu, 20 Apr 2023 00:52:22 +0000 (00:52 +0000)]
Release version 1.11.1

Changes:
 - Fix static analysis issues

Change-Id: I17d2b031e50f789a0dc9ca23ac1a10106e298a65
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
15 months agoFix static analysis issues 09/291609/3
Hwankyu Jhun [Wed, 19 Apr 2023 06:43:51 +0000 (06:43 +0000)]
Fix static analysis issues

The following cases are fixed:
 - resource leak
 - no effect

Change-Id: I01736acf26cb18d262ccbc0abae6a06ea1e315d5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
15 months agoRelease version 1.11.0 97/291597/1
Changgyu Choi [Wed, 19 Apr 2023 05:04:42 +0000 (14:04 +0900)]
Release version 1.11.0

Changes:
 - Modify Makefile for DIBS
 - Implement protocol version 2
 - Fix C++ generator
 - Implement C proxy body generator
 - Fix to fail build test
 - Implement C header generator
 - Replace AITT with MQTT
 - Fix build error
 - Implement C group generator
 -  Implement C stub generator
 - Fix dart generator implementation
 - Fix invalid access
 - Remove exception handling from _consumeCommnad()
 - Support map & set container type
 - Fix bugs about map & set container
 - Support enum type
 - Support sending exception feature
 - Support method privilege feature
 - Fix C generator related enumeration
 - Remove unnecessarily generated codes
 - Fix build error
 - Merge "Fix build error" into tizen
 - Add new build tests for protocol v2
 - Fix build tests
 - Change version to 7.5
 - Add missing implementation about ref keyword
 - Support 'import' keyword
 - Add some methods in ReplaceAll
 - Modify dart generator
 - [cion] Implement Dart stub generator
 - [cion] Implement Dart proxy generator
 - [cion] Add a missing disconnect on dart client
 - [cion] Implement sync call method
 - [cion] Fix file transfer logic
 - [cion] Implement Dart group generator

Change-Id: Ifabf76b67ade050dca7301923e61f9b012a80452
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
15 months ago[cion] Implement Dart group generator 24/291424/13
SukhyungKang [Fri, 14 Apr 2023 08:50:32 +0000 (17:50 +0900)]
[cion] Implement Dart group generator

Change-Id: Id97cd1af1f5e16d8a4d12d4035aaa5d86899aa26
Signed-off-by: SukhyungKang <shine.kang@samsung.com>
15 months ago[cion] Fix file transfer logic 30/291530/1
jusung son [Tue, 18 Apr 2023 05:37:59 +0000 (14:37 +0900)]
[cion] Fix file transfer logic

Change-Id: I40035e859a92b23265ed8d4387d033dff09ba463
Signed-off-by: jusung son <jusung07.son@samsung.com>
15 months ago[cion] Implement sync call method 49/291449/2
jusung son [Mon, 17 Apr 2023 05:30:19 +0000 (14:30 +0900)]
[cion] Implement sync call method

Change-Id: I49a5e68b8a9ba2f5066507ec8dc3453a8c11251b
Signed-off-by: jusung son <jusung07.son@samsung.com>
15 months ago[cion] Add a missing disconnect on dart client 69/291369/2
Changgyu Choi [Fri, 14 Apr 2023 01:58:37 +0000 (10:58 +0900)]
[cion] Add a missing disconnect on dart client

Change-Id: I4a455c94f8fbb69ce617f22313a060d4bfbdb546
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
15 months ago[cion] Implement Dart proxy generator 66/291066/9
Changgyu Choi [Fri, 7 Apr 2023 08:28:33 +0000 (17:28 +0900)]
[cion] Implement Dart proxy generator

This patch support the 'file' parameter.

Change-Id: I88e1c2d08c4b6861ef7ece63fe90ad1aa90bf630
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
15 months ago[cion] Implement Dart stub generator 36/290936/5
jusung son [Wed, 5 Apr 2023 08:16:11 +0000 (17:16 +0900)]
[cion] Implement Dart stub generator

Change-Id: I3d12e1d358c96bfffd73ec64f1a188961bf3da95
Signed-off-by: jusung son <jusung07.son@samsung.com>
16 months agoModify dart generator 09/289709/8
Changgyu Choi [Mon, 20 Mar 2023 04:25:55 +0000 (13:25 +0900)]
Modify dart generator

This patch is for below comments

  https://github.com/flutter-tizen/plugins/pull/541#discussion_r1133544326
  https://github.com/flutter-tizen/plugins/pull/543#discussion_r1133542877

Change-Id: Ic6b2b46b10a82df70d351ffab90ec560ceeb0a83
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
16 months agoAdd some methods in ReplaceAll 58/290158/1
jh9216.park [Tue, 21 Mar 2023 03:32:59 +0000 (23:32 -0400)]
Add some methods in ReplaceAll

- Add Repeat() method
- Add Remove() method
- Add Replace() method

- Example
constexpr const char CB_FUNCTION[] =
R"__rs_cb(
            pub fn <FN_NAME>(&self, <PARAMS>) <RET>{
                let p = Parcel::new();
                let port = self.proxy.get_port(PortType::Main);
                p.write_i32(MethodId::<METHOD_ID> as i32);
                <SENDER_BODY*><ID>.write_parcel(&mut p);</SENDER_BODY*>
                p.send(&port);

                <SYNC?>let parcel_received = Parcel::from(&port);
                <RECEIVER_BODY*><ID>.read_parcel(&mut parcel_received);</RECEIVER_BODY*>

                <HAS_RETURN?>let mut __ret: <TYPE> = Default::default();
                __ret.read_parcel(&mut parcel_received);
                __ret</HAS_RETURN?></SYNC?>
            }
)__rs_cb";

ret += ReplaceAll(::CB_FUNCTION)
        .Replace("FN_NAME", i->GetID())
        .Replace("PARAMS", GetParameters(i->GetParameters()))
        .Replace("RET", GetRetExpr(*i))
        .Replace("METHOD_ID", (*i).GetID())
        .Repeat("SENDER_BODY", (*i).GetParameters(),
            [](ReplaceAll* ra, const std::unique_ptr<tidl::Parameter>& i) {
          if (i->GetParameterType().GetDirection() == ParameterType::Direction::OUT)
            return false;
          ra->Replace("ID", i->GetID());
          return true;
        })
        .Remove("SYNC", (*i).GetMethodType() == Declaration::MethodType::ASYNC)
        .Repeat("RECEIVER_BODY", (*i).GetParameters(),
            [](ReplaceAll* ra, const std::unique_ptr<tidl::Parameter>& i) {
          if (i->GetParameterType().GetDirection() == ParameterType::Direction::IN)
            return false;
          ra->Replace("ID", i->GetID());
          return true;
        })
        .Remove("HAS_RETURN", (*i).GetType().ToString() == "void" )
        .Replace("TYPE", [&]() {
          return ConvertTypeToString((*i).GetType());
        });

Change-Id: Ic77369977767690181f192ebd6c21df802920ca6
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
16 months agoSupport 'import' keyword 24/289224/5
jusung [Fri, 3 Mar 2023 02:17:07 +0000 (11:17 +0900)]
Support 'import' keyword

Change-Id: I7f382e90717c6de66937675d680504d3ecc9620a
Signed-off-by: jusung <jusung07.son@samsung.com>
17 months agoAdd missing implementation about ref keyword 25/288725/2
Hwankyu Jhun [Wed, 22 Feb 2023 06:23:34 +0000 (06:23 +0000)]
Add missing implementation about ref keyword

If there is the 'ref' keyword, we should read and wrtie the argument.

Change-Id: I027cf6cc3101b474cc8ba07a7428a98d6566c488
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoChange version to 7.5 15/288715/1
Hwankyu Jhun [Wed, 22 Feb 2023 04:14:17 +0000 (04:14 +0000)]
Change version to 7.5

For building the tidl package in the DIBS, the version should be 7.5.

Change-Id: I2110a0e83f7aa6073ef37d936d88d683fea02f00
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoFix build tests 02/288702/1
Hwankyu Jhun [Wed, 22 Feb 2023 00:55:08 +0000 (00:55 +0000)]
Fix build tests

To test generated codes, the codes should be set in the CMakeLists.txt file.
This patch fixes the build failure issues.

Change-Id: I7c77c4d457e2307bfc6ff10f113ee9dc3850c51b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoAdd new build tests for protocol v2 59/288459/3
Hwankyu Jhun [Fri, 17 Feb 2023 00:43:22 +0000 (00:43 +0000)]
Add new build tests for protocol v2

To test protocol v2, the build tests are added.

Change-Id: I41bc494cfbc5bfa6e62135e148829c3bad9fc33b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoMerge "Fix build error" into tizen
jusung son [Thu, 16 Feb 2023 23:47:43 +0000 (23:47 +0000)]
Merge "Fix build error" into tizen

17 months agoFix build error 57/288457/1
jusung [Thu, 16 Feb 2023 23:33:19 +0000 (08:33 +0900)]
Fix build error

Change-Id: I249ceb1e9e51433b5d1cd16e752c833c950a0557
Signed-off-by: jusung <jusung07.son@samsung.com>
17 months agoRemove unnecessarily generated codes 31/288431/2
jusung [Thu, 16 Feb 2023 09:54:42 +0000 (18:54 +0900)]
Remove unnecessarily generated codes

Change-Id: Ide58fc564a21115af1bfbe61e0c292fb3e6e897d
Signed-off-by: jusung <jusung07.son@samsung.com>
17 months agoFix C generator related enumeration 02/288402/1
Hwankyu Jhun [Thu, 16 Feb 2023 06:31:14 +0000 (06:31 +0000)]
Fix C generator related enumeration

The generated enumeration value is changed to the uppercase.
The prefix of the enumeration is added to the value as below:
<PREFIX>_<NAME>_<OWNER_NAME>_<ENUM_VALUE>
e.g. RPC_PORT_PROXY_MESSAGE_CHANNEL_CLIENT

Change-Id: I7020361f4f1f8ef7ba81071fa4adf7c8801071a6
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoSupport method privilege feature 10/288210/5
Hwankyu Jhun [Tue, 14 Feb 2023 00:52:07 +0000 (00:52 +0000)]
Support method privilege feature

After this patch is applied, the developer can set the method privilege
for each methods as below:
+------------------------------------------------------------------------------+
| interface alarmmgr {                                                         |
|   [privilege = "http://tizen.org/privilege/alarm.set"]                       |
|   int alarm_set(int alarm_id, alarmtime time);                               |
|   ...                                                                        |
| }                                                                            |
+------------------------------------------------------------------------------+

Change-Id: I6d407b991cb2c32025a20fab6c343d7ca7287d35
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoSupport sending exception feature 74/288274/9
Hwankyu Jhun [Tue, 14 Feb 2023 09:26:45 +0000 (09:26 +0000)]
Support sending exception feature

This patch supports sending a remote exception. The server can throw
the remote exception to the client.

Change-Id: I6752837e89b33ad3ed4b09a5f78d8d6c13c6a979
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoSupport enum type 49/286749/12
jusung [Thu, 12 Jan 2023 08:36:56 +0000 (17:36 +0900)]
Support enum type

Change-Id: I9878ca3f6afd3dd9ed36632a7064459641e73aca
Signed-off-by: jusung <jusung07.son@samsung.com>
17 months agoFix bugs about map & set container 28/288328/4
Hwankyu Jhun [Wed, 15 Feb 2023 07:00:29 +0000 (07:00 +0000)]
Fix bugs about map & set container

- Fixes typo
- Fixes wrong conditions of iteration

Change-Id: I2b7a5eba2e2f8668b727c221a49c77aaced4035b
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
17 months agoSupport map & set container type 34/286234/24
Hwankyu Jhun [Mon, 2 Jan 2023 07:45:50 +0000 (07:45 +0000)]
Support map & set container type

From protocol version 2, the map & set container types are supported.
The developer can define the map<K, V> and the set<K> in the tidl files.

Change-Id: I4195762b2fadaec5cdb7935390344c81f696e9f5
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
18 months agoRemove exception handling from _consumeCommnad() 55/287255/1
Changgyu Choi [Thu, 26 Jan 2023 00:57:00 +0000 (09:57 +0900)]
Remove exception handling from _consumeCommnad()

This patch removes the catch clause so that the parcel parsing error
can be propagated to the user code (as an unhandled exception) properly.

Change-Id: Id7e7bc1d11061a5140c51fde156873618fde712c
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
18 months agoFix invalid access 46/286946/1
Changgyu Choi [Tue, 17 Jan 2023 07:16:54 +0000 (16:16 +0900)]
Fix invalid access

If std::string.length() is zero, then back() method's behavior is
undefined.

Change-Id: I5ccededf83b76058e91ebefec6b11ad8ff8f1db6
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
18 months agoFix dart generator implementation 11/286511/9
Changgyu Choi [Mon, 9 Jan 2023 08:13:37 +0000 (17:13 +0900)]
Fix dart generator implementation

Changes:
 - Modify method type of sync method.
 - Changes some stub variable names.
 - Removes unnecessary new lines.
 - Removes OnDisconnected typedef from the proxy.

Change-Id: Id51bcc20515dbabb7c4674cca2de83a8d7ac965d
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
18 months ago Implement C stub generator 40/286440/4
jusung [Fri, 6 Jan 2023 05:15:32 +0000 (14:15 +0900)]
 Implement C stub generator

Change-Id: Ieb8d5243041323f782a114ea84a927cf5d24e5f1
Signed-off-by: jusung <jusung07.son@samsung.com>
18 months agoImplement C group generator 22/286322/2
jusung [Wed, 4 Jan 2023 01:47:58 +0000 (10:47 +0900)]
Implement C group generator

Change-Id: I53ce8134cb61a54ca714e6cbc3ecc53fb50a05cf
Signed-off-by: jusung <jusung07.son@samsung.com>
18 months agoFix build error 20/286320/1
jusung [Wed, 4 Jan 2023 01:18:21 +0000 (10:18 +0900)]
Fix build error

Change-Id: Id997bed3d394d9b6b158c5ae8607d2f3841e741e
Signed-off-by: jusung <jusung07.son@samsung.com>
18 months agoReplace AITT with MQTT 20/284620/4
Sangyoon Jang [Tue, 22 Nov 2022 02:34:23 +0000 (11:34 +0900)]
Replace AITT with MQTT

Change-Id: I1951de37c78e23b9b8d08f3770f82cc6d7017c89
Signed-off-by: Sangyoon Jang <jeremy.jang@samsung.com>
18 months agoImplement C header generator 17/286217/4
Hwankyu Jhun [Mon, 2 Jan 2023 01:34:23 +0000 (01:34 +0000)]
Implement C header generator

This patch is for protocol version 2.

Change-Id: Id4216a97ada075b80fc1c580c6f1809948c43d17
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
18 months agoFix to fail build test 61/286161/8
Changgyu Choi [Fri, 30 Dec 2022 07:16:34 +0000 (16:16 +0900)]
Fix to fail build test

This patch is to solve the build failure issue that occurs depending on thread flag or not.

Change-Id: Id76506fc09c44c016fae49c42458405d1777ec8d
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
18 months agoImplement C proxy body generator 70/285670/20
Hwankyu Jhun [Fri, 16 Dec 2022 07:34:53 +0000 (07:34 +0000)]
Implement C proxy body generator

This patch is for protocol version 2. The rpc_port_unit_map_h is added
to store the name, the type and the value.

Change-Id: Id7741c84c263562738f79dee5c770741741b60c4
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
19 months agoFix C++ generator 13/285513/2
Changgyu Choi [Wed, 14 Dec 2022 03:06:26 +0000 (12:06 +0900)]
Fix C++ generator

Change-Id: I8ad8d495891b5c626e29b9ef474461cb1e6c0a8f
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
20 months agoImplement protocol version 2 10/283710/3
jusung [Wed, 2 Nov 2022 04:59:52 +0000 (13:59 +0900)]
Implement protocol version 2

 - Add protocol keyword
 - Enable file keyword without beta option.

Change-Id: Iba3bd2a7d58bd68c77c02a99849e3d37646c5515
Signed-off-by: jusung <jusung07.son@samsung.com>
21 months agoModify Makefile for DIBS 45/283245/4
Hwankyu Jhun [Fri, 21 Oct 2022 00:19:18 +0000 (00:19 +0000)]
Modify Makefile for DIBS

This patch modifies Makefile for including source files automatically
in the build time without explicit adding source files.

Change-Id: I3a1a93eff9c6e4152d3d904c4f0cf6ae3b4aba24
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoRelease version 1.10.6 44/283244/1
Hwankyu Jhun [Fri, 21 Oct 2022 00:02:49 +0000 (09:02 +0900)]
Release version 1.10.6

Changes:
 - Add missing files to Makefile for MacOS

Change-Id: I598155f51533de013c403f370fdec0efbaa5eaa9
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoAdd missing files to Makefile for MacOS 43/283243/2
Hwankyu Jhun [Thu, 20 Oct 2022 23:55:20 +0000 (23:55 +0000)]
Add missing files to Makefile for MacOS

Adds:
 - idlc/gen_cion/cion_plugin_base.cc
 - idlc/gen_cion/default_c_transportable.cc
 - idlc/gen_cion/default_cpp_transportable.cc
 - idlc/gen_cion/default_cs_transportable.cc
 - idlc/gen_cion/default_java_transportable.cc
 - idlc/gen_cion/java_cion_group_gen.cc
 - idlc/gen_cion/java_cion_group_repo_gen.cc
 - idlc/gen_cion/plugin_loader.cc

Change-Id: Ib6c22ef3a3b27e61893569f15bb7be59f6845f14
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoRelease version 1.10.5 41/283141/3
Changgyu Choi [Wed, 19 Oct 2022 02:00:53 +0000 (11:00 +0900)]
Release version 1.10.5

Changes:
 - [Dart] Improve dart generator

Change-Id: I7e56b4d9279e7f01416f1a000374360e90f7c656
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
21 months ago[Dart] Improve dart generator 96/283096/6
Changgyu Choi [Tue, 18 Oct 2022 05:23:27 +0000 (14:23 +0900)]
[Dart] Improve dart generator

Changes:
 - Changes some keyword names.
 - Removes unused methods.
 - Modifies README.md.

Change-Id: Ibcd6fa93ac7883a3d02b707f40c9fc202192a001
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
21 months agoRelease version 1.10.4 46/282746/1 accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.062448 accepted/tizen/7.0/unified/hotfix/20221116.105056 accepted/tizen/unified/20221012.014921 tizen_7.0_m2_release
Hwankyu Jhun [Tue, 11 Oct 2022 06:08:47 +0000 (15:08 +0900)]
Release version 1.10.4

Changes:
 - Move invocation parameters
 - Add checking nullptr
 - [Dart] Improve dart generator

Change-Id: I6c2a6de4ad0955eef22a85a60ef5bb5b190ba71a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months ago[Dart] Improve dart generator 30/282730/5
Hwankyu Jhun [Tue, 11 Oct 2022 02:29:42 +0000 (02:29 +0000)]
[Dart] Improve dart generator

The implementation of the proxy(client) is improved.
The delegate class is not exposed to the outside for developers.
The delegate function is exposed for developers.
Developers are able to register and deregister the delegate using the function.

Change-Id: I30d1ce57b1ec0f30d3844977148ea2314a345158
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
21 months agoAdd checking nullptr 59/282459/2
Changgyu Choi [Tue, 4 Oct 2022 04:52:06 +0000 (13:52 +0900)]
Add checking nullptr

GetMetaType() can return nullptr.
This patch adds to checking whether GetMetaType() return value is nullptr or not.

Change-Id: I8768bed1c7ed9ecd9b3ee024d2202543d4712327
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
21 months agoMove invocation parameters 50/282450/1
jh9216.park [Tue, 4 Oct 2022 03:04:04 +0000 (23:04 -0400)]
Move invocation parameters

- Some parameters can be moved to improve performance

Change-Id: Id80a74fded6b4188b23a2a4fa5fd274789ef743b
Signed-off-by: jh9216.park <jh9216.park@samsung.com>
21 months agoRelease version 1.10.3 58/282358/1 accepted/tizen/unified/20221004.150434
Changgyu Choi [Fri, 30 Sep 2022 07:09:19 +0000 (16:09 +0900)]
Release version 1.10.3

Changes:
 - Modify dart generator implementation

Change-Id: I09715fe26352a18b35fd1e39957ba08ece21d5e2
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>