Initial contribution
This commit is contained in:
		
							parent
							
								
									7b5cc4fa59
								
							
						
					
					
						commit
						11d9ce37aa
					
				
					 580 changed files with 155133 additions and 162 deletions
				
			
		
							
								
								
									
										22
									
								
								src/examples/helloworld/CMakeLists.export
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								src/examples/helloworld/CMakeLists.export
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
cmake_minimum_required(VERSION 3.5)
 | 
			
		||||
 | 
			
		||||
if (NOT TARGET CycloneDDS::ddsc)
 | 
			
		||||
    # Find the CycloneDDS package. If it is not in a default location, try
 | 
			
		||||
    # finding it relative to the example where it most likely resides.
 | 
			
		||||
    find_package(CycloneDDS REQUIRED PATHS "${CMAKE_SOURCE_DIR}/../../")
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# This is a convenience function, provided by the CycloneDDS package,
 | 
			
		||||
# that will supply a library target related the the given idl file.
 | 
			
		||||
# In short, it takes the idl file, generates the source files with
 | 
			
		||||
# the proper data types and compiles them into a library.
 | 
			
		||||
idlc_generate(HelloWorldData_lib "HelloWorldData.idl")
 | 
			
		||||
 | 
			
		||||
# Both executables have only one related source file.
 | 
			
		||||
add_executable(HelloworldPublisher publisher.c)
 | 
			
		||||
add_executable(HelloworldSubscriber subscriber.c)
 | 
			
		||||
 | 
			
		||||
# Both executables need to be linked to the idl data type library and
 | 
			
		||||
# the ddsc API library.
 | 
			
		||||
target_link_libraries(HelloworldPublisher HelloWorldData_lib CycloneDDS::ddsc)
 | 
			
		||||
target_link_libraries(HelloworldSubscriber HelloWorldData_lib CycloneDDS::ddsc)
 | 
			
		||||
							
								
								
									
										58
									
								
								src/examples/helloworld/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								src/examples/helloworld/CMakeLists.txt
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,58 @@
 | 
			
		|||
#
 | 
			
		||||
# Copyright(c) 2006 to 2018 ADLINK Technology Limited and others
 | 
			
		||||
#
 | 
			
		||||
# This program and the accompanying materials are made available under the
 | 
			
		||||
# terms of the Eclipse Public License v. 2.0 which is available at
 | 
			
		||||
# http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
 | 
			
		||||
# v. 1.0 which is available at
 | 
			
		||||
# http://www.eclipse.org/org/documents/edl-v10.php.
 | 
			
		||||
#
 | 
			
		||||
# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 | 
			
		||||
#
 | 
			
		||||
cmake_minimum_required(VERSION 3.5)
 | 
			
		||||
 | 
			
		||||
if (NOT TARGET CycloneDDS::ddsc)
 | 
			
		||||
    # Find the CycloneDDS package. If it is not in a default location, try
 | 
			
		||||
    # finding it relative to the example where it most likely resides.
 | 
			
		||||
    find_package(CycloneDDS REQUIRED PATHS ../../)
 | 
			
		||||
endif()
 | 
			
		||||
 | 
			
		||||
# This is a convenience function, provided by the CycloneDDS package,
 | 
			
		||||
# that will supply a library target related the the given idl file.
 | 
			
		||||
# In short, it takes the idl file, generates the source files with
 | 
			
		||||
# the proper data types and compiles them into a library.
 | 
			
		||||
idlc_generate(HelloWorldData_lib "HelloWorldData.idl")
 | 
			
		||||
 | 
			
		||||
# Both executables have only one related source file.
 | 
			
		||||
add_executable(HelloworldPublisher publisher.c)
 | 
			
		||||
add_executable(HelloworldSubscriber subscriber.c)
 | 
			
		||||
 | 
			
		||||
# Both executables need to be linked to the idl data type library and
 | 
			
		||||
# the ddsc API library.
 | 
			
		||||
target_link_libraries(HelloworldPublisher HelloWorldData_lib CycloneDDS::ddsc)
 | 
			
		||||
target_link_libraries(HelloworldSubscriber HelloWorldData_lib CycloneDDS::ddsc)
 | 
			
		||||
 | 
			
		||||
#
 | 
			
		||||
# The helloworld example is the only example to have a different CMakeLists.txt
 | 
			
		||||
# for building in source and install environments. This is because it has to
 | 
			
		||||
# do some specific installations to support the Getting Started Guide.
 | 
			
		||||
# The CMakelists.export will be used for the install environments.
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
install(
 | 
			
		||||
  TARGETS HelloworldSubscriber HelloworldPublisher
 | 
			
		||||
  DESTINATION "${CMAKE_INSTALL_EXAMPLESDIR}/helloworld/bin"
 | 
			
		||||
  COMPONENT dev)
 | 
			
		||||
 | 
			
		||||
install(
 | 
			
		||||
  FILES "CMakeLists.export"
 | 
			
		||||
  DESTINATION "${CMAKE_INSTALL_EXAMPLESDIR}/helloworld"
 | 
			
		||||
  COMPONENT dev
 | 
			
		||||
  RENAME "CMakeLists.txt")
 | 
			
		||||
 | 
			
		||||
get_target_property(GENERATED_FILES HelloWorldData_lib INTERFACE_SOURCES)
 | 
			
		||||
install(
 | 
			
		||||
  FILES ${GENERATED_FILES}
 | 
			
		||||
  DESTINATION "${CMAKE_INSTALL_EXAMPLESDIR}/helloworld/generated"
 | 
			
		||||
  COMPONENT dev)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										54
									
								
								src/examples/helloworld/HelloWorld.sln
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/examples/helloworld/HelloWorld.sln
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
 | 
			
		||||
Microsoft Visual Studio Solution File, Format Version 12.00
 | 
			
		||||
# Visual Studio 14
 | 
			
		||||
VisualStudioVersion = 14.0.25123.0
 | 
			
		||||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloWorldSubscriber", "vs\HelloWorldSubscriber.vcxproj", "{D8B2F285-EB03-4657-A0DC-603172553BEA}"
 | 
			
		||||
	ProjectSection(ProjectDependencies) = postProject
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D} = {28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}
 | 
			
		||||
	EndProjectSection
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloWorldPublisher", "vs\HelloWorldPublisher.vcxproj", "{D8B2F285-EB03-4657-ACDC-603172553BEA}"
 | 
			
		||||
	ProjectSection(ProjectDependencies) = postProject
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D} = {28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}
 | 
			
		||||
	EndProjectSection
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HelloWorldType", "vs\HelloWorldType.vcxproj", "{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}"
 | 
			
		||||
EndProject
 | 
			
		||||
Global
 | 
			
		||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
			
		||||
		Debug|x64 = Debug|x64
 | 
			
		||||
		Debug|x86 = Debug|x86
 | 
			
		||||
		Release|x64 = Release|x64
 | 
			
		||||
		Release|x86 = Release|x86
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Debug|x86.ActiveCfg = Debug|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Debug|x86.Build.0 = Debug|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Release|x86.ActiveCfg = Release|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-A0DC-603172553BEA}.Release|x86.Build.0 = Release|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Debug|x86.ActiveCfg = Debug|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Debug|x86.Build.0 = Debug|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Release|x86.ActiveCfg = Release|Win32
 | 
			
		||||
		{D8B2F285-EB03-4657-ACDC-603172553BEA}.Release|x86.Build.0 = Release|Win32
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Debug|x64.ActiveCfg = Debug|x64
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Debug|x64.Build.0 = Debug|x64
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Debug|x86.ActiveCfg = Debug|Win32
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Debug|x86.Build.0 = Debug|Win32
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Release|x64.ActiveCfg = Release|x64
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Release|x64.Build.0 = Release|x64
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Release|x86.ActiveCfg = Release|Win32
 | 
			
		||||
		{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}.Release|x86.Build.0 = Release|Win32
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
EndGlobal
 | 
			
		||||
							
								
								
									
										9
									
								
								src/examples/helloworld/HelloWorldData.idl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/examples/helloworld/HelloWorldData.idl
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
module HelloWorldData
 | 
			
		||||
{
 | 
			
		||||
  struct Msg
 | 
			
		||||
  {
 | 
			
		||||
    long userID;
 | 
			
		||||
    string message;
 | 
			
		||||
  };
 | 
			
		||||
  #pragma keylist Msg userID
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										54
									
								
								src/examples/helloworld/Makefile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/examples/helloworld/Makefile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
publisher_NAME := HelloworldPublisher
 | 
			
		||||
publisher_SRCS := publisher.c generated/HelloWorldData.c
 | 
			
		||||
publisher_OBJS := ${publisher_SRCS:.c=.o}
 | 
			
		||||
 | 
			
		||||
subscriber_NAME := HelloworldSubscriber
 | 
			
		||||
subscriber_SRCS := subscriber.c generated/HelloWorldData.c
 | 
			
		||||
subscriber_OBJS := ${subscriber_SRCS:.c=.o}
 | 
			
		||||
 | 
			
		||||
# Make sure that the location where dds.h is installed is known to the
 | 
			
		||||
# compiler. If dds.h is not installed in a system default spot, then
 | 
			
		||||
# it can be introduced by adding it to the CFLAGS, like:
 | 
			
		||||
#CFLAGS += -I../../../../include
 | 
			
		||||
 | 
			
		||||
# Make sure that the location where libddsc.so is installed is known
 | 
			
		||||
# to the compiler. If the lib is not installed in a system default
 | 
			
		||||
# location, then it can be introduced by adding it to the LDFLAGS:
 | 
			
		||||
#LDFLAGS += -L../../../../lib
 | 
			
		||||
 | 
			
		||||
CFLAGS += -Igenerated
 | 
			
		||||
LDFLAGS += -lddsc
 | 
			
		||||
 | 
			
		||||
.PHONY: all clean distclean
 | 
			
		||||
 | 
			
		||||
all: $(publisher_NAME) $(subscriber_NAME)
 | 
			
		||||
 | 
			
		||||
$(publisher_NAME): $(publisher_OBJS)
 | 
			
		||||
	gcc $(CFLAGS)  $(publisher_OBJS) $(LDFLAGS) -o $(publisher_NAME)
 | 
			
		||||
 | 
			
		||||
$(subscriber_NAME): $(subscriber_OBJS)
 | 
			
		||||
	gcc $(CFLAGS) $(subscriber_OBJS) $(LDFLAGS) -o $(subscriber_NAME)
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	@- $(RM) $(publisher_NAME)
 | 
			
		||||
	@- $(RM) $(publisher_OBJS)
 | 
			
		||||
	@- $(RM) $(subscriber_NAME)
 | 
			
		||||
	@- $(RM) $(subscriber_OBJS)
 | 
			
		||||
 | 
			
		||||
distclean: clean
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# Make sure that the idlc jar file is available and java can find its
 | 
			
		||||
# location. In this example, it is assumed that the jar is located at
 | 
			
		||||
# a specific relative directory. Change the classpath variable if
 | 
			
		||||
# this is not the case on your system.
 | 
			
		||||
classpath:= ../../idlc/idlc-jar-with-dependencies.jar
 | 
			
		||||
ifneq ($(CLASSPATH),)
 | 
			
		||||
        classpath:= $(CLASSPATH):$(classpath)
 | 
			
		||||
endif
 | 
			
		||||
export CLASSPATH:=$(classpath)
 | 
			
		||||
 | 
			
		||||
datatype:
 | 
			
		||||
	java org.eclipse.cyclonedds.compilers.Idlc HelloWorldData.idl
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								src/examples/helloworld/publisher.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/examples/helloworld/publisher.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,59 @@
 | 
			
		|||
#include "ddsc/dds.h"
 | 
			
		||||
#include "HelloWorldData.h"
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
int main (int argc, char ** argv)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t participant;
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    dds_entity_t writer;
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    HelloWorldData_Msg msg;
 | 
			
		||||
 | 
			
		||||
    /* Create a Participant. */
 | 
			
		||||
    participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
    DDS_ERR_CHECK (participant, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    /* Create a Topic. */
 | 
			
		||||
    topic = dds_create_topic (participant, &HelloWorldData_Msg_desc,
 | 
			
		||||
                              "HelloWorldData_Msg", NULL, NULL);
 | 
			
		||||
    DDS_ERR_CHECK (topic, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    /* Create a Writer. */
 | 
			
		||||
    writer = dds_create_writer (participant, topic, NULL, NULL);
 | 
			
		||||
 | 
			
		||||
    printf("=== [Publisher]  Waiting for a reader to be discovered ...\n");
 | 
			
		||||
 | 
			
		||||
    ret = dds_set_enabled_status(writer, DDS_PUBLICATION_MATCHED_STATUS);
 | 
			
		||||
    DDS_ERR_CHECK (ret, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    while(true)
 | 
			
		||||
    {
 | 
			
		||||
      uint32_t status;
 | 
			
		||||
      ret = dds_get_status_changes (writer, &status);
 | 
			
		||||
      DDS_ERR_CHECK (ret, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
      if (status == DDS_PUBLICATION_MATCHED_STATUS) {
 | 
			
		||||
        break;
 | 
			
		||||
      }
 | 
			
		||||
      /* Polling sleep. */
 | 
			
		||||
      dds_sleepfor (DDS_MSECS (20));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Create a message to write. */
 | 
			
		||||
    msg.userID = 1;
 | 
			
		||||
    msg.message = "Hello World";
 | 
			
		||||
 | 
			
		||||
    printf ("=== [Publisher]  Writing : ");
 | 
			
		||||
    printf ("Message (%d, %s)\n", msg.userID, msg.message);
 | 
			
		||||
 | 
			
		||||
    ret = dds_write (writer, &msg);
 | 
			
		||||
    DDS_ERR_CHECK (ret, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    /* Deleting the participant will delete all its children recursively as well. */
 | 
			
		||||
    ret = dds_delete (participant);
 | 
			
		||||
    DDS_ERR_CHECK (ret, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    return EXIT_SUCCESS;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										46
									
								
								src/examples/helloworld/readme.rst
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/examples/helloworld/readme.rst
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
..
 | 
			
		||||
   Copyright(c) 2006 to 2018 ADLINK Technology Limited and others
 | 
			
		||||
 | 
			
		||||
   This program and the accompanying materials are made available under the
 | 
			
		||||
   terms of the Eclipse Public License v. 2.0 which is available at
 | 
			
		||||
   http://www.eclipse.org/legal/epl-2.0, or the Eclipse Distribution License
 | 
			
		||||
   v. 1.0 which is available at
 | 
			
		||||
   http://www.eclipse.org/org/documents/edl-v10.php.
 | 
			
		||||
 | 
			
		||||
   SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
 | 
			
		||||
 | 
			
		||||
HelloWorld
 | 
			
		||||
==========
 | 
			
		||||
 | 
			
		||||
Description
 | 
			
		||||
***********
 | 
			
		||||
 | 
			
		||||
The basic HelloWorld example is used to illustrate the necessary steps to setup DCPS entities.
 | 
			
		||||
Note it is also used in the Getting Started Guide to explain the usage of CycloneDDS.
 | 
			
		||||
 | 
			
		||||
Design
 | 
			
		||||
******
 | 
			
		||||
 | 
			
		||||
It consists of 2 units:
 | 
			
		||||
 | 
			
		||||
- HelloworldPublisher: implements the publisher's main
 | 
			
		||||
- HelloworldSubscriber: implements the subscriber's main
 | 
			
		||||
 | 
			
		||||
Scenario
 | 
			
		||||
********
 | 
			
		||||
 | 
			
		||||
The publisher sends a single HelloWorld sample. The sample contains two fields:
 | 
			
		||||
 | 
			
		||||
- a userID field (long type)
 | 
			
		||||
- a message field (string type)
 | 
			
		||||
 | 
			
		||||
When it receives the sample, the subscriber displays the userID and the message field.
 | 
			
		||||
 | 
			
		||||
Running the example
 | 
			
		||||
*******************
 | 
			
		||||
 | 
			
		||||
It is recommended that you run the subscriber and publisher in separate terminals to avoid mixing the output.
 | 
			
		||||
 | 
			
		||||
- Open 2 terminals.
 | 
			
		||||
- In the first terminal start the subscriber by running HelloWorldSubscriber
 | 
			
		||||
- In the second terminal start the publisher by running HelloWorldPublisher
 | 
			
		||||
							
								
								
									
										75
									
								
								src/examples/helloworld/subscriber.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								src/examples/helloworld/subscriber.c
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,75 @@
 | 
			
		|||
#include "ddsc/dds.h"
 | 
			
		||||
#include "HelloWorldData.h"
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
/* An array of one message (aka sample in dds terms) will be used. */
 | 
			
		||||
#define MAX_SAMPLES 1
 | 
			
		||||
 | 
			
		||||
int main (int argc, char ** argv)
 | 
			
		||||
{
 | 
			
		||||
    dds_entity_t participant;
 | 
			
		||||
    dds_entity_t topic;
 | 
			
		||||
    dds_entity_t reader;
 | 
			
		||||
    HelloWorldData_Msg *msg;
 | 
			
		||||
    void *samples[MAX_SAMPLES];
 | 
			
		||||
    dds_sample_info_t infos[MAX_SAMPLES];
 | 
			
		||||
    dds_return_t ret;
 | 
			
		||||
    dds_qos_t *qos;
 | 
			
		||||
 | 
			
		||||
    /* Create a Participant. */
 | 
			
		||||
    participant = dds_create_participant (DDS_DOMAIN_DEFAULT, NULL, NULL);
 | 
			
		||||
    DDS_ERR_CHECK (participant, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    /* Create a Topic. */
 | 
			
		||||
    topic = dds_create_topic (participant, &HelloWorldData_Msg_desc,
 | 
			
		||||
                              "HelloWorldData_Msg", NULL, NULL);
 | 
			
		||||
    DDS_ERR_CHECK (topic, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    /* Create a reliable Reader. */
 | 
			
		||||
    qos = dds_qos_create ();
 | 
			
		||||
    dds_qset_reliability (qos, DDS_RELIABILITY_RELIABLE, DDS_SECS (10));
 | 
			
		||||
    reader = dds_create_reader (participant, topic, qos, NULL);
 | 
			
		||||
    DDS_ERR_CHECK (reader, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
    dds_qos_delete(qos);
 | 
			
		||||
 | 
			
		||||
    printf ("\n=== [Subscriber] Waiting for a sample ...\n");
 | 
			
		||||
 | 
			
		||||
    /* Initialize sample buffer, by pointing the void pointer within
 | 
			
		||||
     * the buffer array to a valid sample memory location. */
 | 
			
		||||
    samples[0] = HelloWorldData_Msg__alloc ();
 | 
			
		||||
 | 
			
		||||
    /* Poll until data has been read. */
 | 
			
		||||
    while (true)
 | 
			
		||||
    {
 | 
			
		||||
        /* Do the actual read.
 | 
			
		||||
         * The return value contains the number of read samples. */
 | 
			
		||||
        ret = dds_read (reader, samples, infos, MAX_SAMPLES, MAX_SAMPLES);
 | 
			
		||||
        DDS_ERR_CHECK (ret, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
        /* Check if we read some data and it is valid. */
 | 
			
		||||
        if ((ret > 0) && (infos[0].valid_data))
 | 
			
		||||
        {
 | 
			
		||||
            /* Print Message. */
 | 
			
		||||
            msg = (HelloWorldData_Msg*) samples[0];
 | 
			
		||||
            printf ("=== [Subscriber] Received : ");
 | 
			
		||||
            printf ("Message (%d, %s)\n", msg->userID, msg->message);
 | 
			
		||||
            break;
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
            /* Polling sleep. */
 | 
			
		||||
            dds_sleepfor (DDS_MSECS (20));
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /* Free the data location. */
 | 
			
		||||
    HelloWorldData_Msg_free (samples[0], DDS_FREE_ALL);
 | 
			
		||||
 | 
			
		||||
    /* Deleting the participant will delete all its children recursively as well. */
 | 
			
		||||
    ret = dds_delete (participant);
 | 
			
		||||
    DDS_ERR_CHECK (ret, DDS_CHECK_REPORT | DDS_CHECK_EXIT);
 | 
			
		||||
 | 
			
		||||
    return EXIT_SUCCESS;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										142
									
								
								src/examples/helloworld/vs/HelloWorldPublisher.vcxproj
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								src/examples/helloworld/vs/HelloWorldPublisher.vcxproj
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,142 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <ItemGroup Label="ProjectConfigurations">
 | 
			
		||||
    <ProjectConfiguration Include="Release|x64">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Release|Win32">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Debug|x64">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Debug|Win32">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <PropertyGroup Label="Globals">
 | 
			
		||||
    <ProjectGuid>{D8B2F285-EB03-4657-ACDC-603172553BEA}</ProjectGuid>
 | 
			
		||||
    <Keyword>Win32Proj</Keyword>
 | 
			
		||||
    <ProjectName>HelloWorldPublisher</ProjectName>
 | 
			
		||||
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>false</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>false</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
			
		||||
  <ImportGroup Label="ExtensionSettings">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="Shared">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <PropertyGroup Label="UserMacros" />
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <IntDir>$(Platform)\$(Configuration)\Publisher\</IntDir>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Platform)'=='Win32'">
 | 
			
		||||
    <LinkIncremental>true</LinkIncremental>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <AdditionalIncludeDirectories>$(CycloneDDS_inc_dir);..\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <TargetMachine>MachineX86</TargetMachine>
 | 
			
		||||
      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
			
		||||
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
			
		||||
      <OptimizeReferences>true</OptimizeReferences>
 | 
			
		||||
      <SubSystem>Console</SubSystem>
 | 
			
		||||
      <AdditionalLibraryDirectories>$(CycloneDDS_lib_dir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <AdditionalDependencies>ddsc.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <AdditionalIncludeDirectories>$(CycloneDDS_inc_dir);..\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>ddsc.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
      <AdditionalLibraryDirectories>$(CycloneDDS_lib_dir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <SubSystem>Console</SubSystem>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <AdditionalIncludeDirectories>$(CycloneDDS_inc_dir);..\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>ddsc.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
      <AdditionalLibraryDirectories>$(CycloneDDS_lib_dir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <SubSystem>Console</SubSystem>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClCompile Include="..\generated\HelloWorldData.c" />
 | 
			
		||||
    <ClCompile Include="..\publisher.c" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClInclude Include="..\generated\HelloWorldData.h" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
			
		||||
  <ImportGroup Label="ExtensionTargets">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Filter Include="Source Files">
 | 
			
		||||
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
    <Filter Include="Header Files">
 | 
			
		||||
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
    <Filter Include="Resource Files">
 | 
			
		||||
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										142
									
								
								src/examples/helloworld/vs/HelloWorldSubscriber.vcxproj
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								src/examples/helloworld/vs/HelloWorldSubscriber.vcxproj
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,142 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <ItemGroup Label="ProjectConfigurations">
 | 
			
		||||
    <ProjectConfiguration Include="Release|x64">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Release|Win32">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Debug|x64">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Debug|Win32">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <PropertyGroup Label="Globals">
 | 
			
		||||
    <ProjectGuid>{D8B2F285-EB03-4657-A0DC-603172553BEA}</ProjectGuid>
 | 
			
		||||
    <Keyword>Win32Proj</Keyword>
 | 
			
		||||
    <ProjectName>HelloWorldSubscriber</ProjectName>
 | 
			
		||||
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>false</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>false</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
			
		||||
  <ImportGroup Label="ExtensionSettings">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="Shared">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <PropertyGroup Label="UserMacros" />
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <IntDir>$(Platform)\$(Configuration)\Subscriber\</IntDir>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Platform)'=='Win32'">
 | 
			
		||||
    <LinkIncremental>true</LinkIncremental>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <AdditionalIncludeDirectories>$(CycloneDDS_inc_dir);..\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <TargetMachine>MachineX86</TargetMachine>
 | 
			
		||||
      <GenerateDebugInformation>true</GenerateDebugInformation>
 | 
			
		||||
      <EnableCOMDATFolding>true</EnableCOMDATFolding>
 | 
			
		||||
      <OptimizeReferences>true</OptimizeReferences>
 | 
			
		||||
      <SubSystem>Console</SubSystem>
 | 
			
		||||
      <AdditionalLibraryDirectories>$(CycloneDDS_lib_dir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <AdditionalDependencies>ddsc.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <AdditionalIncludeDirectories>$(CycloneDDS_inc_dir);..\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>ddsc.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
      <AdditionalLibraryDirectories>$(CycloneDDS_lib_dir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <SubSystem>Console</SubSystem>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <ClCompile>
 | 
			
		||||
      <AdditionalIncludeDirectories>$(CycloneDDS_inc_dir);..\generated;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ClCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>ddsc.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
      <AdditionalLibraryDirectories>$(CycloneDDS_lib_dir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
 | 
			
		||||
      <SubSystem>Console</SubSystem>
 | 
			
		||||
    </Link>
 | 
			
		||||
  </ItemDefinitionGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClCompile Include="..\generated\HelloWorldData.c" />
 | 
			
		||||
    <ClCompile Include="..\subscriber.c" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ClInclude Include="..\generated\HelloWorldData.h" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
			
		||||
  <ImportGroup Label="ExtensionTargets">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Filter Include="Source Files">
 | 
			
		||||
      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
    <Filter Include="Header Files">
 | 
			
		||||
      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
    <Filter Include="Resource Files">
 | 
			
		||||
      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
 | 
			
		||||
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav</Extensions>
 | 
			
		||||
    </Filter>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										86
									
								
								src/examples/helloworld/vs/HelloWorldType.vcxproj
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								src/examples/helloworld/vs/HelloWorldType.vcxproj
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,86 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <ItemGroup Label="ProjectConfigurations">
 | 
			
		||||
    <ProjectConfiguration Include="Debug|Win32">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Release|Win32">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>Win32</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Debug|x64">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
    <ProjectConfiguration Include="Release|x64">
 | 
			
		||||
      <Configuration>Release</Configuration>
 | 
			
		||||
      <Platform>x64</Platform>
 | 
			
		||||
    </ProjectConfiguration>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <PropertyGroup Label="Globals">
 | 
			
		||||
    <ProjectGuid>{28A7A97B-3CEF-4FD7-8DC5-A7586D6DAE1D}</ProjectGuid>
 | 
			
		||||
    <RootNamespace>HelloWorldType</RootNamespace>
 | 
			
		||||
    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>false</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>true</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseDebugLibraries>false</UseDebugLibraries>
 | 
			
		||||
    <PlatformToolset>v140</PlatformToolset>
 | 
			
		||||
    <WholeProgramOptimization>true</WholeProgramOptimization>
 | 
			
		||||
    <CharacterSet>MultiByte</CharacterSet>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
			
		||||
  <ImportGroup Label="ExtensionSettings">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="Shared">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
 | 
			
		||||
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
 | 
			
		||||
    <Import Project="directories.props" />
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
  <PropertyGroup Label="UserMacros" />
 | 
			
		||||
  <PropertyGroup />
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <CustomBuild Include="..\HelloWorldData.idl">
 | 
			
		||||
      <Command>java -classpath "$(CycloneDDS_idlc_dir)\idlc-jar-with-dependencies.jar" org.eclipse.cyclonedds.compilers.Idlc -d "$(SolutionDir)generated" "%(FullPath)"</Command>
 | 
			
		||||
      <Message>Generating source files from IDL into "$(SolutionDir)generated"</Message>
 | 
			
		||||
      <Outputs>HelloWorldData.h;HelloWorldData.c</Outputs>
 | 
			
		||||
    </CustomBuild>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
			
		||||
  <ImportGroup Label="ExtensionTargets">
 | 
			
		||||
  </ImportGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
							
								
								
									
										30
									
								
								src/examples/helloworld/vs/directories.props
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								src/examples/helloworld/vs/directories.props
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,30 @@
 | 
			
		|||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <ImportGroup Label="PropertySheets" />
 | 
			
		||||
  <PropertyGroup Label="UserMacros">
 | 
			
		||||
    <CycloneDDS_lib_dir>C:/Program Files/ADLINK/Cyclone DDS/lib</CycloneDDS_lib_dir>
 | 
			
		||||
    <CycloneDDS_inc_dir>C:/Program Files/ADLINK/Cyclone DDS/include</CycloneDDS_inc_dir>
 | 
			
		||||
    <CycloneDDS_idlc_dir>C:/Program Files/ADLINK/Cyclone DDS/share/CycloneDDS/idlc</CycloneDDS_idlc_dir>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup />
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <BuildMacro Include="CycloneDDS_lib_dir">
 | 
			
		||||
      <Value>$(CycloneDDS_lib_dir)</Value>
 | 
			
		||||
    </BuildMacro>
 | 
			
		||||
    <BuildMacro Include="CycloneDDS_inc_dir">
 | 
			
		||||
      <Value>$(CycloneDDS_inc_dir)</Value>
 | 
			
		||||
    </BuildMacro>
 | 
			
		||||
    <BuildMacro Include="CycloneDDS_idlc_dir">
 | 
			
		||||
      <Value>$(CycloneDDS_idlc_dir)</Value>
 | 
			
		||||
    </BuildMacro>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <PropertyGroup Label="Configuration">
 | 
			
		||||
    <!-->
 | 
			
		||||
          User macros are not expanded when starting the build applications in VS.
 | 
			
		||||
          The path is extended with a possible Cyclone DLL location when they are not
 | 
			
		||||
          installed in a system default location.
 | 
			
		||||
    <-->
 | 
			
		||||
    <LocalDebuggerEnvironment>PATH=../../../../../bin;%PATH%
 | 
			
		||||
$(LocalDebuggerEnvironment)</LocalDebuggerEnvironment>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue