Rearrange and fixup abstraction layer
- Replace os_result by dds_retcode_t and move DDS return code defines down. Eliminates the need to convert between different return code types. - Move dds_time_t down and remove os_time. Eliminates the need to convert between different time representations and reduces code duplication. - Remove use of Microsoft source-code annotation language (SAL). SAL annotations are Microsoft specific and not very well documented. This makes it very difficult for contributers to write. - Rearrange the abstraction layer to be feature-based. The previous layout falsely assumed that the operating system dictates which implementation is best suited. For general purpose operating systems this is mostly true, but embedded targets require a slightly different approach and may not even offer all features. The new layout makes it possible to mix-and-match feature implementations and allows for features to not be implemented at all. - Replace the os prefix by ddsrt to avoid name collisions. - Remove various portions of unused and unwanted code. - Export thread names on all supported platforms. - Return native thread identifier on POSIX compatible platforms. - Add timed wait for condition variables that takes an absolute time. - Remove system abstraction for errno. The os_getErrno and os_setErrno were incorrect. Functions that might fail now simply return a DDS return code instead. - Remove thread-specific memory abstraction. os_threadMemGet and accompanying functions were a mess and their use has been eliminated by other changes in this commit. - Replace attribute (re)defines by ddsrt_ prefixed equivalents to avoid name collisions and problems with faulty __nonnull__ attributes. Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
This commit is contained in:
		
							parent
							
								
									318968f40f
								
							
						
					
					
						commit
						cd6742ee12
					
				
					 439 changed files with 22117 additions and 28782 deletions
				
			
		| 
						 | 
				
			
			@ -108,7 +108,7 @@ elseif(BUILD_DOCS)
 | 
			
		|||
        # Process doxygen configuration file, for ddsc
 | 
			
		||||
        set(doxy_conf_project "${CMAKE_PROJECT_NAME_FULL} C API Documentation")
 | 
			
		||||
        set(doxy_conf_outputdir "ddsc_api")
 | 
			
		||||
        set(doxy_conf_input "${PROJECT_SOURCE_DIR}/core/ddsc/include/ddsc/dds.h ${PROJECT_SOURCE_DIR}/core/ddsc/include/ddsc")
 | 
			
		||||
        set(doxy_conf_input "${PROJECT_SOURCE_DIR}/core/ddsc/include/dds/dds.h ${PROJECT_SOURCE_DIR}/core/ddsc/include/dds")
 | 
			
		||||
        configure_file(Doxyfile.in Doxyfile @ONLY)
 | 
			
		||||
 | 
			
		||||
        add_custom_target(ddsc_docs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -212,7 +212,7 @@ to receive data. For that, we need to include the
 | 
			
		|||
appropriate header files.
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
    #include "ddsc/dds.h"
 | 
			
		||||
    #include "dds/dds.h"
 | 
			
		||||
    #include "HelloWorldData.h"
 | 
			
		||||
 | 
			
		||||
The main starts with defining a few variables that will be used for
 | 
			
		||||
| 
						 | 
				
			
			@ -341,7 +341,7 @@ to sent data. For that, we need to include the
 | 
			
		|||
appropriate header files.
 | 
			
		||||
::
 | 
			
		||||
 | 
			
		||||
    #include "ddsc/dds.h"
 | 
			
		||||
    #include "dds/dds.h"
 | 
			
		||||
    #include "HelloWorldData.h"
 | 
			
		||||
 | 
			
		||||
Just like with the
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue