summaryrefslogtreecommitdiff
path: root/src/bindings
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindings')
-rw-r--r--src/bindings/cxx/ecore_cxx/Ecore.hh15
-rw-r--r--src/bindings/cxx/ecore_cxx/Ecore_Manual.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/Eet.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_composite.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_register.hh15
-rw-r--r--src/bindings/cxx/eet_cxx/eet_type.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/Eina.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_accessor.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_aligned_union.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_array.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_clone_allocators.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_copy_traits.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_deleter.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_error.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_fold.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_function.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_future.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_inarray.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_inlist.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_integer_sequence.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_iterator.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_list.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_log.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_logical.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_optional.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_pp.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ptrarray.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ptrlist.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_range_types.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_ref.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_strbuf.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_string_view.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_stringshare.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_thread.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_throw.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple_c.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_type_traits.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_value.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_variant.hh15
-rw-r--r--src/bindings/cxx/eina_cxx/eina_workarounds.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_basic.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_error.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_message.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_service.hh15
-rw-r--r--src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/Eo.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/efl_object_impl.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_concrete.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_cxx_interop.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_event.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_init.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_ops.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_private.hh15
-rw-r--r--src/bindings/cxx/eo_cxx/eo_wref.hh15
-rw-r--r--src/bindings/mono/efl_mono.dll.config.in15
-rw-r--r--src/bindings/mono/efl_mono/AssemblyInfo.cs.in3
-rw-r--r--src/bindings/mono/efl_mono/GenericModel.cs6
-rw-r--r--src/bindings/mono/efl_mono/ItemFactory.cs7
-rw-r--r--src/bindings/mono/efl_mono/UserModel.cs19
-rw-r--r--src/bindings/mono/efl_mono/efl_all.cs15
-rw-r--r--src/bindings/mono/efl_mono/efl_csharp_application.cs23
-rw-r--r--src/bindings/mono/efl_mono/efl_libs.cs.in15
-rw-r--r--src/bindings/mono/efl_mono/efl_libs.csv.in15
-rw-r--r--src/bindings/mono/efl_mono/meson.build23
-rw-r--r--src/bindings/mono/efl_sharp.csproj.in44
-rw-r--r--src/bindings/mono/eina_mono/eina_accessor.cs16
-rw-r--r--src/bindings/mono/eina_mono/eina_array.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_binbuf.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_common.cs21
-rw-r--r--src/bindings/mono/eina_mono/eina_config.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_container_common.cs116
-rw-r--r--src/bindings/mono/eina_mono/eina_environment.cs53
-rw-r--r--src/bindings/mono/eina_mono/eina_error.cs145
-rw-r--r--src/bindings/mono/eina_mono/eina_hash.cs63
-rw-r--r--src/bindings/mono/eina_mono/eina_inarray.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_inlist.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_iterator.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_list.cs15
-rw-r--r--src/bindings/mono/eina_mono/eina_log.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_promises.cs19
-rw-r--r--src/bindings/mono/eina_mono/eina_slice.cs105
-rw-r--r--src/bindings/mono/eina_mono/eina_strbuf.cs20
-rw-r--r--src/bindings/mono/eina_mono/eina_stringshare.cs26
-rw-r--r--src/bindings/mono/eina_mono/eina_value.cs605
-rw-r--r--src/bindings/mono/eina_mono/meson.build3
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_common.cs406
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_config.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_connection.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_message.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_object.cs16
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_pending.cs15
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_proxy.cs32
-rw-r--r--src/bindings/mono/eldbus_mono/eldbus_service.cs15
-rw-r--r--src/bindings/mono/eo_mono/EoWrapper.cs203
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper.cs139
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper_Unix.cs36
-rw-r--r--src/bindings/mono/eo_mono/FunctionWrapper_Windows.cs26
-rw-r--r--src/bindings/mono/eo_mono/NativeModule.cs60
-rw-r--r--src/bindings/mono/eo_mono/NativeModule_Unix.cs28
-rw-r--r--src/bindings/mono/eo_mono/NativeModule_Windows.cs26
-rw-r--r--src/bindings/mono/eo_mono/WrapperSupervisor.cs34
-rw-r--r--src/bindings/mono/eo_mono/iwrapper.cs466
-rw-r--r--src/bindings/mono/eo_mono/workaround.cs262
-rw-r--r--src/bindings/mono/meson.build117
115 files changed, 3692 insertions, 714 deletions
diff --git a/src/bindings/cxx/ecore_cxx/Ecore.hh b/src/bindings/cxx/ecore_cxx/Ecore.hh
index bd2cd7e..aa83ab3 100644
--- a/src/bindings/cxx/ecore_cxx/Ecore.hh
+++ b/src/bindings/cxx/ecore_cxx/Ecore.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EFL_ECORE_CXX_ECORE_HH 16#ifndef _EFL_ECORE_CXX_ECORE_HH
2#define _EFL_ECORE_CXX_ECORE_HH 17#define _EFL_ECORE_CXX_ECORE_HH
3 18
diff --git a/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh b/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh
index 19ec978..86c034e 100644
--- a/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh
+++ b/src/bindings/cxx/ecore_cxx/Ecore_Manual.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EFL_ECORE_CXX_ECORE_MANUAL_HH 16#ifndef _EFL_ECORE_CXX_ECORE_MANUAL_HH
2#define _EFL_ECORE_CXX_ECORE_MANUAL_HH 17#define _EFL_ECORE_CXX_ECORE_MANUAL_HH
3 18
diff --git a/src/bindings/cxx/eet_cxx/Eet.hh b/src/bindings/cxx/eet_cxx/Eet.hh
index 002d73a..46c0946 100644
--- a/src/bindings/cxx/eet_cxx/Eet.hh
+++ b/src/bindings/cxx/eet_cxx/Eet.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EET_HH_ 16#ifndef EET_HH_
2#define EET_HH_ 17#define EET_HH_
3 18
diff --git a/src/bindings/cxx/eet_cxx/eet_composite.hh b/src/bindings/cxx/eet_cxx/eet_composite.hh
index 2c8f6be..def2bbc 100644
--- a/src/bindings/cxx/eet_cxx/eet_composite.hh
+++ b/src/bindings/cxx/eet_cxx/eet_composite.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EET_COMPOSITE_HH_ 16#ifndef EFL_EET_COMPOSITE_HH_
2#define EFL_EET_COMPOSITE_HH_ 17#define EFL_EET_COMPOSITE_HH_
3 18
diff --git a/src/bindings/cxx/eet_cxx/eet_register.hh b/src/bindings/cxx/eet_cxx/eet_register.hh
index b18da36..f198148 100644
--- a/src/bindings/cxx/eet_cxx/eet_register.hh
+++ b/src/bindings/cxx/eet_cxx/eet_register.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EET_REGISTER_HH_ 16#ifndef EFL_EET_REGISTER_HH_
2#define EFL_EET_REGISTER_HH_ 17#define EFL_EET_REGISTER_HH_
3 18
diff --git a/src/bindings/cxx/eet_cxx/eet_type.hh b/src/bindings/cxx/eet_cxx/eet_type.hh
index e12bc98..b7bd9ea 100644
--- a/src/bindings/cxx/eet_cxx/eet_type.hh
+++ b/src/bindings/cxx/eet_cxx/eet_type.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EET_TYPE_HH 16#ifndef _EET_TYPE_HH
2#define _EET_TYPE_HH 17#define _EET_TYPE_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/Eina.hh b/src/bindings/cxx/eina_cxx/Eina.hh
index 85226d4..da82702 100644
--- a/src/bindings/cxx/eina_cxx/Eina.hh
+++ b/src/bindings/cxx/eina_cxx/Eina.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_HH_ 16#ifndef EINA_HH_
2#define EINA_HH_ 17#define EINA_HH_
3/** 18/**
diff --git a/src/bindings/cxx/eina_cxx/eina_accessor.hh b/src/bindings/cxx/eina_cxx/eina_accessor.hh
index 4aefc51..17e95c2 100644
--- a/src/bindings/cxx/eina_cxx/eina_accessor.hh
+++ b/src/bindings/cxx/eina_cxx/eina_accessor.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_ACCESSOR_HH_ 16#ifndef EINA_ACCESSOR_HH_
2#define EINA_ACCESSOR_HH_ 17#define EINA_ACCESSOR_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_aligned_union.hh b/src/bindings/cxx/eina_cxx/eina_aligned_union.hh
index eabe878..a1c7be9 100644
--- a/src/bindings/cxx/eina_cxx/eina_aligned_union.hh
+++ b/src/bindings/cxx/eina_cxx/eina_aligned_union.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_EINA_ALIGNED_UNION_HH_ 16#ifndef EFL_EINA_EINA_ALIGNED_UNION_HH_
2#define EFL_EINA_EINA_ALIGNED_UNION_HH_ 17#define EFL_EINA_EINA_ALIGNED_UNION_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_array.hh b/src/bindings/cxx/eina_cxx/eina_array.hh
index 0c9bd59..7911664 100644
--- a/src/bindings/cxx/eina_cxx/eina_array.hh
+++ b/src/bindings/cxx/eina_cxx/eina_array.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_ARRAY_HH_ 16#ifndef EINA_ARRAY_HH_
2#define EINA_ARRAY_HH_ 17#define EINA_ARRAY_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh b/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh
index 15e97ad..5bc6c36 100644
--- a/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh
+++ b/src/bindings/cxx/eina_cxx/eina_clone_allocators.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_CLONE_ALLOCATORS_HH_ 16#ifndef EINA_CLONE_ALLOCATORS_HH_
2#define EINA_CLONE_ALLOCATORS_HH_ 17#define EINA_CLONE_ALLOCATORS_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_copy_traits.hh b/src/bindings/cxx/eina_cxx/eina_copy_traits.hh
index e6e0164..badf60d 100644
--- a/src/bindings/cxx/eina_cxx/eina_copy_traits.hh
+++ b/src/bindings/cxx/eina_cxx/eina_copy_traits.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1/// 16///
2/// @file eo_concrete.hh 17/// @file eo_concrete.hh
3/// 18///
diff --git a/src/bindings/cxx/eina_cxx/eina_deleter.hh b/src/bindings/cxx/eina_cxx/eina_deleter.hh
index 7831dfd..4584da1 100644
--- a/src/bindings/cxx/eina_cxx/eina_deleter.hh
+++ b/src/bindings/cxx/eina_cxx/eina_deleter.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_DELETERS_HH_ 16#ifndef EINA_DELETERS_HH_
2#define EINA_DELETERS_HH_ 17#define EINA_DELETERS_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh b/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
index 60aa84f..6d7f5c6 100644
--- a/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
+++ b/src/bindings/cxx/eina_cxx/eina_eo_concrete_fwd.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_EO_CONCRETE_FWD_HH 16#ifndef EINA_EO_CONCRETE_FWD_HH
2#define EINA_EO_CONCRETE_FWD_HH 17#define EINA_EO_CONCRETE_FWD_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_error.hh b/src/bindings/cxx/eina_cxx/eina_error.hh
index 24e41a8..99cecee 100644
--- a/src/bindings/cxx/eina_cxx/eina_error.hh
+++ b/src/bindings/cxx/eina_cxx/eina_error.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EINA_ERROR_HH 16#ifndef _EINA_ERROR_HH
2#define _EINA_ERROR_HH 17#define _EINA_ERROR_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_fold.hh b/src/bindings/cxx/eina_cxx/eina_fold.hh
index 167e0df..9359d35 100644
--- a/src/bindings/cxx/eina_cxx/eina_fold.hh
+++ b/src/bindings/cxx/eina_cxx/eina_fold.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_FOLD_HH_ 16#ifndef EFL_EINA_FOLD_HH_
2#define EFL_EINA_FOLD_HH_ 17#define EFL_EINA_FOLD_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_function.hh b/src/bindings/cxx/eina_cxx/eina_function.hh
index cef6da5..d7e51eb 100644
--- a/src/bindings/cxx/eina_cxx/eina_function.hh
+++ b/src/bindings/cxx/eina_cxx/eina_function.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_FUNCTION_HH 16#ifndef EFL_EINA_FUNCTION_HH
2#define EFL_EINA_FUNCTION_HH 17#define EFL_EINA_FUNCTION_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_future.hh b/src/bindings/cxx/eina_cxx/eina_future.hh
index 34fa8bd..19aea9d 100644
--- a/src/bindings/cxx/eina_cxx/eina_future.hh
+++ b/src/bindings/cxx/eina_cxx/eina_future.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_FUTURE_HH_ 16#ifndef EINA_FUTURE_HH_
2#define EINA_FUTURE_HH_ 17#define EINA_FUTURE_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_inarray.hh b/src/bindings/cxx/eina_cxx/eina_inarray.hh
index 5a2c7f4..0e860de 100644
--- a/src/bindings/cxx/eina_cxx/eina_inarray.hh
+++ b/src/bindings/cxx/eina_cxx/eina_inarray.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_INARRAY_HH_ 16#ifndef EINA_INARRAY_HH_
2#define EINA_INARRAY_HH_ 17#define EINA_INARRAY_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_inlist.hh b/src/bindings/cxx/eina_cxx/eina_inlist.hh
index 8804034..dbf879c 100644
--- a/src/bindings/cxx/eina_cxx/eina_inlist.hh
+++ b/src/bindings/cxx/eina_cxx/eina_inlist.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_INLIST_HH_ 16#ifndef EINA_INLIST_HH_
2#define EINA_INLIST_HH_ 17#define EINA_INLIST_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh b/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh
index f99c871..2c7907a 100644
--- a/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh
+++ b/src/bindings/cxx/eina_cxx/eina_integer_sequence.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_CXX_EINA_INTEGER_SEQUENCE_HH 16#ifndef EINA_CXX_EINA_INTEGER_SEQUENCE_HH
2#define EINA_CXX_EINA_INTEGER_SEQUENCE_HH 17#define EINA_CXX_EINA_INTEGER_SEQUENCE_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_iterator.hh b/src/bindings/cxx/eina_cxx/eina_iterator.hh
index 1a8fedd..0e0cb82 100644
--- a/src/bindings/cxx/eina_cxx/eina_iterator.hh
+++ b/src/bindings/cxx/eina_cxx/eina_iterator.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_ITERATOR_HH_ 16#ifndef EINA_ITERATOR_HH_
2#define EINA_ITERATOR_HH_ 17#define EINA_ITERATOR_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_list.hh b/src/bindings/cxx/eina_cxx/eina_list.hh
index d5b6287..7697519 100644
--- a/src/bindings/cxx/eina_cxx/eina_list.hh
+++ b/src/bindings/cxx/eina_cxx/eina_list.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_LIST_HH_ 16#ifndef EINA_LIST_HH_
2#define EINA_LIST_HH_ 17#define EINA_LIST_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh b/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh
index 924dd73..60e81ba 100644
--- a/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh
+++ b/src/bindings/cxx/eina_cxx/eina_lists_auxiliary.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EINA_LISTS_AUXILIARY_HH 16#ifndef _EINA_LISTS_AUXILIARY_HH
2#define _EINA_LISTS_AUXILIARY_HH 17#define _EINA_LISTS_AUXILIARY_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_log.hh b/src/bindings/cxx/eina_cxx/eina_log.hh
index 1567485..c287b7b 100644
--- a/src/bindings/cxx/eina_cxx/eina_log.hh
+++ b/src/bindings/cxx/eina_cxx/eina_log.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_LOG_HH 16#ifndef EFL_EINA_LOG_HH
2#define EFL_EINA_LOG_HH 17#define EFL_EINA_LOG_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_logical.hh b/src/bindings/cxx/eina_cxx/eina_logical.hh
index d53d354..f8155d5 100644
--- a/src/bindings/cxx/eina_cxx/eina_logical.hh
+++ b/src/bindings/cxx/eina_cxx/eina_logical.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_LOGICAL_HH 16#ifndef EFL_EINA_LOGICAL_HH
2#define EFL_EINA_LOGICAL_HH 17#define EFL_EINA_LOGICAL_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_optional.hh b/src/bindings/cxx/eina_cxx/eina_optional.hh
index 70a5cc2..5454f0c 100644
--- a/src/bindings/cxx/eina_cxx/eina_optional.hh
+++ b/src/bindings/cxx/eina_cxx/eina_optional.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_OPTIONAL_HH_ 16#ifndef EINA_OPTIONAL_HH_
2#define EINA_OPTIONAL_HH_ 17#define EINA_OPTIONAL_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_pp.hh b/src/bindings/cxx/eina_cxx/eina_pp.hh
index 22a6a22..28c71e1 100644
--- a/src/bindings/cxx/eina_cxx/eina_pp.hh
+++ b/src/bindings/cxx/eina_cxx/eina_pp.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#ifndef EINA_PP_HH 17#ifndef EINA_PP_HH
3#define EINA_PP_HH 18#define EINA_PP_HH
diff --git a/src/bindings/cxx/eina_cxx/eina_ptrarray.hh b/src/bindings/cxx/eina_cxx/eina_ptrarray.hh
index b2f6ef5..1e5da9d 100644
--- a/src/bindings/cxx/eina_cxx/eina_ptrarray.hh
+++ b/src/bindings/cxx/eina_cxx/eina_ptrarray.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_PTRARRAY_HH_ 16#ifndef EINA_PTRARRAY_HH_
2#define EINA_PTRARRAY_HH_ 17#define EINA_PTRARRAY_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_ptrlist.hh b/src/bindings/cxx/eina_cxx/eina_ptrlist.hh
index 988658b..2c2416c 100644
--- a/src/bindings/cxx/eina_cxx/eina_ptrlist.hh
+++ b/src/bindings/cxx/eina_cxx/eina_ptrlist.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_PTRLIST_HH_ 16#ifndef EINA_PTRLIST_HH_
2#define EINA_PTRLIST_HH_ 17#define EINA_PTRLIST_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_range_types.hh b/src/bindings/cxx/eina_cxx/eina_range_types.hh
index 4f05d73..0c38b64 100644
--- a/src/bindings/cxx/eina_cxx/eina_range_types.hh
+++ b/src/bindings/cxx/eina_cxx/eina_range_types.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_RANGE_TYPES_HH_ 16#ifndef EINA_RANGE_TYPES_HH_
2#define EINA_RANGE_TYPES_HH_ 17#define EINA_RANGE_TYPES_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_ref.hh b/src/bindings/cxx/eina_cxx/eina_ref.hh
index 8a3b4e8..0fca02b 100644
--- a/src/bindings/cxx/eina_cxx/eina_ref.hh
+++ b/src/bindings/cxx/eina_cxx/eina_ref.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_REF_HH 16#ifndef EINA_REF_HH
2#define EINA_REF_HH 17#define EINA_REF_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_strbuf.hh b/src/bindings/cxx/eina_cxx/eina_strbuf.hh
index c81a98f..56c6697 100644
--- a/src/bindings/cxx/eina_cxx/eina_strbuf.hh
+++ b/src/bindings/cxx/eina_cxx/eina_strbuf.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_CXX_STRBUF_HH 16#ifndef EINA_CXX_STRBUF_HH
2#define EINA_CXX_STRBUF_HH 17#define EINA_CXX_STRBUF_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_string_view.hh b/src/bindings/cxx/eina_cxx/eina_string_view.hh
index 577742e..77798db 100644
--- a/src/bindings/cxx/eina_cxx/eina_string_view.hh
+++ b/src/bindings/cxx/eina_cxx/eina_string_view.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_STRING_VIEW_HH_ 16#ifndef EINA_STRING_VIEW_HH_
2#define EINA_STRING_VIEW_HH_ 17#define EINA_STRING_VIEW_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_stringshare.hh b/src/bindings/cxx/eina_cxx/eina_stringshare.hh
index e7e2f67..e666d41 100644
--- a/src/bindings/cxx/eina_cxx/eina_stringshare.hh
+++ b/src/bindings/cxx/eina_cxx/eina_stringshare.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EINA_STRINGSHARE_HH 16#ifndef _EINA_STRINGSHARE_HH
2#define _EINA_STRINGSHARE_HH 17#define _EINA_STRINGSHARE_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_thread.hh b/src/bindings/cxx/eina_cxx/eina_thread.hh
index f12c577..bd0cad8 100644
--- a/src/bindings/cxx/eina_cxx/eina_thread.hh
+++ b/src/bindings/cxx/eina_cxx/eina_thread.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_THREAD_HH_ 16#ifndef EINA_THREAD_HH_
2#define EINA_THREAD_HH_ 17#define EINA_THREAD_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_throw.hh b/src/bindings/cxx/eina_cxx/eina_throw.hh
index 3eb382b..0e39323 100644
--- a/src/bindings/cxx/eina_cxx/eina_throw.hh
+++ b/src/bindings/cxx/eina_cxx/eina_throw.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_CXX_THROW 16#ifndef EFL_CXX_THROW
2 17
3#ifdef EFL_CXX_NO_EXCEPTIONS 18#ifdef EFL_CXX_NO_EXCEPTIONS
diff --git a/src/bindings/cxx/eina_cxx/eina_tuple.hh b/src/bindings/cxx/eina_cxx/eina_tuple.hh
index 45545c3..c0ea02b 100644
--- a/src/bindings/cxx/eina_cxx/eina_tuple.hh
+++ b/src/bindings/cxx/eina_cxx/eina_tuple.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_EINA_TUPLE_HH_ 16#ifndef EFL_EINA_EINA_TUPLE_HH_
2#define EFL_EINA_EINA_TUPLE_HH_ 17#define EFL_EINA_EINA_TUPLE_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_tuple_c.hh b/src/bindings/cxx/eina_cxx/eina_tuple_c.hh
index 64d67c4..6e1d4b9 100644
--- a/src/bindings/cxx/eina_cxx/eina_tuple_c.hh
+++ b/src/bindings/cxx/eina_cxx/eina_tuple_c.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_EINA_EINA_TUPLE_C_HH_ 16#ifndef EFL_EINA_EINA_TUPLE_C_HH_
2#define EFL_EINA_EINA_TUPLE_C_HH_ 17#define EFL_EINA_EINA_TUPLE_C_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh b/src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh
index f2bbb00..5dedb3e 100644
--- a/src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh
+++ b/src/bindings/cxx/eina_cxx/eina_tuple_unwrap.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_CXX_EINA_TUPLE_UNWRAP_HH 16#ifndef EINA_CXX_EINA_TUPLE_UNWRAP_HH
2#define EINA_CXX_EINA_TUPLE_UNWRAP_HH 17#define EINA_CXX_EINA_TUPLE_UNWRAP_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_type_traits.hh b/src/bindings/cxx/eina_cxx/eina_type_traits.hh
index 3ca979f..67d032a 100644
--- a/src/bindings/cxx/eina_cxx/eina_type_traits.hh
+++ b/src/bindings/cxx/eina_cxx/eina_type_traits.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EINA_TYPE_TRAITS_HH 16#ifndef _EINA_TYPE_TRAITS_HH
2#define _EINA_TYPE_TRAITS_HH 17#define _EINA_TYPE_TRAITS_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_value.hh b/src/bindings/cxx/eina_cxx/eina_value.hh
index 5775aeb..1407740 100644
--- a/src/bindings/cxx/eina_cxx/eina_value.hh
+++ b/src/bindings/cxx/eina_cxx/eina_value.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef _EFL_EINA_EINA_VALUE_HH 16#ifndef _EFL_EINA_EINA_VALUE_HH
2#define _EFL_EINA_EINA_VALUE_HH 17#define _EFL_EINA_EINA_VALUE_HH
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_variant.hh b/src/bindings/cxx/eina_cxx/eina_variant.hh
index 4885c80..a337f2e 100644
--- a/src/bindings/cxx/eina_cxx/eina_variant.hh
+++ b/src/bindings/cxx/eina_cxx/eina_variant.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_VARIANT_HH_ 16#ifndef EINA_VARIANT_HH_
2#define EINA_VARIANT_HH_ 17#define EINA_VARIANT_HH_
3 18
diff --git a/src/bindings/cxx/eina_cxx/eina_workarounds.hh b/src/bindings/cxx/eina_cxx/eina_workarounds.hh
index 0ba5869..0be2a3c 100644
--- a/src/bindings/cxx/eina_cxx/eina_workarounds.hh
+++ b/src/bindings/cxx/eina_cxx/eina_workarounds.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EINA_WORKAROUNDS_HH_ 16#ifndef EINA_WORKAROUNDS_HH_
2#define EINA_WORKAROUNDS_HH_ 17#define EINA_WORKAROUNDS_HH_
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/Eldbus.hh b/src/bindings/cxx/eldbus_cxx/Eldbus.hh
index 67cbaf6..68ba64f 100644
--- a/src/bindings/cxx/eldbus_cxx/Eldbus.hh
+++ b/src/bindings/cxx/eldbus_cxx/Eldbus.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_ELDBUS_HH_ 16#ifndef EFL_ELDBUS_HH_
2#define EFL_ELDBUS_HH_ 17#define EFL_ELDBUS_HH_
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh b/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh
index 7d8bb27..ae7478e 100644
--- a/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh
+++ b/src/bindings/cxx/eldbus_cxx/Eldbus_Model.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_CXX_ELDBUS_MODEL_HH 16#ifndef EFL_CXX_ELDBUS_MODEL_HH
2#define EFL_CXX_ELDBUS_MODEL_HH 17#define EFL_CXX_ELDBUS_MODEL_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_basic.hh b/src/bindings/cxx/eldbus_cxx/eldbus_basic.hh
index aa287b4..20e5686 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_basic.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_basic.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_CXX_ELDBUS_BASIC_HH 16#ifndef ELDBUS_CXX_ELDBUS_BASIC_HH
2#define ELDBUS_CXX_ELDBUS_BASIC_HH 17#define ELDBUS_CXX_ELDBUS_BASIC_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_error.hh b/src/bindings/cxx/eldbus_cxx/eldbus_error.hh
index dad1d1b..7f21d38 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_error.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_error.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_ERROR_HH 16#ifndef ELDBUS_ERROR_HH
2#define ELDBUS_ERROR_HH 17#define ELDBUS_ERROR_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh b/src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh
index 4af8c58..d7414e5 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_freedesktop.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_ELDBUS_CXX_ELDBUS_FREEDESKTOP_HH 16#ifndef EFL_ELDBUS_CXX_ELDBUS_FREEDESKTOP_HH
2#define EFL_ELDBUS_CXX_ELDBUS_FREEDESKTOP_HH 17#define EFL_ELDBUS_CXX_ELDBUS_FREEDESKTOP_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh b/src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh
index 282936a..f749dbb 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_integer_sequence.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_CXX_ELDBUS_INTEGER_SEQUENCE_HH 16#ifndef ELDBUS_CXX_ELDBUS_INTEGER_SEQUENCE_HH
2#define ELDBUS_CXX_ELDBUS_INTEGER_SEQUENCE_HH 17#define ELDBUS_CXX_ELDBUS_INTEGER_SEQUENCE_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_message.hh b/src/bindings/cxx/eldbus_cxx/eldbus_message.hh
index 3f9e15d..d26a470 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_message.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_message.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_CXX_ELDBUS_MESSAGE_HH 16#ifndef ELDBUS_CXX_ELDBUS_MESSAGE_HH
2#define ELDBUS_CXX_ELDBUS_MESSAGE_HH 17#define ELDBUS_CXX_ELDBUS_MESSAGE_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh b/src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh
index 6c57b02..bc19e54 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_message_arguments.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_CXX_ELDBUS_MESSAGE_ARGUMENTS_HH 16#ifndef ELDBUS_CXX_ELDBUS_MESSAGE_ARGUMENTS_HH
2#define ELDBUS_CXX_ELDBUS_MESSAGE_ARGUMENTS_HH 17#define ELDBUS_CXX_ELDBUS_MESSAGE_ARGUMENTS_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh b/src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh
index f06f71a..af1dc76 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_proxy_call.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_PROXY_CALL_HH 16#ifndef ELDBUS_PROXY_CALL_HH
2#define ELDBUS_PROXY_CALL_HH 17#define ELDBUS_PROXY_CALL_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh b/src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh
index ee17cfb..2970e1e 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_raw_tuple.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_ELDBUS_CXX_ELDBUS_RAW_TUPLE_HH 16#ifndef EFL_ELDBUS_CXX_ELDBUS_RAW_TUPLE_HH
2#define EFL_ELDBUS_CXX_ELDBUS_RAW_TUPLE_HH 17#define EFL_ELDBUS_CXX_ELDBUS_RAW_TUPLE_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_service.hh b/src/bindings/cxx/eldbus_cxx/eldbus_service.hh
index 7d1e005..5852e1e 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_service.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_service.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_CXX_ELDBUS_SERVICE_HH 16#ifndef ELDBUS_CXX_ELDBUS_SERVICE_HH
2#define ELDBUS_CXX_ELDBUS_SERVICE_HH 17#define ELDBUS_CXX_ELDBUS_SERVICE_HH
3 18
diff --git a/src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh b/src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh
index 8f2f324..2580cab 100644
--- a/src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh
+++ b/src/bindings/cxx/eldbus_cxx/eldbus_signature_traits.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef ELDBUS_SIGNATURE_TRAITS_HH_ 16#ifndef ELDBUS_SIGNATURE_TRAITS_HH_
2#define ELDBUS_SIGNATURE_TRAITS_HH_ 17#define ELDBUS_SIGNATURE_TRAITS_HH_
3 18
diff --git a/src/bindings/cxx/eo_cxx/Eo.hh b/src/bindings/cxx/eo_cxx/Eo.hh
index 4a4da4c..570a419 100644
--- a/src/bindings/cxx/eo_cxx/Eo.hh
+++ b/src/bindings/cxx/eo_cxx/Eo.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_CXX_EO_HH 16#ifndef EFL_CXX_EO_HH
2#define EFL_CXX_EO_HH 17#define EFL_CXX_EO_HH
3 18
diff --git a/src/bindings/cxx/eo_cxx/efl_object_impl.hh b/src/bindings/cxx/eo_cxx/efl_object_impl.hh
index 734ed17..c62b0d9 100644
--- a/src/bindings/cxx/eo_cxx/efl_object_impl.hh
+++ b/src/bindings/cxx/eo_cxx/efl_object_impl.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#ifndef EFL_OBJECT_MANUAL_IMPL_HH 16#ifndef EFL_OBJECT_MANUAL_IMPL_HH
2#define EFL_OBJECT_MANUAL_IMPL_HH 17#define EFL_OBJECT_MANUAL_IMPL_HH
3 18
diff --git a/src/bindings/cxx/eo_cxx/eo_concrete.hh b/src/bindings/cxx/eo_cxx/eo_concrete.hh
index 9cd23be..dfc27bb 100644
--- a/src/bindings/cxx/eo_cxx/eo_concrete.hh
+++ b/src/bindings/cxx/eo_cxx/eo_concrete.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1/// 16///
2/// @file eo_concrete.hh 17/// @file eo_concrete.hh
3/// 18///
diff --git a/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh b/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh
index 4af1c56..633d377 100644
--- a/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh
+++ b/src/bindings/cxx/eo_cxx/eo_cxx_interop.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#ifndef EFL_EOLIAN_INTEROP_HH 17#ifndef EFL_EOLIAN_INTEROP_HH
3#define EFL_EOLIAN_INTEROP_HH 18#define EFL_EOLIAN_INTEROP_HH
diff --git a/src/bindings/cxx/eo_cxx/eo_event.hh b/src/bindings/cxx/eo_cxx/eo_event.hh
index 96e4f6b..0053a0f 100644
--- a/src/bindings/cxx/eo_cxx/eo_event.hh
+++ b/src/bindings/cxx/eo_cxx/eo_event.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2/// 17///
3/// @file eo_event.hh 18/// @file eo_event.hh
diff --git a/src/bindings/cxx/eo_cxx/eo_init.hh b/src/bindings/cxx/eo_cxx/eo_init.hh
index a1cb3c2..653e747 100644
--- a/src/bindings/cxx/eo_cxx/eo_init.hh
+++ b/src/bindings/cxx/eo_cxx/eo_init.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2/// 17///
3/// @file eo_init.hh 18/// @file eo_init.hh
diff --git a/src/bindings/cxx/eo_cxx/eo_ops.hh b/src/bindings/cxx/eo_cxx/eo_ops.hh
index 4f9c1f7..6d09a4f 100644
--- a/src/bindings/cxx/eo_cxx/eo_ops.hh
+++ b/src/bindings/cxx/eo_cxx/eo_ops.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2#ifndef EFL_CXX_DETAIL_EO_OPS_HH 17#ifndef EFL_CXX_DETAIL_EO_OPS_HH
3#define EFL_CXX_DETAIL_EO_OPS_HH 18#define EFL_CXX_DETAIL_EO_OPS_HH
diff --git a/src/bindings/cxx/eo_cxx/eo_private.hh b/src/bindings/cxx/eo_cxx/eo_private.hh
index ec4d92c..abd67e5 100644
--- a/src/bindings/cxx/eo_cxx/eo_private.hh
+++ b/src/bindings/cxx/eo_cxx/eo_private.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2/// 17///
3/// @file eo_private.hh 18/// @file eo_private.hh
diff --git a/src/bindings/cxx/eo_cxx/eo_wref.hh b/src/bindings/cxx/eo_cxx/eo_wref.hh
index aed6d69..c9b96c2 100644
--- a/src/bindings/cxx/eo_cxx/eo_wref.hh
+++ b/src/bindings/cxx/eo_cxx/eo_wref.hh
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1 16
2/// 17///
3/// @file eo_wref.hh 18/// @file eo_wref.hh
diff --git a/src/bindings/mono/efl_mono.dll.config.in b/src/bindings/mono/efl_mono.dll.config.in
index b84883f..4fe8699 100644
--- a/src/bindings/mono/efl_mono.dll.config.in
+++ b/src/bindings/mono/efl_mono.dll.config.in
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1<configuration> 16<configuration>
2 <dllmap dll="eina" target="@EINA@"/> 17 <dllmap dll="eina" target="@EINA@"/>
3 <dllmap dll="efl" target="@EFL@"/> 18 <dllmap dll="efl" target="@EFL@"/>
diff --git a/src/bindings/mono/efl_mono/AssemblyInfo.cs.in b/src/bindings/mono/efl_mono/AssemblyInfo.cs.in
new file mode 100644
index 0000000..e22d0a4
--- /dev/null
+++ b/src/bindings/mono/efl_mono/AssemblyInfo.cs.in
@@ -0,0 +1,3 @@
1using System.Runtime.CompilerServices;
2
3@MONO_FRIEND_ASSEMBLIES@
diff --git a/src/bindings/mono/efl_mono/GenericModel.cs b/src/bindings/mono/efl_mono/GenericModel.cs
index 1f92b8c..5f33374 100644
--- a/src/bindings/mono/efl_mono/GenericModel.cs
+++ b/src/bindings/mono/efl_mono/GenericModel.cs
@@ -18,7 +18,7 @@ namespace Efl {
18/// </summary> 18/// </summary>
19/// <typeparam name="T">The type of the child model. It is the type used when adding/removing/getting items to this 19/// <typeparam name="T">The type of the child model. It is the type used when adding/removing/getting items to this
20/// model.</typeparam> 20/// model.</typeparam>
21public class GenericModel<T> : Efl.Object, Efl.IModel, IDisposable 21public class GenericModel<T> : Efl.Object, Efl.IModel
22{ 22{
23 private Efl.IModel model; 23 private Efl.IModel model;
24 24
@@ -119,12 +119,12 @@ public class GenericModel<T> : Efl.Object, Efl.IModel, IDisposable
119 /// <returns>Token to notify the async operation of external request to cancel.</returns> 119 /// <returns>Token to notify the async operation of external request to cancel.</returns>
120 async public System.Threading.Tasks.Task<T> GetAtAsync(uint index) 120 async public System.Threading.Tasks.Task<T> GetAtAsync(uint index)
121 { 121 {
122 using (Eina.Value v = await GetChildrenSliceAsync(index, 1)) 122 using (Eina.Value v = await GetChildrenSliceAsync(index, 1).ConfigureAwait(false))
123 { 123 {
124 if (v.GetValueType().IsContainer()) 124 if (v.GetValueType().IsContainer())
125 { 125 {
126 var child = (Efl.IModel)v[0]; 126 var child = (Efl.IModel)v[0];
127 T obj = (T)Activator.CreateInstance(typeof(T), new System.Object[] {}); 127 T obj = (T)Activator.CreateInstance(typeof(T), Array.Empty<object>());
128 ModelHelper.GetProperties(obj, child); 128 ModelHelper.GetProperties(obj, child);
129 return obj; 129 return obj;
130 } 130 }
diff --git a/src/bindings/mono/efl_mono/ItemFactory.cs b/src/bindings/mono/efl_mono/ItemFactory.cs
index be429fd..a97401c 100644
--- a/src/bindings/mono/efl_mono/ItemFactory.cs
+++ b/src/bindings/mono/efl_mono/ItemFactory.cs
@@ -6,7 +6,8 @@ using System.Collections.Generic;
6using System.Linq; 6using System.Linq;
7using System.ComponentModel; 7using System.ComponentModel;
8 8
9namespace Efl { namespace Ui { 9namespace Efl.Ui
10{
10 11
11/// <summary>Helper factory class. Makes use of C# extension methods for easier property binding. 12/// <summary>Helper factory class. Makes use of C# extension methods for easier property binding.
12/// 13///
@@ -15,7 +16,7 @@ namespace Efl { namespace Ui {
15/// factory.Style().Bind("Name"); // The factory Style property is bound to the Name property for the given model. 16/// factory.Style().Bind("Name"); // The factory Style property is bound to the Name property for the given model.
16/// </code> 17/// </code>
17/// </summary> 18/// </summary>
18public class ItemFactory<T> : Efl.Ui.LayoutFactory, IDisposable 19public class ItemFactory<T> : Efl.Ui.LayoutFactory
19{ 20{
20 /// <summary>Creates a new factory. 21 /// <summary>Creates a new factory.
21 /// </summary> 22 /// </summary>
@@ -26,6 +27,6 @@ public class ItemFactory<T> : Efl.Ui.LayoutFactory, IDisposable
26 } 27 }
27} 28}
28 29
29} } 30}
30 31
31#endif 32#endif
diff --git a/src/bindings/mono/efl_mono/UserModel.cs b/src/bindings/mono/efl_mono/UserModel.cs
index 1116dfc..99350b1 100644
--- a/src/bindings/mono/efl_mono/UserModel.cs
+++ b/src/bindings/mono/efl_mono/UserModel.cs
@@ -27,9 +27,12 @@ internal class ModelHelper
27 static internal void SetProperties<T>(T o, Efl.IModel child) 27 static internal void SetProperties<T>(T o, Efl.IModel child)
28 { 28 {
29 var properties = typeof(T).GetProperties(); 29 var properties = typeof(T).GetProperties();
30 foreach(var prop in properties) 30 foreach (var prop in properties)
31 { 31 {
32 child.SetProperty(prop.Name, ValueFromProperty(o, prop)); 32 using (var tmp = ValueFromProperty(o, prop))
33 {
34 child.SetProperty(prop.Name, tmp);
35 }
33 } 36 }
34 } 37 }
35 38
@@ -37,7 +40,7 @@ internal class ModelHelper
37 static internal void GetProperties<T>(T o, Efl.IModel child) 40 static internal void GetProperties<T>(T o, Efl.IModel child)
38 { 41 {
39 var properties = typeof(T).GetProperties(); 42 var properties = typeof(T).GetProperties();
40 foreach(var prop in properties) 43 foreach (var prop in properties)
41 { 44 {
42 using (var v = child.GetProperty(prop.Name)) 45 using (var v = child.GetProperty(prop.Name))
43 { 46 {
@@ -67,7 +70,7 @@ internal class ModelHelper
67/// </summary> 70/// </summary>
68/// <typeparam name="T">The enclosed C# model class with the properties to be added to the native model.</typeparam> 71/// <typeparam name="T">The enclosed C# model class with the properties to be added to the native model.</typeparam>
69[Efl.Eo.BindingEntity] 72[Efl.Eo.BindingEntity]
70public class UserModel<T> : Efl.MonoModelInternal, IDisposable 73public class UserModel<T> : Efl.MonoModelInternal
71{ 74{
72 /// <summary> 75 /// <summary>
73 /// Creates a new root model. 76 /// Creates a new root model.
@@ -79,18 +82,12 @@ public class UserModel<T> : Efl.MonoModelInternal, IDisposable
79 public UserModel (Efl.Object parent = null) : base(Efl.MonoModelInternal.efl_mono_model_internal_class_get(), parent) 82 public UserModel (Efl.Object parent = null) : base(Efl.MonoModelInternal.efl_mono_model_internal_class_get(), parent)
80 { 83 {
81 var properties = typeof(T).GetProperties(); 84 var properties = typeof(T).GetProperties();
82 foreach(var prop in properties) 85 foreach (var prop in properties)
83 { 86 {
84 AddProperty(prop.Name, Eina.ValueTypeBridge.GetManaged(prop.PropertyType)); 87 AddProperty(prop.Name, Eina.ValueTypeBridge.GetManaged(prop.PropertyType));
85 } 88 }
86 } 89 }
87 90
88 /// <summary>Disposes of this instance.</summary>
89 ~UserModel()
90 {
91 Dispose(false);
92 }
93
94 /// <summary>Adds a new child to the model wrapping the properties of <c>o</c> 91 /// <summary>Adds a new child to the model wrapping the properties of <c>o</c>
95 /// 92 ///
96 /// <para>Reflection is used to instantiate a new <see cref="Efl.IModel" />-based class for this child and 93 /// <para>Reflection is used to instantiate a new <see cref="Efl.IModel" />-based class for this child and
diff --git a/src/bindings/mono/efl_mono/efl_all.cs b/src/bindings/mono/efl_mono/efl_all.cs
index de917a3..66c7de2 100644
--- a/src/bindings/mono/efl_mono/efl_all.cs
+++ b/src/bindings/mono/efl_mono/efl_all.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/efl_mono/efl_csharp_application.cs b/src/bindings/mono/efl_mono/efl_csharp_application.cs
index b4ce5d2..4a93633 100644
--- a/src/bindings/mono/efl_mono/efl_csharp_application.cs
+++ b/src/bindings/mono/efl_mono/efl_csharp_application.cs
@@ -1,12 +1,24 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1using System; 16using System;
2using System.Runtime.InteropServices; 17using System.Runtime.InteropServices;
3using System.Threading; 18using System.Threading;
4using static Efl.UnsafeNativeMethods; 19using static Efl.UnsafeNativeMethods;
5 20
6namespace Efl 21namespace Efl.Csharp
7{
8
9namespace Csharp
10{ 22{
11 23
12/// <summary>The components to be initialized. 24/// <summary>The components to be initialized.
@@ -184,10 +196,9 @@ public abstract class Application
184 OnTerminate(); 196 OnTerminate();
185 }; 197 };
186 app.Begin(); 198 app.Begin();
199 command_line.Dispose();
187 Shutdown(); 200 Shutdown();
188 } 201 }
189} 202}
190 203
191} 204}
192
193}
diff --git a/src/bindings/mono/efl_mono/efl_libs.cs.in b/src/bindings/mono/efl_mono/efl_libs.cs.in
index 31e0455..fcf5b18 100644
--- a/src/bindings/mono/efl_mono/efl_libs.cs.in
+++ b/src/bindings/mono/efl_mono/efl_libs.cs.in
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3namespace efl { 18namespace efl {
diff --git a/src/bindings/mono/efl_mono/efl_libs.csv.in b/src/bindings/mono/efl_mono/efl_libs.csv.in
index 3e356fe..c4b3a72 100644
--- a/src/bindings/mono/efl_mono/efl_libs.csv.in
+++ b/src/bindings/mono/efl_mono/efl_libs.csv.in
@@ -1 +1,16 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1@EFL_MONO_LIBRARY_MAP@ 16@EFL_MONO_LIBRARY_MAP@
diff --git a/src/bindings/mono/efl_mono/meson.build b/src/bindings/mono/efl_mono/meson.build
index cfe53ee..e93d323 100644
--- a/src/bindings/mono/efl_mono/meson.build
+++ b/src/bindings/mono/efl_mono/meson.build
@@ -34,6 +34,29 @@ efl_src = configure_file(
34 configuration: efl_libs 34 configuration: efl_libs
35) 35)
36 36
37friend_assemblies = ''
38mono_friend_assemblies = get_option('mono-friend-assemblies')
39if get_option('build-tests')
40 if get_option('dotnet')
41 mono_friend_assemblies += 'efl_sharp_test_suite'
42 else
43 mono_friend_assemblies += 'efl_mono_test'
44 mono_friend_assemblies += 'efl-mono-suite'
45 endif
46endif
47
48foreach f : mono_friend_assemblies
49 friend_assemblies += '[assembly: InternalsVisibleTo("@0@")]\n'.format(f)
50endforeach
51friend_assembly_data = configuration_data()
52friend_assembly_data.set('MONO_FRIEND_ASSEMBLIES', friend_assemblies)
53
54mono_files += configure_file(
55 input: 'AssemblyInfo.cs.in',
56 output: 'AssemblyInfo.cs',
57 configuration: friend_assembly_data
58)
59
37mono_eo_files = [ 60mono_eo_files = [
38 'efl_mono_model_internal.eo', 61 'efl_mono_model_internal.eo',
39 'efl_mono_model_internal_child.eo' 62 'efl_mono_model_internal_child.eo'
diff --git a/src/bindings/mono/efl_sharp.csproj.in b/src/bindings/mono/efl_sharp.csproj.in
new file mode 100644
index 0000000..ce6a9e4
--- /dev/null
+++ b/src/bindings/mono/efl_sharp.csproj.in
@@ -0,0 +1,44 @@
1<Project Sdk="Microsoft.NET.Sdk">
2
3 <PropertyGroup>
4 <OutputType>Library</OutputType>
5 <TargetFramework>netstandard@NETSTANDARD_VERSION@</TargetFramework>
6 </PropertyGroup>
7
8 <PropertyGroup>
9 <PackageId>Efl.Csharp</PackageId>
10 <Version>@EFL_VERSION@</Version>
11 <Authors>EFL Team</Authors>
12 <PackageLicenseExpression>Apache-2.0</PackageLicenseExpression>
13 </PropertyGroup>
14
15 <PropertyGroup>
16 <DocumentationFile>$(AssemblyName).xml</DocumentationFile>
17 <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
18 </PropertyGroup>
19
20 <!-- <PropertyGroup Condition="'$(BuildType)'=='Beta'"> -->
21 <!-- <DefineConstants>EFL_BETA</DefineConstants> -->
22 <!-- </PropertyGroup> -->
23 <PropertyGroup>
24 <DefineConstants>@EFL_BETA@</DefineConstants>
25 </PropertyGroup>
26
27 <ItemGroup>
28 <Compile Include="@BINDING_SRC@/efl_mono/*.cs" />
29 <!-- FIXME Windows support -->
30 <Compile Include="@BINDING_SRC@/eo_mono/*.cs" Exclude="@BINDING_SRC@/eo_mono/*Windows.cs" />
31 <Compile Include="@BINDING_SRC@/eina_mono/*.cs" />
32 <Compile Include="@BINDING_SRC@/eolian_mono/*.cs" />
33 <Compile Include="@BINDING_SRC@/eldbus_mono/*.cs" />
34 </ItemGroup>
35
36 <!-- Calling `dotnet build` from a different folder seems to mess up the automatic source file discovery.
37 But we want them to be included only when building the lib itself.
38 -->
39 <ItemGroup Condition="'$(BuildingLib)'=='Yes'">
40 <Compile Include="./efl_mono/*.cs" />
41 <Compile Include="./*.cs" />
42 </ItemGroup>
43
44</Project>
diff --git a/src/bindings/mono/eina_mono/eina_accessor.cs b/src/bindings/mono/eina_mono/eina_accessor.cs
index c848a2c..64b4216 100644
--- a/src/bindings/mono/eina_mono/eina_accessor.cs
+++ b/src/bindings/mono/eina_mono/eina_accessor.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1using System; 16using System;
2using System.Collections; 17using System.Collections;
3using System.Collections.Generic; 18using System.Collections.Generic;
@@ -80,6 +95,7 @@ public class Accessor<T> : IEnumerable<T>, IDisposable
80 public void Dispose() 95 public void Dispose()
81 { 96 {
82 Dispose(true); 97 Dispose(true);
98 GC.SuppressFinalize(this);
83 } 99 }
84 100
85 /// <summary>Disposes of this wrapper, releasing the native accessor if 101 /// <summary>Disposes of this wrapper, releasing the native accessor if
diff --git a/src/bindings/mono/eina_mono/eina_array.cs b/src/bindings/mono/eina_mono/eina_array.cs
index 78388a5..7ebb7ed 100644
--- a/src/bindings/mono/eina_mono/eina_array.cs
+++ b/src/bindings/mono/eina_mono/eina_array.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -134,7 +149,7 @@ public class Array<T> : IEnumerable<T>, IDisposable
134 { 149 {
135 if (handle == IntPtr.Zero) 150 if (handle == IntPtr.Zero)
136 { 151 {
137 throw new ArgumentNullException("Handle can't be null"); 152 throw new ArgumentNullException("handle", "Handle can't be null");
138 } 153 }
139 154
140 Handle = handle; 155 Handle = handle;
@@ -153,7 +168,7 @@ public class Array<T> : IEnumerable<T>, IDisposable
153 { 168 {
154 if (handle == IntPtr.Zero) 169 if (handle == IntPtr.Zero)
155 { 170 {
156 throw new ArgumentNullException("Handle can't be null"); 171 throw new ArgumentNullException("handle", "Handle can't be null");
157 } 172 }
158 173
159 Handle = handle; 174 Handle = handle;
diff --git a/src/bindings/mono/eina_mono/eina_binbuf.cs b/src/bindings/mono/eina_mono/eina_binbuf.cs
index 0e9824c..24e93e8 100644
--- a/src/bindings/mono/eina_mono/eina_binbuf.cs
+++ b/src/bindings/mono/eina_mono/eina_binbuf.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/eina_mono/eina_common.cs b/src/bindings/mono/eina_mono/eina_common.cs
index badd62e..a4f2ff4 100644
--- a/src/bindings/mono/eina_mono/eina_common.cs
+++ b/src/bindings/mono/eina_mono/eina_common.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -16,7 +31,7 @@ internal delegate void EinaFreeCb(IntPtr data);
16 31
17} 32}
18 33
19internal static class NativeCustomExportFunctions 34internal static partial class NativeCustomExportFunctions
20{ 35{
21 [DllImport(efl.Libs.CustomExports)] public static extern void 36 [DllImport(efl.Libs.CustomExports)] public static extern void
22 efl_mono_native_free(IntPtr ptr); 37 efl_mono_native_free(IntPtr ptr);
@@ -190,10 +205,10 @@ public static class StringConversion
190 Marshal.WriteByte(native + strbuf.Length, 0); // write the terminating null 205 Marshal.WriteByte(native + strbuf.Length, 0); // write the terminating null
191 return native; 206 return native;
192 } 207 }
193 catch(Exception e) 208 catch (Exception)
194 { 209 {
195 MemoryNative.Free(native); 210 MemoryNative.Free(native);
196 throw e; 211 throw;
197 } 212 }
198 } 213 }
199 214
diff --git a/src/bindings/mono/eina_mono/eina_config.cs b/src/bindings/mono/eina_mono/eina_config.cs
index e9efea3..d1f536e 100644
--- a/src/bindings/mono/eina_mono/eina_config.cs
+++ b/src/bindings/mono/eina_mono/eina_config.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/eina_mono/eina_container_common.cs b/src/bindings/mono/eina_mono/eina_container_common.cs
index 03a6875..5366fab 100644
--- a/src/bindings/mono/eina_mono/eina_container_common.cs
+++ b/src/bindings/mono/eina_mono/eina_container_common.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -6,6 +21,7 @@ using System.Runtime.InteropServices;
6using System.Collections.Generic; 21using System.Collections.Generic;
7using System.Reflection; 22using System.Reflection;
8using System.ComponentModel; 23using System.ComponentModel;
24using System.Globalization;
9 25
10using Eina.Callbacks; 26using Eina.Callbacks;
11using static Eina.HashNativeFunctions; 27using static Eina.HashNativeFunctions;
@@ -27,19 +43,111 @@ public enum ElementType
27 43
28[EditorBrowsable(EditorBrowsableState.Never)] 44[EditorBrowsable(EditorBrowsableState.Never)]
29[StructLayout(LayoutKind.Sequential)] 45[StructLayout(LayoutKind.Sequential)]
30public struct InlistMem 46public struct InlistMem : IEquatable<InlistMem>
31{ 47{
32 public IntPtr next {get;set;} 48 public IntPtr next {get;set;}
33 public IntPtr prev {get;set;} 49 public IntPtr prev {get;set;}
34 public IntPtr last {get;set;} 50 public IntPtr last {get;set;}
51
52 /// <summary>
53 /// Gets a hash for <see cref="InlistMem" />.
54 /// <para>Since EFL 1.24.</para>
55 /// </summary>
56 /// <returns>A hash code.</returns>
57 public override int GetHashCode()
58 => next.GetHashCode() ^ prev.GetHashCode() ^ last.GetHashCode();
59
60 /// <summary>Returns whether this <see cref="InlistMem" />
61 /// is equal to the given <see cref="object" />.
62 /// <para>Since EFL 1.24.</para>
63 /// </summary>
64 /// <param name="other">The <see cref="object" /> to be compared to.</param>
65 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
66 public override bool Equals(object other)
67 => (!(other is InlistMem)) ? false : Equals((InlistMem)other);
68
69 /// <summary>Returns whether this <see cref="InlistMem" /> is equal
70 /// to the given <see cref="InlistMem" />.
71 /// <para>Since EFL 1.24.</para>
72 /// </summary>
73 /// <param name="other">The <see cref="InlistMem" /> to be compared to.</param>
74 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
75 public bool Equals(InlistMem other)
76 => (next == other.next) && (prev == other.prev)
77 && (last == other.last);
78
79 /// <summary>Returns whether <c>lhs</c> is equal to <c>rhs</c>.
80 /// <para>Since EFL 1.24.</para>
81 /// </summary>
82 /// <param name="lhs">The left hand side of the operator.</param>
83 /// <param name="rhs">The right hand side of the operator.</param>
84 /// <returns><c>true</c> if <c>lhs</c> is equal
85 /// to <c>rhs</c>.</returns>
86 public static bool operator==(InlistMem lhs, InlistMem rhs)
87 => lhs.Equals(rhs);
88
89 /// <summary>Returns whether <c>lhs</c> is not equal to <c>rhs</c>.
90 /// <para>Since EFL 1.24.</para>
91 /// </summary>
92 /// <param name="lhs">The left hand side of the operator.</param>
93 /// <param name="rhs">The right hand side of the operator.</param>
94 /// <returns><c>true</c> if <c>lhs</c> is not equal
95 /// to <c>rhs</c>.</returns>
96 public static bool operator!=(InlistMem lhs, InlistMem rhs) => !(lhs == rhs);
35} 97}
36 98
37[EditorBrowsable(EditorBrowsableState.Never)] 99[EditorBrowsable(EditorBrowsableState.Never)]
38[StructLayout(LayoutKind.Sequential)] 100[StructLayout(LayoutKind.Sequential)]
39public struct InlistNode<T> 101public struct InlistNode<T> : IEquatable<InlistNode<T>>
40{ 102{
41 public InlistMem __in_list {get;set;} 103 public InlistMem __in_list {get;set;}
42 public T Val {get;set;} 104 public T Val {get;set;}
105
106 /// <summary>
107 /// Gets a hash for <see cref="InlistNode{T}" />.
108 /// <para>Since EFL 1.24.</para>
109 /// </summary>
110 /// <returns>A hash code.</returns>
111 public override int GetHashCode()
112 => __in_list.GetHashCode() ^ Val.GetHashCode();
113
114 /// <summary>Returns whether this <see cref="InlistNode{T}" />
115 /// is equal to the given <see cref="object" />.
116 /// <para>Since EFL 1.24.</para>
117 /// </summary>
118 /// <param name="other">The <see cref="object" /> to be compared to.</param>
119 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
120 public override bool Equals(object other)
121 => (!(other is InlistNode<T>)) ? false : Equals((InlistNode<T>)other);
122
123 /// <summary>Returns whether this <see cref="InlistNode{T}" /> is equal
124 /// to the given <see cref="InlistNode{T}" />.
125 /// <para>Since EFL 1.24.</para>
126 /// </summary>
127 /// <param name="other">The <see cref="InlistNode{T}" /> to be compared to.</param>
128 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
129 public bool Equals(InlistNode<T> other)
130 => (__in_list == other.__in_list) && (Val.Equals(other.Val));
131
132 /// <summary>Returns whether <c>lhs</c> is equal to <c>rhs</c>.
133 /// <para>Since EFL 1.24.</para>
134 /// </summary>
135 /// <param name="lhs">The left hand side of the operator.</param>
136 /// <param name="rhs">The right hand side of the operator.</param>
137 /// <returns><c>true</c> if <c>lhs</c> is equal
138 /// to <c>rhs</c>.</returns>
139 public static bool operator==(InlistNode<T> lhs, InlistNode<T> rhs)
140 => lhs.Equals(rhs);
141
142 /// <summary>Returns whether <c>lhs</c> is not equal to <c>rhs</c>.
143 /// <para>Since EFL 1.24.</para>
144 /// </summary>
145 /// <param name="lhs">The left hand side of the operator.</param>
146 /// <param name="rhs">The right hand side of the operator.</param>
147 /// <returns><c>true</c> if <c>lhs</c> is not equal
148 /// to <c>rhs</c>.</returns>
149 public static bool operator!=(InlistNode<T> lhs, InlistNode<T> rhs)
150 => !(lhs == rhs);
43} 151}
44 152
45[EditorBrowsable(EditorBrowsableState.Never)] 153[EditorBrowsable(EditorBrowsableState.Never)]
@@ -627,7 +735,7 @@ abstract public class Primitive32ElementTraits<T> : PrimitiveElementTraits<T>, I
627 735
628 public IntPtr ManagedToNativeAllocRef(T man, bool refs) 736 public IntPtr ManagedToNativeAllocRef(T man, bool refs)
629 { 737 {
630 return int32Traits.ManagedToNativeAlloc(Convert.ToInt32((object)man)); 738 return int32Traits.ManagedToNativeAlloc(Convert.ToInt32((object)man, CultureInfo.CurrentCulture));
631 } 739 }
632 740
633 public void NativeFreeRef(IntPtr nat, bool unrefs) 741 public void NativeFreeRef(IntPtr nat, bool unrefs)
@@ -666,7 +774,7 @@ abstract public class Primitive64ElementTraits<T> : PrimitiveElementTraits<T>, I
666 774
667 public IntPtr ManagedToNativeAllocRef(T man, bool refs) 775 public IntPtr ManagedToNativeAllocRef(T man, bool refs)
668 { 776 {
669 return int64Traits.ManagedToNativeAlloc(Convert.ToInt64((object)man)); 777 return int64Traits.ManagedToNativeAlloc(Convert.ToInt64((object)man, CultureInfo.CurrentCulture));
670 } 778 }
671 779
672 public void NativeFreeRef(IntPtr nat, bool unrefs) 780 public void NativeFreeRef(IntPtr nat, bool unrefs)
diff --git a/src/bindings/mono/eina_mono/eina_environment.cs b/src/bindings/mono/eina_mono/eina_environment.cs
new file mode 100644
index 0000000..7cef31c
--- /dev/null
+++ b/src/bindings/mono/eina_mono/eina_environment.cs
@@ -0,0 +1,53 @@
1using System;
2using System.Runtime.InteropServices;
3
4namespace Eina
5{
6
7/// <summary>
8/// Class to deal with native Environment variables.
9///
10/// <para>To be used in place of <see cref="System.Environment" /> methods when
11/// accessing the native environment directly.</para>
12/// <para>Since EFL 1.24.</para>
13/// </summary>
14internal static class Environment
15{
16 /// <summary>
17 /// Returns the value of the environment variable named <c>name</c>.
18 ///
19 /// <para>Since EFL 1.24</para>
20 /// </summary>
21 /// <param name="name">The name of the variable to be retrieved</param>
22 /// <returns>The value of the variable. <c>null</c> if not set.</returns>
23 public static string GetEnv(string name)
24 {
25 return Eina.NativeCustomExportFunctions.efl_mono_native_getenv(name);
26 }
27
28 /// <summary>
29 /// Sets a native environment variable.
30 ///
31 /// <para>Since EFL 1.24</para>
32 /// </summary>
33 /// <param name="name">The name of the variable</param>
34 /// <param name="value">The value to be set.</param>
35 /// <param name="overwrite"><c>true</c> if an existing variable must be overwritten.</param>
36 public static void SetEnv(string name, string value, bool overwrite=true)
37 {
38 Eina.Error error = Eina.NativeCustomExportFunctions.efl_mono_native_setenv(name, value, overwrite ? 1 : 0);
39 Eina.Error.Raise(error);
40 }
41}
42
43internal static partial class NativeCustomExportFunctions
44{
45 [DllImport(efl.Libs.CustomExports, CharSet=CharSet.Ansi)]
46 [return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Efl.Eo.StringKeepOwnershipMarshaler))]
47 public static extern string efl_mono_native_getenv(string name);
48
49 [DllImport(efl.Libs.CustomExports, CharSet=CharSet.Ansi)]
50 public static extern Eina.Error efl_mono_native_setenv(string name, string value, int overwrite);
51}
52
53} \ No newline at end of file
diff --git a/src/bindings/mono/eina_mono/eina_error.cs b/src/bindings/mono/eina_mono/eina_error.cs
index 7b5733d..6774545 100644
--- a/src/bindings/mono/eina_mono/eina_error.cs
+++ b/src/bindings/mono/eina_mono/eina_error.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -9,7 +24,7 @@ namespace Eina
9/// <summary>Error codes from native Eina methods. 24/// <summary>Error codes from native Eina methods.
10/// <para>Since EFL 1.23.</para> 25/// <para>Since EFL 1.23.</para>
11/// </summary> 26/// </summary>
12public struct Error : IComparable<Error> 27public struct Error : IComparable<Error>, IEquatable<Error>
13{ 28{
14 int code; 29 int code;
15 30
@@ -26,7 +41,7 @@ public struct Error : IComparable<Error>
26 /// Unhandled Exception error identifier. 41 /// Unhandled Exception error identifier.
27 /// <para>Since EFL 1.23.</para> 42 /// <para>Since EFL 1.23.</para>
28 /// </summary> 43 /// </summary>
29 public static readonly Error UNHANDLED_EXCEPTION; 44 public static readonly Error UNHANDLED_EXCEPTION = eina_error_msg_register("Unhandled C# exception occurred.");
30 45
31 /// <summary> 46 /// <summary>
32 /// No error identifier. 47 /// No error identifier.
@@ -64,31 +79,28 @@ public struct Error : IComparable<Error>
64 /// <para>Since EFL 1.23.</para> 79 /// <para>Since EFL 1.23.</para>
65 /// </summary> 80 /// </summary>
66 /// <param name="val">Value to be converted to Error</param> 81 /// <param name="val">Value to be converted to Error</param>
67 static public implicit operator Error(int val) 82 public static implicit operator Error(int val) => FromInt32(val);
68 { 83
69 return new Error(val); 84 /// <summary>
70 } 85 /// Converts a <see cref="int" /> to a <see cref="Error" />.
86 /// <para>Since EFL 1.23.</para>
87 /// </summary>
88 /// <param name="val">The <see cref="int" /> to be converted.</param>
89 public static Error FromInt32(int val) => new Error(val);
71 90
72 /// <summary> 91 /// <summary>
73 /// Int conversion from Error. 92 /// Int conversion from Error.
74 /// <para>Since EFL 1.23.</para> 93 /// <para>Since EFL 1.23.</para>
75 /// </summary> 94 /// </summary>
76 /// <param name="error">Error identifier to be converted to int</param> 95 /// <param name="error">Error identifier to be converted to int</param>
77 static public implicit operator int(Error error) 96 public static implicit operator int(Error error) => ToInt32(error);
78 {
79 return error.code;
80 }
81 97
82 /// <summary> 98 /// <summary>
83 /// Compare two Errors. 99 /// Converts a <see cref="Error" /> to a <see cref="int" />.
84 /// <para>Since EFL 1.23.</para> 100 /// <para>Since EFL 1.23.</para>
85 /// </summary> 101 /// </summary>
86 /// <param name="err">Error to be compared with</param> 102 /// <param name="error">The <see cref="Error" /> to be converted.</param>
87 /// <returns>True with the Errors is equal, False otherwise.</returns> 103 public static int ToInt32(Error error) => error.code;
88 public int CompareTo(Error err)
89 {
90 return code.CompareTo(err.code);
91 }
92 104
93 /// <summary> 105 /// <summary>
94 /// Transform the object to a string representing the object. 106 /// Transform the object to a string representing the object.
@@ -100,11 +112,6 @@ public struct Error : IComparable<Error>
100 return "Eina.Error(" + code + ")"; 112 return "Eina.Error(" + code + ")";
101 } 113 }
102 114
103 static Error()
104 {
105 UNHANDLED_EXCEPTION = eina_error_msg_register("Unhandled C# exception occurred.");
106 }
107
108 [DllImport(efl.Libs.Eina)] static extern Error eina_error_msg_register(string msg); 115 [DllImport(efl.Libs.Eina)] static extern Error eina_error_msg_register(string msg);
109 [DllImport(efl.Libs.Eina)] static extern Error eina_error_get(); 116 [DllImport(efl.Libs.Eina)] static extern Error eina_error_get();
110 [DllImport(efl.Libs.Eina)] static extern void eina_error_set(Error error); 117 [DllImport(efl.Libs.Eina)] static extern void eina_error_set(Error error);
@@ -187,6 +194,98 @@ public struct Error : IComparable<Error>
187 { 194 {
188 return eina_error_msg_register(msg); 195 return eina_error_msg_register(msg);
189 } 196 }
190}
191 197
198 /// <summary>
199 /// Gets a hash for <see cref="Eina.Error" />.
200 /// <para>Since EFL 1.23.</para>
201 /// </summary>
202 /// <returns>A hash code.</returns>
203 public override int GetHashCode()
204 => code.GetHashCode() + Message.GetHashCode();
205
206 /// <summary>
207 /// Compare to a given error.
208 /// <para>Since EFL 1.23.</para>
209 /// </summary>
210 /// <param name="err">Error to be compared with.</param>
211 /// <returns>-1, 0 or 1 if -1 if Error is less, equal or greater than err.</returns>
212 public int CompareTo(Error err) => code.CompareTo(err.code);
213
214 /// <summary>
215 /// Check if is equal to obj.
216 /// <para>Since EFL 1.23.</para>
217 /// </summary>
218 /// <param name="obj">The object to be checked.</param>
219 /// <returns>false if obj is null or not equals, true otherwise.</returns>
220 public override bool Equals(object obj)
221 {
222 if (object.ReferenceEquals(obj, null))
223 return false;
224
225 return this.Equals((Error)obj);
226 }
227
228 /// <summary>
229 /// Check if is equal to err.
230 /// <para>Since EFL 1.23.</para>
231 /// </summary>
232 /// <param name="err">The object to be checked.</param>
233 /// <returns>false if obj is null or not equals, true otherwise.</returns>
234 public bool Equals(Error err) => this.CompareTo(err) == 0;
235
236 /// <summary>
237 /// Check if lhs is equals to rhs.
238 /// <para>Since EFL 1.23.</para>
239 /// </summary>
240 /// <param name="lhs">The left hand side of the operator.</param>
241 /// <param name="rhs">The right hand side of the operator.</param>
242 /// <returns>true if lhs is equals to rhs, false otherwise.</returns>
243 public static bool operator==(Error lhs, Error rhs) => lhs.Equals(rhs);
244
245 /// <summary>
246 /// Check if lhs is not equals to rhs.
247 /// <para>Since EFL 1.23.</para>
248 /// </summary>
249 /// <param name="lhs">The left hand side of the operator.</param>
250 /// <param name="rhs">The right hand side of the operator.</param>
251 /// <returns>true if lhs is not equals to rhs, false otherwise.</returns>
252 public static bool operator!=(Error lhs, Error rhs) => !(lhs == rhs);
253
254 /// <summary>
255 /// Check if lhs is less than rhs.
256 /// <para>Since EFL 1.23.</para>
257 /// </summary>
258 /// <param name="lhs">The left hand side of the operator.</param>
259 /// <param name="rhs">The right hand side of the operator.</param>
260 /// <returns>true if lhs is less than rhs, false otherwise.</returns>
261 public static bool operator<(Error lhs, Error rhs) => (lhs.CompareTo(rhs) < 0);
262
263 /// <summary>
264 /// Check if lhs is greater to rhs.
265 /// <para>Since EFL 1.23.</para>
266 /// </summary>
267 /// <param name="lhs">The left hand side of the operator.</param>
268 /// <param name="rhs">The right hand side of the operator.</param>
269 /// <returns>true if lhs is greater than rhs, false otherwise.</returns>
270 public static bool operator>(Error lhs, Error rhs) => rhs < lhs;
271
272 /// <summary>
273 /// Check if lhs is equals and less than rhs.
274 /// <para>Since EFL 1.23.</para>
275 /// </summary>
276 /// <param name="lhs">The left hand side of the operator.</param>
277 /// <param name="rhs">The right hand side of the operator.</param>
278 /// <returns>true if lhs is equals and less than rhs, false otherwise.</returns>
279 public static bool operator<=(Error lhs, Error rhs) => !(lhs > rhs);
280
281 /// <summary>
282 /// Check if lhs is equals and greater than rhs.
283 /// <para>Since EFL 1.23.</para>
284 /// </summary>
285 /// <param name="lhs">The left hand side of the operator.</param>
286 /// <param name="rhs">The right hand side of the operator.</param>
287 /// <returns>true if lhs is equals and greater than rhs, false otherwise.</returns>
288 public static bool operator>=(Error lhs, Error rhs) => !(lhs < rhs);
289
290}
192} 291}
diff --git a/src/bindings/mono/eina_mono/eina_hash.cs b/src/bindings/mono/eina_mono/eina_hash.cs
index 54fd343..c254d58 100644
--- a/src/bindings/mono/eina_mono/eina_hash.cs
+++ b/src/bindings/mono/eina_mono/eina_hash.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -15,11 +30,57 @@ namespace Eina
15 30
16[StructLayout(LayoutKind.Sequential)] 31[StructLayout(LayoutKind.Sequential)]
17[EditorBrowsable(EditorBrowsableState.Never)] 32[EditorBrowsable(EditorBrowsableState.Never)]
18public struct HashTupleNative 33public struct HashTupleNative : IEquatable<HashTupleNative>
19{ 34{
20 public IntPtr key; 35 public IntPtr key;
21 public IntPtr data; 36 public IntPtr data;
22 public uint key_length; 37 public uint key_length;
38
39 /// <summary>
40 /// Gets a hash for <see cref="HashTupleNative" />.
41 /// <para>Since EFL 1.24.</para>
42 /// </summary>
43 /// <returns>A hash code.</returns>
44 public override int GetHashCode()
45 => key.GetHashCode() ^ data.GetHashCode() ^ key_length.GetHashCode();
46
47 /// <summary>Returns whether this <see cref="HashTupleNative" />
48 /// is equal to the given <see cref="object" />.
49 /// <para>Since EFL 1.24.</para>
50 /// </summary>
51 /// <param name="other">The <see cref="object" /> to be compared to.</param>
52 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
53 public override bool Equals(object other)
54 => (!(other is HashTupleNative)) ? false : Equals((HashTupleNative)other);
55
56 /// <summary>Returns whether this <see cref="HashTupleNative" /> is equal
57 /// to the given <see cref="HashTupleNative" />.
58 /// <para>Since EFL 1.24.</para>
59 /// </summary>
60 /// <param name="other">The <see cref="HashTupleNative" /> to be compared to.</param>
61 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
62 public bool Equals(HashTupleNative other)
63 => (key == other.key) && (data == other.data)
64 && (key_length == other.key_length);
65
66 /// <summary>Returns whether <c>lhs</c> is equal to <c>rhs</c>.
67 /// <para>Since EFL 1.24.</para>
68 /// </summary>
69 /// <param name="lhs">The left hand side of the operator.</param>
70 /// <param name="rhs">The right hand side of the operator.</param>
71 /// <returns><c>true</c> if <c>lhs</c> is equal
72 /// to <c>rhs</c>.</returns>
73 public static bool operator==(HashTupleNative lhs, HashTupleNative rhs)
74 => lhs.Equals(rhs);
75
76 /// <summary>Returns whether <c>lhs</c> is not equal to <c>rhs</c>.
77 /// <para>Since EFL 1.24.</para>
78 /// </summary>
79 /// <param name="lhs">The left hand side of the operator.</param>
80 /// <param name="rhs">The right hand side of the operator.</param>
81 /// <returns><c>true</c> if <c>lhs</c> is not equal
82 /// to <c>rhs</c>.</returns>
83 public static bool operator!=(HashTupleNative lhs, HashTupleNative rhs) => !(lhs == rhs);
23} 84}
24 85
25[EditorBrowsable(EditorBrowsableState.Never)] 86[EditorBrowsable(EditorBrowsableState.Never)]
diff --git a/src/bindings/mono/eina_mono/eina_inarray.cs b/src/bindings/mono/eina_mono/eina_inarray.cs
index 0263faf..0373b43 100644
--- a/src/bindings/mono/eina_mono/eina_inarray.cs
+++ b/src/bindings/mono/eina_mono/eina_inarray.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/eina_mono/eina_inlist.cs b/src/bindings/mono/eina_mono/eina_inlist.cs
index a2769bc..80cfe2b 100644
--- a/src/bindings/mono/eina_mono/eina_inlist.cs
+++ b/src/bindings/mono/eina_mono/eina_inlist.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/eina_mono/eina_iterator.cs b/src/bindings/mono/eina_mono/eina_iterator.cs
index b95e1e6..fb73f88 100644
--- a/src/bindings/mono/eina_mono/eina_iterator.cs
+++ b/src/bindings/mono/eina_mono/eina_iterator.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/eina_mono/eina_list.cs b/src/bindings/mono/eina_mono/eina_list.cs
index df2fb68..70f2d91 100644
--- a/src/bindings/mono/eina_mono/eina_list.cs
+++ b/src/bindings/mono/eina_mono/eina_list.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
diff --git a/src/bindings/mono/eina_mono/eina_log.cs b/src/bindings/mono/eina_mono/eina_log.cs
index 4d67bbb..2174c65 100644
--- a/src/bindings/mono/eina_mono/eina_log.cs
+++ b/src/bindings/mono/eina_mono/eina_log.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -64,7 +79,7 @@ public static class Log
64 /// <summary>The colors to be used by the logging system. 79 /// <summary>The colors to be used by the logging system.
65 /// <para>Since EFL 1.23.</para> 80 /// <para>Since EFL 1.23.</para>
66 /// </summary> 81 /// </summary>
67 public static class Color 82 internal static class Color
68 { 83 {
69 /// <summary>Light red 84 /// <summary>Light red
70 /// <para>Since EFL 1.23.</para> 85 /// <para>Since EFL 1.23.</para>
@@ -124,7 +139,7 @@ public static class Log
124 static Log() 139 static Log()
125 { 140 {
126 const String name = "mono"; 141 const String name = "mono";
127 const String color = "\033[32;1m"; 142 const String color = Color.GREEN;
128 143
129 // Maybe move this check outside when other eina stuff get support? 144 // Maybe move this check outside when other eina stuff get support?
130 domain = eina_log_domain_register(name, color); 145 domain = eina_log_domain_register(name, color);
diff --git a/src/bindings/mono/eina_mono/eina_promises.cs b/src/bindings/mono/eina_mono/eina_promises.cs
index a2cef0d..4b14a0d 100644
--- a/src/bindings/mono/eina_mono/eina_promises.cs
+++ b/src/bindings/mono/eina_mono/eina_promises.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1using System; 16using System;
2using System.Runtime.InteropServices; 17using System.Runtime.InteropServices;
3using System.Collections.Generic; 18using System.Collections.Generic;
@@ -365,11 +380,11 @@ public class Future
365 { 380 {
366 SanityChecks(); 381 SanityChecks();
367 System.Collections.Generic.IList<ResolvedCb> cbsList = cbs.ToList(); 382 System.Collections.Generic.IList<ResolvedCb> cbsList = cbs.ToList();
368 FutureDesc[] descs = new FutureDesc[cbsList.Count() + 1]; // +1 due to the null-cb terminating descriptor. 383 FutureDesc[] descs = new FutureDesc[cbsList.Count + 1]; // +1 due to the null-cb terminating descriptor.
369 int i = 0; 384 int i = 0;
370 try 385 try
371 { 386 {
372 for (; i < cbsList.Count(); i++) 387 for (; i < cbsList.Count; i++)
373 { 388 {
374 ResolvedCb cb = cbsList[i]; 389 ResolvedCb cb = cbsList[i];
375 descs[i].cb = NativeResolvedCbDelegate; 390 descs[i].cb = NativeResolvedCbDelegate;
diff --git a/src/bindings/mono/eina_mono/eina_slice.cs b/src/bindings/mono/eina_mono/eina_slice.cs
index 20bd81f..c7a1fd9 100644
--- a/src/bindings/mono/eina_mono/eina_slice.cs
+++ b/src/bindings/mono/eina_mono/eina_slice.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -37,7 +52,7 @@ public interface ISliceBase
37/// Since EFL 1.23. 52/// Since EFL 1.23.
38/// </summary> 53/// </summary>
39[StructLayout(LayoutKind.Sequential)] 54[StructLayout(LayoutKind.Sequential)]
40public struct Slice : ISliceBase 55public struct Slice : ISliceBase, IEquatable<Slice>
41{ 56{
42 /// <summary> 57 /// <summary>
43 /// The length of this slice. 58 /// The length of this slice.
@@ -72,6 +87,49 @@ public struct Slice : ISliceBase
72 Mem = mem; 87 Mem = mem;
73 Len = len; 88 Len = len;
74 } 89 }
90
91 /// <summary>
92 /// Gets a hash for <see cref="Slice" />.
93 /// <para>Since EFL 1.24.</para>
94 /// </summary>
95 /// <returns>A hash code.</returns>
96 public override int GetHashCode() => Length.GetHashCode() ^ Mem.GetHashCode();
97
98 /// <summary>Returns whether this <see cref="Slice" />
99 /// is equal to the given <see cref="object" />.
100 /// <para>Since EFL 1.24.</para>
101 /// </summary>
102 /// <param name="other">The <see cref="object" /> to be compared to.</param>
103 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
104 public override bool Equals(object other)
105 => (!(other is Slice)) ? false : Equals((Slice)other);
106
107 /// <summary>Returns whether this <see cref="Slice" /> is equal
108 /// to the given <see cref="Slice" />.
109 /// <para>Since EFL 1.24.</para>
110 /// </summary>
111 /// <param name="other">The <see cref="Slice" /> to be compared to.</param>
112 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
113 public bool Equals(Slice other)
114 => (Length == other.Length) ^ (Mem == other.Mem);
115
116 /// <summary>Returns whether <c>lhs</c> is equal to <c>rhs</c>.
117 /// <para>Since EFL 1.24</para>
118 /// </summary>
119 /// <param name="lhs">The left hand side of the operator.</param>
120 /// <param name="rhs">The right hand side of the operator.</param>
121 /// <returns><c>true</c> if <c>lhs</c> is equal
122 /// to <c>rhs</c>.</returns>
123 public static bool operator==(Slice lhs, Slice rhs) => lhs.Equals(rhs);
124
125 /// <summary>Returns whether <c>lhs</c> is not equal to <c>rhs</c>.
126 /// <para>Since EFL 1.24.</para>
127 /// </summary>
128 /// <param name="lhs">The left hand side of the operator.</param>
129 /// <param name="rhs">The right hand side of the operator.</param>
130 /// <returns><c>true</c> if <c>lhs</c> is not equal
131 /// to <c>rhs</c>.</returns>
132 public static bool operator!=(Slice lhs, Slice rhs) => !(lhs == rhs);
75} 133}
76 134
77/// <summary>Pointer to a slice of native memory. 135/// <summary>Pointer to a slice of native memory.
@@ -79,7 +137,7 @@ public struct Slice : ISliceBase
79/// Since EFL 1.23. 137/// Since EFL 1.23.
80/// </summary> 138/// </summary>
81[StructLayout(LayoutKind.Sequential)] 139[StructLayout(LayoutKind.Sequential)]
82public struct RwSlice : ISliceBase 140public struct RwSlice : ISliceBase, IEquatable<RwSlice>
83{ 141{
84 /// <summary> 142 /// <summary>
85 /// The length of this slice. 143 /// The length of this slice.
@@ -126,6 +184,49 @@ public struct RwSlice : ISliceBase
126 r.Len = Len; 184 r.Len = Len;
127 return r; 185 return r;
128 } 186 }
187
188 /// <summary>
189 /// Gets a hash for <see cref="RwSlice" />.
190 /// <para>Since EFL 1.24.</para>
191 /// </summary>
192 /// <returns>A hash code.</returns>
193 public override int GetHashCode() => Mem.GetHashCode() ^ Length.GetHashCode();
194
195 /// <summary>Returns whether this <see cref="RwSlice" />
196 /// is equal to the given <see cref="object" />.
197 /// <para>Since EFL 1.24.</para>
198 /// </summary>
199 /// <param name="other">The <see cref="object" /> to be compared to.</param>
200 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
201 public override bool Equals(object other)
202 => (!(other is RwSlice)) ? false : Equals((RwSlice)other);
203
204 /// <summary>Returns whether this <see cref="RwSlice" /> is equal
205 /// to the given <see cref="RwSlice" />.
206 /// <para>Since EFL 1.24.</para>
207 /// </summary>
208 /// <param name="other">The <see cref="RwSlice" /> to be compared to.</param>
209 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
210 public bool Equals(RwSlice other)
211 => (Length == other.Length) && (Mem == other.Mem);
212
213 /// <summary>Returns whether <c>lhs</c> is equal to <c>rhs</c>.
214 /// <para>Since EFL 1.24.</para>
215 /// </summary>
216 /// <param name="lhs">The left hand side of the operator.</param>
217 /// <param name="rhs">The right hand side of the operator.</param>
218 /// <returns><c>true</c> if <c>lhs</c> is equal
219 /// to <c>rhs</c>.</returns>
220 public static bool operator==(RwSlice lhs, RwSlice rhs) => lhs.Equals(rhs);
221
222 /// <summary>Returns whether <c>lhs</c> is not equal to <c>rhs</c>.
223 /// <para>Since EFL 1.24.</para>
224 /// </summary>
225 /// <param name="lhs">The left hand side of the operator.</param>
226 /// <param name="rhs">The right hand side of the operator.</param>
227 /// <returns><c>true</c> if <c>lhs</c> is not equal
228 /// to <c>rhs</c>.</returns>
229 public static bool operator!=(RwSlice lhs, RwSlice rhs) => !(lhs == rhs);
129} 230}
130 231
131} 232}
diff --git a/src/bindings/mono/eina_mono/eina_strbuf.cs b/src/bindings/mono/eina_mono/eina_strbuf.cs
index e4b6ab1..bdde9a9 100644
--- a/src/bindings/mono/eina_mono/eina_strbuf.cs
+++ b/src/bindings/mono/eina_mono/eina_strbuf.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1using System; 16using System;
2using System.Runtime.InteropServices; 17using System.Runtime.InteropServices;
3using System.ComponentModel; 18using System.ComponentModel;
@@ -238,11 +253,6 @@ public class Strbuf : IDisposable
238 /// <returns>A string with the contents of this buffer.</returns> 253 /// <returns>A string with the contents of this buffer.</returns>
239 public override string ToString() 254 public override string ToString()
240 { 255 {
241 if (Disposed)
242 {
243 throw new ObjectDisposedException(base.GetType().Name);
244 }
245
246 return eina_strbuf_string_get(this.Handle); 256 return eina_strbuf_string_get(this.Handle);
247 } 257 }
248} 258}
diff --git a/src/bindings/mono/eina_mono/eina_stringshare.cs b/src/bindings/mono/eina_mono/eina_stringshare.cs
index 5944904..a6ca53a 100644
--- a/src/bindings/mono/eina_mono/eina_stringshare.cs
+++ b/src/bindings/mono/eina_mono/eina_stringshare.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3using System; 18using System;
@@ -125,6 +140,17 @@ public class Stringshare : IEquatable<Stringshare>, IEquatable<string>
125 } 140 }
126 141
127 /// <summary> 142 /// <summary>
143 /// Conversion from string to Stringshare.
144 /// <para>Since EFL 1.24.</para>
145 /// </summary>
146 /// <remarks>
147 /// Note that this method can be used to create an instance of this class,
148 /// either via an explicit cast or an implicit convertion.
149 /// <seealso cref="Create(string)"/>
150 /// </remarks>
151 public static Stringshare FromString(string s) => s;
152
153 /// <summary>
128 /// Check two Stringshare objects for equality. 154 /// Check two Stringshare objects for equality.
129 /// <para>Since EFL 1.23.</para> 155 /// <para>Since EFL 1.23.</para>
130 /// </summary> 156 /// </summary>
diff --git a/src/bindings/mono/eina_mono/eina_value.cs b/src/bindings/mono/eina_mono/eina_value.cs
index d70d9e6..2a2508e 100644
--- a/src/bindings/mono/eina_mono/eina_value.cs
+++ b/src/bindings/mono/eina_mono/eina_value.cs
@@ -1,3 +1,18 @@
1/*
2 * Copyright 2019 by its authors. See AUTHORS.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
1#pragma warning disable 1591 16#pragma warning disable 1591
2 17
3#define CODE_ANALYSIS 18#define CODE_ANALYSIS
@@ -11,6 +26,7 @@ using System.Security.Permissions;
11using System.Security; 26using System.Security;
12using System.Diagnostics.CodeAnalysis; 27using System.Diagnostics.CodeAnalysis;
13using System.Runtime.Serialization; 28using System.Runtime.Serialization;
29using System.Globalization;
14 30
15using static Eina.EinaNative.UnsafeNativeMethods; 31using static Eina.EinaNative.UnsafeNativeMethods;
16using static Eina.TraitFunctions; 32using static Eina.TraitFunctions;
@@ -547,7 +563,7 @@ static internal class UnsafeNativeMethods
547/// </summary> 563/// </summary>
548[StructLayout(LayoutKind.Sequential)] 564[StructLayout(LayoutKind.Sequential)]
549[EditorBrowsable(EditorBrowsableState.Never)] 565[EditorBrowsable(EditorBrowsableState.Never)]
550public struct ValueNative 566public struct ValueNative : IEquatable<ValueNative>
551{ 567{
552 public IntPtr Type; 568 public IntPtr Type;
553 public IntPtr Value; // Actually an Eina_Value_Union, but it is padded to 8 bytes. 569 public IntPtr Value; // Actually an Eina_Value_Union, but it is padded to 8 bytes.
@@ -556,6 +572,49 @@ public struct ValueNative
556 { 572 {
557 return $"ValueNative<Type:0x{Type.ToInt64():x}, Value:0x{Value.ToInt64():x}>"; 573 return $"ValueNative<Type:0x{Type.ToInt64():x}, Value:0x{Value.ToInt64():x}>";
558 } 574 }
575
576 /// <summary>
577 /// Gets a hash for <see cref="ValueNative" />.
578 /// <para>Since EFL 1.24.</para>
579 /// </summary>
580 /// <returns>A hash code.</returns>
581 public override int GetHashCode() => Type.GetHashCode() ^ Value.GetHashCode();
582
583 /// <summary>Returns whether this <see cref="ValueNative" />
584 /// is equal to the given <see cref="object" />.
585 /// <para>Since EFL 1.24.</para>
586 /// </summary>
587 /// <param name="other">The <see cref="object" /> to be compared to.</param>
588 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
589 public override bool Equals(object other)
590 => (!(other is ValueNative)) ? false : Equals((ValueNative)other);
591
592 /// <summary>Returns whether this <see cref="ValueNative" /> is equal
593 /// to the given <see cref="ValueNative" />.
594 /// <para>Since EFL 1.24.</para>
595 /// </summary>
596 /// <param name="other">The <see cref="ValueNative" /> to be compared to.</param>
597 /// <returns><c>true</c> if is equal to <c>other</c>.</returns>
598 public bool Equals(ValueNative other)
599 => (Type == other.Type) ^ (Value == other.Value);
600
601 /// <summary>Returns whether <c>lhs</c> is equal to <c>rhs</c>.
602 /// <para>Since EFL 1.24.</para>
603 /// </summary>
604 /// <param name="lhs">The left hand side of the operator.</param>
605 /// <param name="rhs">The right hand side of the operator.</param>
606 /// <returns><c>true</c> if <c>lhs</c> is equal
607 /// to <c>rhs</c>.</returns>
608 public static bool operator==(ValueNative lhs, ValueNative rhs) => lhs.Equals(rhs);
609
610 /// <summary>Returns whether <c>lhs</c> is not equal to <c>rhs</c>.
611 /// <para>Since EFL 1.24.</para>
612 /// </summary>
613 /// <param name="lhs">The left hand side of the operator.</param>
614 /// <param name="rhs">The right hand side of the operator.</param>
615 /// <returns><c>true</c> if <c>lhs</c> is not equal
616 /// to <c>rhs</c>.</returns>
617 public static bool operator!=(ValueNative lhs, ValueNative rhs) => !(lhs == rhs);
559} 618}
560 619
561/// <summary>Exception for failures when setting an container item. 620/// <summary>Exception for failures when setting an container item.
@@ -881,11 +940,15 @@ public class ValueTypeBox
881 } 940 }
882 941
883 public static implicit operator ValueTypeBox(ValueType v) 942 public static implicit operator ValueTypeBox(ValueType v)
884 { 943 => FromValueType(v);
885 return new ValueTypeBox(v); 944
886 } 945 public static ValueTypeBox FromValueType(ValueType v)
946 => new ValueTypeBox(v);
887 947
888 public static implicit operator ValueType(ValueTypeBox box) 948 public static implicit operator ValueType(ValueTypeBox box)
949 => ToValueType(box);
950
951 public static ValueType ToValueType(ValueTypeBox box)
889 { 952 {
890 if (box == null) 953 if (box == null)
891 { 954 {
@@ -1278,7 +1341,7 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1278 } 1341 }
1279 1342
1280 Type[] genericArguments = objType.GetGenericArguments(); 1343 Type[] genericArguments = objType.GetGenericArguments();
1281 if (genericArguments.Count() != 1) 1344 if (genericArguments.Length != 1)
1282 { 1345 {
1283 throw new ArgumentException($"Unsupported type for direct construction: {objType}"); 1346 throw new ArgumentException($"Unsupported type for direct construction: {objType}");
1284 } 1347 }
@@ -1549,30 +1612,33 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1549 /// <para>Since EFL 1.23.</para> 1612 /// <para>Since EFL 1.23.</para>
1550 /// </summary> 1613 /// </summary>
1551 [EditorBrowsable(EditorBrowsableState.Never)] 1614 [EditorBrowsable(EditorBrowsableState.Never)]
1552 public static implicit operator ValueNative(Value v) 1615 public static implicit operator ValueNative(Value v) => ToValueNative(v);
1553 { 1616
1554 return v.GetNative(); 1617 [EditorBrowsable(EditorBrowsableState.Never)]
1555 } 1618 public static ValueNative ToValueNative(Value v) => v.GetNative();
1556 1619
1557 /// <summary>Implicit conversion from native struct representation to managed wrapper. 1620 /// <summary>Implicit conversion from native struct representation to managed wrapper.
1558 /// <para>Since EFL 1.23.</para> 1621 /// <para>Since EFL 1.23.</para>
1559 /// </summary> 1622 /// </summary>
1560 [EditorBrowsable(EditorBrowsableState.Never)] 1623 [EditorBrowsable(EditorBrowsableState.Never)]
1561 public static implicit operator Value(ValueNative v) 1624 public static implicit operator Value(ValueNative v) => FromValueNative(v);
1562 { 1625
1563 return new Value(v); 1626 [EditorBrowsable(EditorBrowsableState.Never)]
1564 } 1627 public static Value FromValueNative(ValueNative v) => new Value(v);
1565 1628
1566 /// <summary>Implicit conversion. 1629 /// <summary>Implicit conversion.
1567 /// <para>Since EFL 1.23.</para> 1630 /// <para>Since EFL 1.23.</para>
1568 /// </summary> 1631 /// </summary>
1569 public static implicit operator Value(byte x) 1632 public static implicit operator Value(byte x) => FromByte(x);
1633
1634 /// <summary>
1635 /// Conversion to a <see cref="Value" /> from a <see cref="byte" />
1636 /// </summary>
1637 /// <param name="x">The <see cref="byte" /> to be converted.</param>
1638 public static Value FromByte(byte x)
1570 { 1639 {
1571 var v = new Eina.Value(ValueType.Byte); 1640 var v = new Eina.Value(ValueType.Byte);
1572 if (!v.Set(x)) 1641 v.Set(x);
1573 {
1574 throw new InvalidOperationException("Couldn't set value.");
1575 }
1576 1642
1577 return v; 1643 return v;
1578 } 1644 }
@@ -1580,13 +1646,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1580 /// <summary>Implicit conversion. 1646 /// <summary>Implicit conversion.
1581 /// <para>Since EFL 1.23.</para> 1647 /// <para>Since EFL 1.23.</para>
1582 /// </summary> 1648 /// </summary>
1583 public static implicit operator byte(Value v) 1649 public static implicit operator byte(Value v) => ToByte(v);
1650
1651 /// <summary>
1652 /// Conversion to a <see cref="byte" /> from a <see cref="Value" />
1653 /// <para>Since EFL 1.23.</para>
1654 /// </summary>
1655 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1656 public static byte ToByte(Value v)
1584 { 1657 {
1585 byte b; 1658 byte b;
1586 if (!v.Get(out b)) 1659 v.Get(out b);
1587 {
1588 throw new InvalidOperationException("Couldn't get value.");
1589 }
1590 1660
1591 return b; 1661 return b;
1592 } 1662 }
@@ -1594,13 +1664,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1594 /// <summary>Implicit conversion. 1664 /// <summary>Implicit conversion.
1595 /// <para>Since EFL 1.23.</para> 1665 /// <para>Since EFL 1.23.</para>
1596 /// </summary> 1666 /// </summary>
1597 public static implicit operator Value(sbyte x) 1667 public static implicit operator Value(sbyte x) => FromSByte(x);
1668
1669 /// <summary>
1670 /// Conversion to a <see cref="Value" /> from a <see cref="sbyte" />
1671 /// <para>Since EFL 1.23.</para>
1672 /// </summary>
1673 /// <param name="x">The <see cref="sbyte" /> to be converted.</param>
1674 public static Value FromSByte(sbyte x)
1598 { 1675 {
1599 var v = new Eina.Value(ValueType.SByte); 1676 var v = new Eina.Value(ValueType.SByte);
1600 if (!v.Set(x)) 1677 v.Set(x);
1601 {
1602 throw new InvalidOperationException("Couldn't set value.");
1603 }
1604 1678
1605 return v; 1679 return v;
1606 } 1680 }
@@ -1608,13 +1682,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1608 /// <summary>Implicit conversion. 1682 /// <summary>Implicit conversion.
1609 /// <para>Since EFL 1.23.</para> 1683 /// <para>Since EFL 1.23.</para>
1610 /// </summary> 1684 /// </summary>
1611 public static implicit operator sbyte(Value v) 1685 public static implicit operator sbyte(Value v) => ToSByte(v);
1686
1687 /// <summary>
1688 /// Conversion to a <see cref="sbyte" /> from a <see cref="Value" />
1689 /// <para>Since EFL 1.23.</para>
1690 /// </summary>
1691 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1692 public static sbyte ToSByte(Value v)
1612 { 1693 {
1613 sbyte b; 1694 sbyte b;
1614 if (!v.Get(out b)) 1695 v.Get(out b);
1615 {
1616 throw new InvalidOperationException("Couldn't get value.");
1617 }
1618 1696
1619 return b; 1697 return b;
1620 } 1698 }
@@ -1622,13 +1700,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1622 /// <summary>Implicit conversion. 1700 /// <summary>Implicit conversion.
1623 /// <para>Since EFL 1.23.</para> 1701 /// <para>Since EFL 1.23.</para>
1624 /// </summary> 1702 /// </summary>
1625 public static implicit operator Value(short x) 1703 public static implicit operator Value(short x) => FromInt16(x);
1704
1705 /// <summary>
1706 /// Conversion to a <see cref="Value" /> from a <see cref="short" />
1707 /// <para>Since EFL 1.23.</para>
1708 /// </summary>
1709 /// <param name="x">The <see cref="short" /> to be converted.</param>
1710 public static Value FromInt16(short x)
1626 { 1711 {
1627 var v = new Eina.Value(ValueType.Short); 1712 var v = new Eina.Value(ValueType.Short);
1628 if (!v.Set(x)) 1713 v.Set(x);
1629 {
1630 throw new InvalidOperationException("Couldn't set value.");
1631 }
1632 1714
1633 return v; 1715 return v;
1634 } 1716 }
@@ -1636,13 +1718,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1636 /// <summary>Implicit conversion. 1718 /// <summary>Implicit conversion.
1637 /// <para>Since EFL 1.23.</para> 1719 /// <para>Since EFL 1.23.</para>
1638 /// </summary> 1720 /// </summary>
1639 public static implicit operator short(Value v) 1721 public static implicit operator short(Value v) => ToInt16(v);
1722
1723 /// <summary>
1724 /// Conversion to a <see cref="short" /> from a <see cref="Value" />
1725 /// <para>Since EFL 1.23.</para>
1726 /// </summary>
1727 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1728 public static short ToInt16(Value v)
1640 { 1729 {
1641 short b; 1730 short b;
1642 if (!v.Get(out b)) 1731 v.Get(out b);
1643 {
1644 throw new InvalidOperationException("Couldn't get value.");
1645 }
1646 1732
1647 return b; 1733 return b;
1648 } 1734 }
@@ -1650,13 +1736,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1650 /// <summary>Implicit conversion. 1736 /// <summary>Implicit conversion.
1651 /// <para>Since EFL 1.23.</para> 1737 /// <para>Since EFL 1.23.</para>
1652 /// </summary> 1738 /// </summary>
1653 public static implicit operator Value(ushort x) 1739 public static implicit operator Value(ushort x) => FromUInt16(x);
1740
1741 /// <summary>
1742 /// Conversion to a <see cref="Value" /> from a <see cref="ushort" />
1743 /// <para>Since EFL 1.23.</para>
1744 /// </summary>
1745 /// <param name="x">The <see cref="ushort" /> to be converted.</param>
1746 public static Value FromUInt16(ushort x)
1654 { 1747 {
1655 var v = new Eina.Value(ValueType.UShort); 1748 var v = new Eina.Value(ValueType.UShort);
1656 if (!v.Set(x)) 1749 v.Set(x);
1657 {
1658 throw new InvalidOperationException("Couldn't set value.");
1659 }
1660 1750
1661 return v; 1751 return v;
1662 } 1752 }
@@ -1664,13 +1754,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1664 /// <summary>Implicit conversion. 1754 /// <summary>Implicit conversion.
1665 /// <para>Since EFL 1.23.</para> 1755 /// <para>Since EFL 1.23.</para>
1666 /// </summary> 1756 /// </summary>
1667 public static implicit operator ushort(Value v) 1757 public static implicit operator ushort(Value v) => ToUInt16(v);
1758
1759 /// <summary>
1760 /// Conversion to a <see cref="ushort" /> from a <see cref="Value" />
1761 /// <para>Since EFL 1.23.</para>
1762 /// </summary>
1763 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1764 public static ushort ToUInt16(Value v)
1668 { 1765 {
1669 ushort b; 1766 ushort b;
1670 if (!v.Get(out b)) 1767 v.Get(out b);
1671 {
1672 throw new InvalidOperationException("Couldn't get value.");
1673 }
1674 1768
1675 return b; 1769 return b;
1676 } 1770 }
@@ -1678,27 +1772,36 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1678 /// <summary>Implicit conversion. 1772 /// <summary>Implicit conversion.
1679 /// <para>Since EFL 1.23.</para> 1773 /// <para>Since EFL 1.23.</para>
1680 /// </summary> 1774 /// </summary>
1681 public static implicit operator Value(int x) 1775 public static implicit operator Value(int x) => FromInt32(x);
1776
1777 /// <summary>
1778 /// Conversion to a <see cref="Value" /> from a <see cref="int" />
1779 /// <para>Since EFL 1.23.</para>
1780 /// </summary>
1781 /// <param name="x">The <see cref="int" /> to be converted.</param>
1782 public static Value FromInt32(int x)
1682 { 1783 {
1683 var v = new Eina.Value(ValueType.Int32); 1784 var v = new Eina.Value(ValueType.Int32);
1684 if (!v.Set(x)) 1785 v.Set(x);
1685 {
1686 throw new InvalidOperationException("Couldn't set value.");
1687 }
1688 1786
1689 return v; 1787 return v;
1788
1690 } 1789 }
1691 1790
1692 /// <summary>Implicit conversion. 1791 /// <summary>Implicit conversion.
1693 /// <para>Since EFL 1.23.</para> 1792 /// <para>Since EFL 1.23.</para>
1694 /// </summary> 1793 /// </summary>
1695 public static implicit operator int(Value v) 1794 public static implicit operator int(Value v) => ToInt32(v);
1795
1796 /// <summary>
1797 /// Conversion to a <see cref="int" /> from a <see cref="Value" />
1798 /// <para>Since EFL 1.23.</para>
1799 /// </summary>
1800 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1801 public static int ToInt32(Value v)
1696 { 1802 {
1697 int b; 1803 int b;
1698 if (!v.Get(out b)) 1804 v.Get(out b);
1699 {
1700 throw new InvalidOperationException("Couldn't get value.");
1701 }
1702 1805
1703 return b; 1806 return b;
1704 } 1807 }
@@ -1706,13 +1809,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1706 /// <summary>Implicit conversion. 1809 /// <summary>Implicit conversion.
1707 /// <para>Since EFL 1.23.</para> 1810 /// <para>Since EFL 1.23.</para>
1708 /// </summary> 1811 /// </summary>
1709 public static implicit operator Value(uint x) 1812 public static implicit operator Value(uint x) => FromUInt32(x);
1813
1814 /// <summary>
1815 /// Conversion to a <see cref="Value" /> from a <see cref="uint" />
1816 /// <para>Since EFL 1.23.</para>
1817 /// </summary>
1818 /// <param name="x">The <see cref="uint" /> to be converted.</param>
1819 public static Value FromUInt32(uint x)
1710 { 1820 {
1711 var v = new Eina.Value(ValueType.UInt32); 1821 var v = new Eina.Value(ValueType.UInt32);
1712 if (!v.Set(x)) 1822 v.Set(x);
1713 {
1714 throw new InvalidOperationException("Couldn't set value.");
1715 }
1716 1823
1717 return v; 1824 return v;
1718 } 1825 }
@@ -1720,13 +1827,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1720 /// <summary>Implicit conversion. 1827 /// <summary>Implicit conversion.
1721 /// <para>Since EFL 1.23.</para> 1828 /// <para>Since EFL 1.23.</para>
1722 /// </summary> 1829 /// </summary>
1723 public static implicit operator uint(Value v) 1830 public static implicit operator uint(Value v) => ToUInt32(v);
1831
1832 /// <summary>
1833 /// Conversion to a <see cref="uint" /> from a <see cref="Value" />
1834 /// <para>Since EFL 1.23.</para>
1835 /// </summary>
1836 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1837 public static uint ToUInt32(Value v)
1724 { 1838 {
1725 uint b; 1839 uint b;
1726 if (!v.Get(out b)) 1840 v.Get(out b);
1727 {
1728 throw new InvalidOperationException("Couldn't get value.");
1729 }
1730 1841
1731 return b; 1842 return b;
1732 } 1843 }
@@ -1734,13 +1845,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1734 /// <summary>Implicit conversion. 1845 /// <summary>Implicit conversion.
1735 /// <para>Since EFL 1.23.</para> 1846 /// <para>Since EFL 1.23.</para>
1736 /// </summary> 1847 /// </summary>
1737 public static implicit operator Value(long x) 1848 public static implicit operator Value(long x) => FromInt64(x);
1849
1850 /// <summary>
1851 /// Conversion to a <see cref="Value" /> from a <see cref="long" />
1852 /// <para>Since EFL 1.23.</para>
1853 /// </summary>
1854 /// <param name="x">The <see cref="long" /> to be converted.</param>
1855 public static Value FromInt64(long x)
1738 { 1856 {
1739 var v = new Eina.Value(ValueType.Long); 1857 var v = new Eina.Value(ValueType.Long);
1740 if (!v.Set(x)) 1858 v.Set(x);
1741 {
1742 throw new InvalidOperationException("Couldn't set value.");
1743 }
1744 1859
1745 return v; 1860 return v;
1746 } 1861 }
@@ -1748,13 +1863,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1748 /// <summary>Implicit conversion. 1863 /// <summary>Implicit conversion.
1749 /// <para>Since EFL 1.23.</para> 1864 /// <para>Since EFL 1.23.</para>
1750 /// </summary> 1865 /// </summary>
1751 public static implicit operator long(Value v) 1866 public static implicit operator long(Value v) => ToInt64(v);
1867
1868 /// <summary>
1869 /// Conversion to a <see cref="long" /> from a <see cref="Value" />
1870 /// <para>Since EFL 1.23.</para>
1871 /// </summary>
1872 /// <param name="v">The <see cref="Value" /> to be converted.</param>
1873 public static long ToInt64(Value v)
1752 { 1874 {
1753 long b; 1875 long b;
1754 if (!v.Get(out b)) 1876 v.Get(out b);
1755 {
1756 throw new InvalidOperationException("Couldn't get value.");
1757 }
1758 1877
1759 return b; 1878 return b;
1760 } 1879 }
@@ -1762,13 +1881,17 @@ public class Value : IDisposable, IComparable<Value>, IEquatable<Value>
1762 /// <summary>Implicit conversion. 1881 /// <summary>Implicit conversion.
1763 /// <para>Since EFL 1.23.</para> 1882 /// <para>Since EFL 1.23.</para>
1764 /// </summary> 1883 /// </summary>
1765 public static implicit operator Value(ulong x) 1884 public static implicit operator Value(ulong x) => FromUInt64(x);
1885
1886 /// <summary>
1887 /// Conversion to a <see cref="Value" /> from a <see cref="ulong" />
1888 /// <para>Since EFL 1.23.</para>