root/source3/lib/ldb/modules/skel.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. skel_search
  2. skel_add
  3. skel_modify
  4. skel_delete
  5. skel_rename
  6. skel_start_trans
  7. skel_end_trans
  8. skel_del_trans
  9. skel_destructor
  10. skel_request
  11. skel_init
  12. ldb_skel_init

   1 /* 
   2    ldb database library
   3 
   4    Copyright (C) Simo Sorce  2004
   5 
   6      ** NOTE! The following LGPL license applies to the ldb
   7      ** library. This does NOT imply that all of Samba is released
   8      ** under the LGPL
   9    
  10    This library is free software; you can redistribute it and/or
  11    modify it under the terms of the GNU Lesser General Public
  12    License as published by the Free Software Foundation; either
  13    version 3 of the License, or (at your option) any later version.
  14 
  15    This library is distributed in the hope that it will be useful,
  16    but WITHOUT ANY WARRANTY; without even the implied warranty of
  17    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18    Lesser General Public License for more details.
  19 
  20    You should have received a copy of the GNU Lesser General Public
  21    License along with this library; if not, see <http://www.gnu.org/licenses/>.
  22 */
  23 
  24 /*
  25  *  Name: ldb
  26  *
  27  *  Component: ldb skel module
  28  *
  29  *  Description: example module
  30  *
  31  *  Author: Simo Sorce
  32  */
  33 
  34 #include "includes.h"
  35 #include "ldb/include/includes.h"
  36 
  37 struct private_data {
  38 
  39         char *some_private_data;
  40 };
  41 
  42 /* search */
  43 static int skel_search(struct ldb_module *module, struct ldb_request *req)
     /* [<][>][^][v][top][bottom][index][help] */
  44 {
  45         return ldb_next_request(module, req);
  46 }
  47 
  48 /* add */
  49 static int skel_add(struct ldb_module *module, struct ldb_request *req){
     /* [<][>][^][v][top][bottom][index][help] */
  50         return ldb_next_request(module, req);
  51 }
  52 
  53 /* modify */
  54 static int skel_modify(struct ldb_module *module, struct ldb_request *req)
     /* [<][>][^][v][top][bottom][index][help] */
  55 {
  56         return ldb_next_request(module, req);
  57 }
  58 
  59 /* delete */
  60 static int skel_delete(struct ldb_module *module, struct ldb_request *req)
     /* [<][>][^][v][top][bottom][index][help] */
  61 {
  62         return ldb_next_request(module, req);
  63 }
  64 
  65 /* rename */
  66 static int skel_rename(struct ldb_module *module, struct ldb_request *req)
     /* [<][>][^][v][top][bottom][index][help] */
  67 {
  68         return ldb_next_request(module, req);
  69 }
  70 
  71 /* start a transaction */
  72 static int skel_start_trans(struct ldb_module *module)
     /* [<][>][^][v][top][bottom][index][help] */
  73 {
  74         return ldb_next_start_trans(module);
  75 }
  76 
  77 /* end a transaction */
  78 static int skel_end_trans(struct ldb_module *module)
     /* [<][>][^][v][top][bottom][index][help] */
  79 {
  80         return ldb_next_end_trans(module);
  81 }
  82 
  83 /* delete a transaction */
  84 static int skel_del_trans(struct ldb_module *module)
     /* [<][>][^][v][top][bottom][index][help] */
  85 {
  86         return ldb_next_del_trans(module);
  87 }
  88 
  89 static int skel_destructor(struct ldb_module *ctx)
     /* [<][>][^][v][top][bottom][index][help] */
  90 {
  91         struct private_data *data = talloc_get_type(ctx->private_data, struct private_data);
  92         /* put your clean-up functions here */
  93         if (data->some_private_data) talloc_free(data->some_private_data);
  94         return 0;
  95 }
  96 
  97 static int skel_request(struct ldb_module *module, struct ldb_request *req)
     /* [<][>][^][v][top][bottom][index][help] */
  98 {
  99         return ldb_next_request(module, req);
 100 }
 101 
 102 static int skel_init(struct ldb_module *ctx)
     /* [<][>][^][v][top][bottom][index][help] */
 103 {
 104         struct private_data *data;
 105 
 106         data = talloc(ctx, struct private_data);
 107         if (data == NULL) {
 108                 return 1;
 109         }
 110 
 111         data->some_private_data = NULL;
 112         ctx->private_data = data;
 113 
 114         talloc_set_destructor (ctx, skel_destructor);
 115 
 116         return ldb_next_init(ctx);
 117 }
 118 
 119 static const struct ldb_module_ops skel_ops = {
 120         .name              = "skel",
 121         .init_context      = skel_init,
 122         .search            = skel_search,
 123         .add               = skel_add,
 124         .modify            = skel_modify,
 125         .del               = skel_delete,
 126         .rename            = skel_rename,
 127         .request           = skel_request,
 128         .start_transaction = skel_start_trans,
 129         .end_transaction   = skel_end_trans,
 130         .del_transaction   = skel_del_trans,
 131 };
 132 
 133 int ldb_skel_init(void)
     /* [<][>][^][v][top][bottom][index][help] */
 134 {
 135         return ldb_register_module(&skel_ops);
 136 }

/* [<][>][^][v][top][bottom][index][help] */