Skip to content

Commit 67b74d9

Browse files
authored
OCI CLA and OpenDDS Variant Support (#14)
* Add ObjectComputing CLA * Add OpenDDS variant / test_main support * json file path tweak
1 parent 44dd9fb commit 67b74d9

4 files changed

Lines changed: 351 additions & 9 deletions

File tree

CLA/CLA_ObjectComputing.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# OMG DDS INTEROPERABILITY REPOSITORY - CONTRIBUTOR LICENSE AGREEMENT
2+
3+
**This Contributor License Agreement ("Agreement") specifies the terms under which the individual or corporate entity specified in the signature block below (“You”) agree to make intellectual property contributions to the OMG DDS Interoperability Repository. BY SIGNING BELOW YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT. If You are signing this Agreement in Your capacity as an employee, THEN YOUR EMPLOYER AND YOU ARE BOTH BOUND BY THIS AGREEMENT.**
4+
5+
1. Definitions
6+
7+
1. "OMG DDS Interoperability Repository" (or “Repository”) means the Git repository [https://github.com/omg-dds/dds-rtps](https://github.com/omg-dds/dds-rtps).
8+
9+
2. "Moderator" means an entity or individual responsible for authorizing changes to the Repository.
10+
11+
3. "Submit" (or “Submitted”) means any submission, including source code, binaries, code, pull requests, issue reports, comments, etc., made to the Moderators for inclusion in the Repository either through the Git repository interface or through electronic file transfer.
12+
13+
4. A "Contribution" is any original work of authorship, including any modifications or additions to an existing work, that You Submit to the DDS Interoperability Repository.
14+
15+
5. A "User" is anyone who accesses the Repository.
16+
17+
2. Allowable Contribution Representations
18+
19+
1. You represent that You have the necessary rights to the Contribution(s) to meet the obligations of this Agreement. If You are employed, Your employer has authorized Contribution(s) under this Agreement.
20+
21+
2. You represent that you have no knowledge of third-party intellectual property rights that are likely to be infringed by the Contribution(s). You represent that you have no knowledge that such infringement or any allegation of misappropriation of intellectual property rights is likely to be claimed or has already been claimed.
22+
23+
3. License
24+
25+
You grant Moderators a perpetual, worldwide, non-exclusive, assignable, paid-up license to publish, display, and redistribute the Contribution as part of the Repository. You also license to Moderators under the same terms any other intellectual property rights required to publish, display, and redistribute the Contributions as part of the Repository. You further grant all Users of the Repository a license to the Contribution under the terms of the [OMG DDS Interoperability Testing License](../LICENSE.md) included in the Repository. Moderators are under no obligation to publish Contributions.
26+
27+
4. No Warranty, Consequential Damages. Limited Liability
28+
29+
Other than explicitly stated herein, You provide the Contribution(s) "as is" with no warranty nor claims of fitness to any purpose. Neither party shall be liable for consequential or special damages of any kind. Other than for breach of warranty or representations herein, the liability of either party to the other shall be limited to $1000.
30+
31+
5. General
32+
33+
1. If You are an agency of the United States Government, then this Agreement will be governed by the United States federal common law. Otherwise, this Agreement will be governed by the laws of the State of California except with regard to its choice of law rules.
34+
35+
2. A party may assign this Agreement to an entity acquiring essentially all of the party’s relevant business.
36+
37+
6. Electronic Signatures
38+
39+
"Electronic Signature" means any electronic sound, symbol, or process attached to or logically associated with a record and executed and adopted by a party with the intent to sign such record.
40+
41+
Each party agrees that the Electronic Signatures, whether digital or encrypted, of the parties included in this Agreement are intended to authenticate this writing and to have the same force and effect as manual signatures.
42+
43+
44+
IN WITNESS WHEREOF, You, intending to be legally bound, have executed this Agreement or caused Your employer’s proper and duly authorized officer to execute and deliver this Agreement, for good and valuable consideration, the sufficiency of which is hereby acknowledged, as of the day and year first written below.
45+
46+
**For:**
47+
48+
Entity Name: Object Computing, Inc.
49+
50+
Address: 12140 Woodcrest Exec. Dr., Ste 250, St. Louis, MO 63141 USA
51+
52+
("**You**")
53+
54+
**By:**
55+
56+
Name: Timothy Simpson
57+
58+
Title: Principal Software Engineer
59+
60+
Date: May 29, 2026
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
cmake_minimum_required(VERSION 3.12)
2+
project(opendds_shape_main CXX)
3+
4+
find_package(OpenDDS REQUIRED)
5+
6+
add_executable(shape_main
7+
../test_main.cxx
8+
)
9+
10+
target_compile_definitions(shape_main
11+
PRIVATE OPENDDS
12+
)
13+
14+
target_link_libraries(shape_main OpenDDS::Rtps_Udp)

src/cxx/test_main.cxx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,11 +1033,14 @@ class TestApplication {
10331033
//-------------------------------------------------------------
10341034
TestApplication()
10351035
{
1036-
dpf = NULL;
1037-
dp = NULL;
1038-
1039-
pub = NULL;
1040-
sub = NULL;
1036+
dpf = NULL;
1037+
dp = NULL;
1038+
pub = NULL;
1039+
sub = NULL;
1040+
topic = NULL;
1041+
dr = NULL;
1042+
dw = NULL;
1043+
dt = NULL;
10411044
}
10421045

10431046
//-------------------------------------------------------------
@@ -1046,6 +1049,9 @@ class TestApplication {
10461049
if (dt) cleanup_type( dp, dt );
10471050
if (dp) dp->delete_contained_entities( );
10481051
if (dpf) dpf->delete_participant( dp );
1052+
#if defined(OPENDDS)
1053+
TheServiceParticipant->shutdown();
1054+
#endif
10491055
}
10501056

10511057
//-------------------------------------------------------------
@@ -1054,7 +1060,7 @@ class TestApplication {
10541060
#ifndef OBTAIN_DOMAIN_PARTICIPANT_FACTORY
10551061
#define OBTAIN_DOMAIN_PARTICIPANT_FACTORY DomainParticipantFactory::get_instance()
10561062
#endif
1057-
DomainParticipantFactory *dpf = OBTAIN_DOMAIN_PARTICIPANT_FACTORY;
1063+
dpf = OBTAIN_DOMAIN_PARTICIPANT_FACTORY;
10581064
if (dpf == NULL) {
10591065
logger.log_message("failed to create participant factory (missing license?).", Verbosity::ERROR);
10601066
return false;
@@ -1196,7 +1202,7 @@ class TestApplication {
11961202
dw_qos.rtps_writer.send_typeobj_v2 = 0;
11971203
}
11981204
#endif
1199-
1205+
12001206
printf("Create writer for topic: %s type: %s\n", options->topic_name, options->type_name );
12011207

12021208
dw = pub->create_datawriter( topic, dw_qos, NULL, 0);
@@ -1281,7 +1287,7 @@ class TestApplication {
12811287
logger.log_message(" * ignore_member_names = " + std::to_string(dr_qos.type_consistency.ignore_member_names), Verbosity::DEBUG );
12821288
logger.log_message(" * prevent_type_widening = " + std::to_string(dr_qos.type_consistency.prevent_type_widening), Verbosity::DEBUG );
12831289
logger.log_message(" * force_type_validation = " + std::to_string(dr_qos.type_consistency.force_type_validation), Verbosity::DEBUG );
1284-
1290+
12851291
#if defined(TWINOAKS_COREDX)
12861292
if ( options->disable_type_info )
12871293
{
@@ -1291,7 +1297,7 @@ class TestApplication {
12911297
#endif
12921298

12931299
printf("Create reader for topic: %s\n", options->topic_name );
1294-
1300+
12951301
dr = sub->create_datareader(topic, dr_qos, NULL, LISTENER_STATUS_MASK_NONE);
12961302

12971303

@@ -1384,6 +1390,8 @@ class TestApplication {
13841390
DynamicDataWriter *ddw = dynamic_cast<DynamicDataWriter *>(dw);
13851391
#if defined(RTI_CONNEXT_DDS)
13861392
ddw->write(*dd, HANDLE_NIL);
1393+
#elif defined(OPENDDS)
1394+
ddw->write(dd, HANDLE_NIL);
13871395
#elif defined(TWINOAKS_COREDX)
13881396
ddw->write(dd, HANDLE_NIL);
13891397
#endif

0 commit comments

Comments
 (0)