s3-rpc_server: Add rpc_epmapper_mode().
authorAndreas Schneider <asn@samba.org>
Fri, 29 Jul 2011 09:44:02 +0000 (11:44 +0200)
committerAndreas Schneider <asn@samba.org>
Mon, 1 Aug 2011 09:08:36 +0000 (11:08 +0200)
source3/rpc_server/rpc_service_setup.c
source3/rpc_server/rpc_service_setup.h

index a9633fb35522411f6e78cf23f837bc0abcb653aa..6cf4905af7e5108f3c05aa4ed73e30dfa86d2c23 100644 (file)
 #include "rpc_server/rpc_server.h"
 #include "rpc_server/epmapper/srv_epmapper.h"
 
+enum rpc_service_mode_e rpc_epmapper_mode(void)
+{
+       const char *rpcsrv_type;
+       enum rpc_service_mode_e state;
+
+       rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
+                                          "rpc_server",
+                                          "epmapper",
+                                          "disabled");
+
+       if (strcasecmp_m(rpcsrv_type, "external") == 0) {
+               state = RPC_SERVICE_MODE_EXTERNAL;
+       } else if (strcasecmp_m(rpcsrv_type, "daemon") == 0) {
+               state = RPC_SERVICE_MODE_DAEMON;
+       } else {
+               state = RPC_SERVICE_MODE_DISABLED;
+       }
+
+       return state;
+}
+
 static bool rpc_setup_epmapper(struct tevent_context *ev_ctx,
                               struct messaging_context *msg_ctx)
 {
index 2e27995261d589d162891c5d540ec79614356256..e568b1fc064dee7942e9f372735605d00091c863 100644 (file)
 
 struct ndr_interface_table;
 
+enum rpc_service_mode_e {
+       RPC_SERVICE_MODE_DISABLED = 0,
+       RPC_SERVICE_MODE_EMBEDDED,
+       RPC_SERVICE_MODE_EXTERNAL,
+       RPC_SERVICE_MODE_DAEMON
+};
+
+/**
+ * @brief Get the mode in which epmapper is started.
+ *
+ * @return The mode.
+ */
+enum rpc_service_mode_e rpc_epmapper_mode(void);
+
 /**
  * @brief Register an endpoint at the endpoint mapper.
  *