r26431: Require ndr_push creators to specify a iconv_convenience context.
[ira/wip.git] / source4 / cluster / local.c
index 28a0576accfebf7ed307a33104888137d91cadf8..539e47d271318342d6b97487ef768cd22f45ce78 100644 (file)
@@ -7,7 +7,7 @@
    
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2 of the License, or
+   the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    
    This program is distributed in the hope that it will be useful,
    GNU General Public License for more details.
    
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "includes.h"
 #include "cluster/cluster.h"
 #include "cluster/cluster_private.h"
 #include "lib/tdb/include/tdb.h"
-#include "db_wrap.h"
+#include "tdb_wrap.h"
 #include "system/filesys.h"
+#include "param/param.h"
+#include "librpc/gen_ndr/misc.h"
 
 /*
   server a server_id for the local node
@@ -54,10 +55,11 @@ static const char *local_id_string(struct cluster_ops *ops,
   TDB_CLEAR_IF_FIRST as the tmp path is wiped at startup
 */
 static struct tdb_wrap *local_tdb_tmp_open(struct cluster_ops *ops,
-                                          TALLOC_CTX *mem_ctx, const char *dbname, 
-                                          int flags)
+                                          TALLOC_CTX *mem_ctx, 
+                                          struct loadparm_context *lp_ctx,
+                                          const char *dbname, int flags)
 {
-       char *path = smbd_tmp_path(mem_ctx, dbname);
+       char *path = smbd_tmp_path(mem_ctx, lp_ctx, dbname);
        struct tdb_wrap *w;
        w = tdb_wrap_open(mem_ctx, path, 0, flags,
                          O_RDWR|O_CREAT, 0600);
@@ -65,10 +67,41 @@ static struct tdb_wrap *local_tdb_tmp_open(struct cluster_ops *ops,
        return w;
 }
 
+/*
+  dummy backend handle function
+*/
+static void *local_backend_handle(struct cluster_ops *ops)
+{
+       return NULL;
+}
+
+/*
+  dummy message init function - not needed as all messages are local
+*/
+static NTSTATUS local_message_init(struct cluster_ops *ops,
+                                  struct messaging_context *msg, 
+                                  struct server_id server,
+                                  cluster_message_fn_t handler)
+{
+       return NT_STATUS_OK;
+}
+
+/*
+  dummy message send
+*/
+static NTSTATUS local_message_send(struct cluster_ops *ops,
+                                  struct server_id server, DATA_BLOB *data)
+{
+       return NT_STATUS_INVALID_DEVICE_REQUEST;
+}
+
 static struct cluster_ops cluster_local_ops = {
        .cluster_id           = local_id,
        .cluster_id_string    = local_id_string,
        .cluster_tdb_tmp_open = local_tdb_tmp_open,
+       .backend_handle       = local_backend_handle,
+       .message_init         = local_message_init,
+       .message_send         = local_message_send,
        .private              = NULL
 };