platform/core/appfw/tidl.git
5 weeks agoIncrease c++ version to 17
Changgyu Choi [Fri, 15 Mar 2024 01:05:33 +0000 (10:05 +0900)]
Increase c++ version to 17

Dibs can support c++17.

Change-Id: Ia040c73cadb68045a894df604e8704b412718dc9
Signed-off-by: Changgyu Choi <changyu.choi@samsung.com>
5 weeks agoRelease version 2.0.11 90/312990/1
Hwankyu Jhun [Tue, 18 Jun 2024 06:26:57 +0000 (15:26 +0900)]
Release version 2.0.11

Changes:
 - [cion] Fix delegate callback id
 - Fix C++ generator of protocol version 2
 - Fix C++ Generator of version 2
 - Notify stub termination for local execution mode
 - Fix README markdown
 - Fix user enum type out parameter in c proxy
 - Add a new option for inhouse developers
 - Fix bugs related to ref keyword
 - Modify version 2 generator

Change-Id: Ia46e803c0ce2e2e8b7ddf6650db96fcdbb0872c2
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
5 weeks agoModify version 2 generator
Hwankyu Jhun [Tue, 18 Jun 2024 06:03:06 +0000 (15:03 +0900)]
Modify version 2 generator

To remove build warning messages, this patch adds initial value settings.

Change-Id: I4ff319f7a86f060e77d14c517e149680c27cc5ec
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
5 weeks agoFix bugs related to ref keyword
Hwankyu Jhun [Tue, 18 Jun 2024 05:04:58 +0000 (14:04 +0900)]
Fix bugs related to ref keyword

The ref parameter must be written and read.

Change-Id: I0a98164213c033329ad7b58262b9669caec6cdf3
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
5 weeks agoAdd a new option for inhouse developers
Hwankyu Jhun [Tue, 11 Jun 2024 02:34:58 +0000 (11:34 +0900)]
Add a new option for inhouse developers

The 'extension' options is added.
It provides the function that checks whether the pending request exists
or not.

Change-Id: Iab71b0dc8fc5ef7c2d80dd721ed17dc4682f381a
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
5 weeks agoFix user enum type out parameter in c proxy
Ilho Kim [Tue, 28 May 2024 09:57:46 +0000 (18:57 +0900)]
Fix user enum type out parameter in c proxy

Change-Id: I0c7715ea9ed885a1c68c01bd93bb790f07303836
Signed-off-by: Ilho Kim <ilho159.kim@samsung.com>
5 weeks agoFix README markdown
Hwankyu Jhun [Thu, 16 May 2024 06:15:56 +0000 (15:15 +0900)]
Fix README markdown

This patch fixes wrong code implementation.

Change-Id: Icfd3ed02ab15f4fd2f20308654b40e8698907759
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
5 weeks agoNotify stub termination for local execution mode
Hwankyu Jhun [Thu, 25 Apr 2024 05:36:55 +0000 (14:36 +0900)]
Notify stub termination for local execution mode

While calling a destructor of the stub, the proxy should get the
disconnected event from the stub.

Change-Id: I2ae41f3f69ede236059183ca0ce217beb2ff7a28
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
5 weeks agoFix C++ Generator of version 2
Hwankyu Jhun [Thu, 25 Apr 2024 02:00:17 +0000 (11:00 +0900)]
Fix C++ Generator of version 2

- Add setting the initialization value

Change-Id: I7226c5892c948a75b044fd6ca21257ac8c67ec10
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
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>