It makes no sense to force users of these header files to specify it
every
time.
Signed-off-by: Zane Bitter<zbitter(a)redhat.com>
Indeed, ack.
How'd you chose the define to check for? In some other code I work on,
we have this everywhere:
#if defined(__cplusplus) || defined(c_plusplus)
but I don't know where it originated. It just gets copied from
elsewhere in the same code base now.
---
src/host/host-qmf.cpp | 2 --
src/include/matahari/dnssrv.h | 8 ++++++++
src/include/matahari/errors.h | 8 ++++++++
src/include/matahari/host.h | 8 ++++++++
src/include/matahari/logging.h | 9 +++++++++
src/include/matahari/mainloop.h | 8 ++++++++
src/include/matahari/network.h | 8 ++++++++
src/include/matahari/services.h | 8 ++++++++
src/include/matahari/sysconfig.h | 8 ++++++++
src/include/matahari/utilities.h | 9 +++++++++
src/lib/mh_agent.cpp | 5 +++--
src/network/network-qmf.cpp | 2 --
src/service/service-qmf-console.cpp | 2 --
src/service/service-qmf.cpp | 4 ----
src/sysconfig/sysconfig-console.cpp | 2 --
src/sysconfig/sysconfig-qmf.cpp | 2 --
16 files changed, 77 insertions(+), 16 deletions(-)
diff --git a/src/host/host-qmf.cpp b/src/host/host-qmf.cpp
index 4b72d00..ea2c738 100644
--- a/src/host/host-qmf.cpp
+++ b/src/host/host-qmf.cpp
@@ -29,13 +29,11 @@
#include<qmf/Data.h>
#include "qmf/org/matahariproject/QmfPackage.h"
-extern "C" {
#include<string.h>
#include<sigar.h>
#include "matahari/host.h"
#include "matahari/logging.h"
#include "matahari/errors.h"
-}
class HostAgent : public MatahariAgent
{
diff --git a/src/include/matahari/dnssrv.h b/src/include/matahari/dnssrv.h
index 0a39519..da2d2a1 100644
--- a/src/include/matahari/dnssrv.h
+++ b/src/include/matahari/dnssrv.h
@@ -26,6 +26,10 @@
#ifndef __MH_DNSSRV_H__
#define __MH_DNSSRV_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include<sys/types.h>
#include<inttypes.h>
#include<glib.h>
@@ -109,4 +113,8 @@ mh_dnssrv_record_get_weight(const struct mh_dnssrv_record *record);
void
mh_dnssrv_record_free(gpointer data);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __MH_DNSSRV_H__ */
diff --git a/src/include/matahari/errors.h b/src/include/matahari/errors.h
index 47aa5db..95fad88 100644
--- a/src/include/matahari/errors.h
+++ b/src/include/matahari/errors.h
@@ -26,6 +26,10 @@
#ifndef __MH_ERRORS_H__
#define __MH_ERRORS_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* Global enumeration with result codes.
*/
@@ -49,4 +53,8 @@ enum mh_result {
const char *
mh_result_to_str(enum mh_result res);
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/include/matahari/host.h b/src/include/matahari/host.h
index 31a5a98..f873da3 100644
--- a/src/include/matahari/host.h
+++ b/src/include/matahari/host.h
@@ -25,6 +25,10 @@
#ifndef __MH_HOST_H__
#define __MH_HOST_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include<stdint.h>
#include<stdlib.h>
#include<sigar.h>
@@ -153,4 +157,8 @@ mh_host_get_power_profile(char **profile);
GList *
mh_host_list_power_profiles(void);
+#ifdef __cplusplus
+}
+#endif
+
#endif // __MH_HOST_H__
diff --git a/src/include/matahari/logging.h b/src/include/matahari/logging.h
index 260eccc..9132b81 100644
--- a/src/include/matahari/logging.h
+++ b/src/include/matahari/logging.h
@@ -26,6 +26,10 @@
#ifndef __MH_LOGGING__
#define __MH_LOGGING__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#ifdef __linux__
# include<syslog.h>
#else
@@ -198,4 +202,9 @@ extern struct _mh_ddebug __stop___verbose[];
fprintf(stderr, fmt ": %s (%d)\n", ##args, err, errno); \
mh_log(level, fmt ": %s (%d)", ##args, err, errno); \
} while(0)
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/include/matahari/mainloop.h b/src/include/matahari/mainloop.h
index 74adce8..62da239 100644
--- a/src/include/matahari/mainloop.h
+++ b/src/include/matahari/mainloop.h
@@ -25,6 +25,10 @@
#ifndef __MH_MAINLOOP__
#define __MH_MAINLOOP__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include<glib.h>
#include<sys/types.h>
@@ -101,4 +105,8 @@ mainloop_add_child(pid_t pid, int timeout, const char *desc, void
*privatedata,
void (*callback)(mainloop_child_t* p, int status, int signo,
int exitcode));
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/include/matahari/network.h b/src/include/matahari/network.h
index 1249bfd..a0345c6 100644
--- a/src/include/matahari/network.h
+++ b/src/include/matahari/network.h
@@ -25,6 +25,10 @@
#ifndef __NETWORK_H
#define __NETWORK_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include<glib.h>
#include<stdint.h>
@@ -139,4 +143,8 @@ mh_network_restart(const char *iface);
int
mh_network_status(const char *iface, uint64_t *flags);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __NETWORK_H */
diff --git a/src/include/matahari/services.h b/src/include/matahari/services.h
index 6e61b4d..ad98e9f 100644
--- a/src/include/matahari/services.h
+++ b/src/include/matahari/services.h
@@ -25,6 +25,10 @@
#ifndef __MH_SERVICES__
#define __MH_SERVICES__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include<glib.h>
#include<stdio.h>
#include "matahari/mainloop.h"
@@ -269,4 +273,8 @@ services_get_ocf_exitcode(char *action, int lsb_exitcode)
return (enum ocf_exitcode)lsb_exitcode;
}
+#ifdef __cplusplus
+}
+#endif
+
#endif /* __MH_SERVICES__ */
diff --git a/src/include/matahari/sysconfig.h b/src/include/matahari/sysconfig.h
index 3a74c61..c11a01b 100644
--- a/src/include/matahari/sysconfig.h
+++ b/src/include/matahari/sysconfig.h
@@ -26,6 +26,10 @@
#ifndef __MH_SYSCONFIG_H__
#define __MH_SYSCONFIG_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include<stdint.h>
#include<glib.h>
@@ -119,4 +123,8 @@ mh_sysconfig_set_configured(const char *key, const char *contents);
char *
mh_sysconfig_is_configured(const char *key);
+#ifdef __cplusplus
+}
+#endif
+
#endif // __MH_SYSCONFIG_H__
diff --git a/src/include/matahari/utilities.h b/src/include/matahari/utilities.h
index 5084261..941e3a2 100644
--- a/src/include/matahari/utilities.h
+++ b/src/include/matahari/utilities.h
@@ -25,6 +25,10 @@
#ifndef __MH_UTILITIES__
#define __MH_UTILITIES__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#include "matahari/config.h"
#include<stdlib.h>
@@ -140,4 +144,9 @@ mh_string_copy(char *dst, const char *src, size_t dst_len);
*/
gsize
mh_read_from_fd(int fd, char **data);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
diff --git a/src/lib/mh_agent.cpp b/src/lib/mh_agent.cpp
index 7c94c7f..34799fe 100644
--- a/src/lib/mh_agent.cpp
+++ b/src/lib/mh_agent.cpp
@@ -42,19 +42,20 @@
#include<qmf/SchemaProperty.h>
#include "matahari/agent.h"
-extern "C" {
#include<sys/types.h>
#include "matahari/logging.h"
#include "matahari/dnssrv.h"
#include "matahari/utilities.h"
+
#ifndef WIN32
+extern "C" {
#include<sys/socket.h>
#include<netdb.h>
#ifdef MH_SSL
#include<secmod.h>
#endif
-#endif
}
+#endif
using namespace qpid::management;
using namespace qpid::client;
diff --git a/src/network/network-qmf.cpp b/src/network/network-qmf.cpp
index a6271c2..ca69f7f 100644
--- a/src/network/network-qmf.cpp
+++ b/src/network/network-qmf.cpp
@@ -24,7 +24,6 @@
#include<qpid/agent/ManagementAgent.h>
-extern "C" {
#include<stdlib.h>
#include<string.h>
#include<glib.h>
@@ -33,7 +32,6 @@ extern "C" {
#include "matahari/network.h"
#include "matahari/host.h"
#include "matahari/errors.h"
-};
class NetAgent : public MatahariAgent
{
diff --git a/src/service/service-qmf-console.cpp b/src/service/service-qmf-console.cpp
index 344773a..850e6f9 100644
--- a/src/service/service-qmf-console.cpp
+++ b/src/service/service-qmf-console.cpp
@@ -32,9 +32,7 @@
#include<iostream>
#include<sstream>
-extern "C" {
#include "matahari/logging.h"
-}
using namespace std;
using namespace qmf;
diff --git a/src/service/service-qmf.cpp b/src/service/service-qmf.cpp
index 6aa4904..74a2600 100644
--- a/src/service/service-qmf.cpp
+++ b/src/service/service-qmf.cpp
@@ -18,10 +18,8 @@
#include "config.h"
-extern "C" {
#include<stdlib.h>
#include<string.h>
-};
#include<string>
#include<qpid/management/Manageable.h>
@@ -30,11 +28,9 @@ extern "C" {
#include "qmf/org/matahariproject/QmfPackage.h"
-extern "C" {
#include "matahari/logging.h"
#include "matahari/services.h"
#include "matahari/errors.h"
-}
#include<iostream>
diff --git a/src/sysconfig/sysconfig-console.cpp b/src/sysconfig/sysconfig-console.cpp
index 865eda2..a6bd1b3 100644
--- a/src/sysconfig/sysconfig-console.cpp
+++ b/src/sysconfig/sysconfig-console.cpp
@@ -34,10 +34,8 @@
#include<iostream>
#include<sstream>
-extern "C" {
#include "matahari/logging.h"
#include "matahari/sysconfig.h"
-}
using namespace std;
using namespace qmf;
diff --git a/src/sysconfig/sysconfig-qmf.cpp b/src/sysconfig/sysconfig-qmf.cpp
index bf81414..d832a7e 100644
--- a/src/sysconfig/sysconfig-qmf.cpp
+++ b/src/sysconfig/sysconfig-qmf.cpp
@@ -27,11 +27,9 @@
#include "qmf/org/matahariproject/QmfPackage.h"
#include "matahari/agent.h"
-extern "C" {
#include "matahari/logging.h"
#include "matahari/host.h"
#include "matahari/sysconfig.h"
-};
class ConfigAgent : public MatahariAgent
{
_______________________________________________
Matahari mailing list
Matahari(a)lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/matahari