dsapi_entry.h

Go to the documentation of this file.
00001 /* Emacs mode: -*- C -*- */
00002 
00003 /* 
00004  * Copyright (c) 2004-2007, Isode Limited, London, England.
00005  * All rights reserved.
00006  *
00007  * Acquisition and use of this software and related materials for any
00008  * purpose requires a written licence agreement from Isode
00009  * Limited, or a written licence from an organisation licenced by Isode
00010  * Limited to grant such a licence.
00011  *
00012  */
00013 
00014 /*
00015  * dsapi_entry.h
00016  *
00017  * Directory client API methods for manipulating directory entries.
00018  *
00019  */
00020 
00021 /* 
00022  * $RCSfile: dsapi_entry.h,v $ $Revision: 1.21 $ $State: Exp $
00023  *
00024  * $Log: dsapi_entry.h,v $
00025  * Revision 1.21  2007/07/19 16:16:45  jp
00026  * T070718L - Fix documentation for DS_Entry_Apply
00027  *
00028  * Revision 1.20  2007/07/16 12:21:05  cjr
00029  * T070713D - Correct the DS_SetEntryDN documentation.
00030  *
00031  * Revision 1.19  2007/07/06 11:03:40  jp
00032  * T070704A - Introduce public DSEntryType enum and functions to handle it;
00033  *            remove old functions not yet made public
00034  *
00035  * Revision 1.18  2007/06/25 10:24:04  jp
00036  * T070622B - New calls to handle all LDIF change-records; update other docs also
00037  *
00038  * Revision 1.17  2007/05/15 13:18:29  dbw
00039  * T070515D - Update/Add copyright
00040  *
00041  * Revision 1.16  2006/11/20 15:16:15  jp
00042  * T061115G - Doc clarifications; new entry Diff/Apply/IsNormal/IsChange calls
00043  *
00044  * Revision 1.15  2006/11/10 13:40:33  cjr
00045  * T061110D - Add \since annotations to functions added since 1.0.
00046  *
00047  * Revision 1.14  2006/09/25 10:48:27  cjr
00048  * T060925D - Add missing end groups.
00049  *
00050  * Revision 1.13  2006/06/14 12:53:44  nh
00051  * T060614A - Fix a couple of doxygen warnings
00052  *
00053  * Revision 1.12  2006/03/15 10:48:23  cjr
00054  * T060315B - Restore open brace, and add matching close brace.
00055  *
00056  * Revision 1.11  2006/01/23 16:15:56  brs
00057  * T060123D - Remove some open braces.
00058  *
00059  * Revision 1.10  2005/07/12 15:46:53  cjr
00060  * T050712F - Permit NULL parameters.
00061  *
00062  * Revision 1.9  2005/07/04 12:23:44  cjr
00063  * T050704A - Change result types to DS_Status.
00064  *
00065  * Revision 1.8  2005/06/29 15:57:01  cjr
00066  * T050629C - Changed references to DS_AddSync() and DS_ModifySync().
00067  *
00068  * Revision 1.7  2005/06/27 09:29:29  cjr
00069  * T050624A - Add DS_Entry_SetDN(), DS_Entry_AddValues(),
00070  *            DS_Entry_DeleteValues(), DS_Entry_ReplaceValues(), and
00071  *            DS_Entry_New().
00072  *
00073  * Revision 1.6  2005/05/25 16:06:49  dbw
00074  * T050525C - Add or update copyright for 2005
00075  *
00076  * Revision 1.5  2005/04/05 09:30:41  cjr
00077  * T050405A - Move dsapi to under apps/ds.
00078  *
00079  * Revision 1.4  2005/02/25 12:47:35  cjr
00080  * T050223E - Improve documentation
00081  *
00082  * Revision 1.3  2005/02/18 14:29:04  cjr
00083  * T050218A - Remove extra endgroup.
00084  *
00085  * Revision 1.2  2005/02/15 16:48:49  cjr
00086  * Fix punctuation
00087  *
00088  * Revision 1.1  2005/01/24 17:19:57  dsm
00089  * T050124B - Initial revision.
00090  *
00091  *
00092  */
00093 
00094 #ifndef ISODE_DSAPI_ENTRY_H
00095 #define ISODE_DSAPI_ENTRY_H
00096 
00097 #include <stddef.h>
00098 #include <isode/ds/dsapi/dsapi_cdecl.h>
00099 #include <isode/ds/dsapi/dsapi_types.h>
00100 
00138 LIBDSAPI_CDECL
00139 DS_Status DS_Entry_GetDN (
00140     const DS_Entry  *entry,
00141     const DS_DN    **dn_p
00142 );
00143 
00158 LIBDSAPI_CDECL
00159 DS_Status DS_Entry_GetNewDN (
00160     const DS_Entry  *entry,
00161     const DS_DN    **dn_p
00162 );
00163 
00177 LIBDSAPI_CDECL
00178 DS_Status DS_Entry_GetDeleteOldRDN (
00179     const DS_Entry  *entry,
00180     int *flag_p
00181 );
00182 
00193 LIBDSAPI_CDECL
00194 DS_Status DS_Entry_SetDN (
00195     DS_Entry    *entry,
00196     const DS_DN *dn
00197 );
00198 
00210 LIBDSAPI_CDECL
00211 DS_Status DS_Entry_SetNewDN (
00212     DS_Entry    *entry,
00213     const DS_DN *new_dn
00214 );
00215 
00226 LIBDSAPI_CDECL
00227 DS_Status DS_Entry_SetDeleteOldRDN (
00228     DS_Entry    *entry,
00229     int          flag
00230 );
00231 
00241 LIBDSAPI_CDECL
00242 DS_Status DS_Entry_IsNormal (
00243     const DS_Entry    *entry
00244 );
00245 
00256 LIBDSAPI_CDECL
00257 DS_Status DS_Entry_IsChange (
00258     const DS_Entry    *entry
00259 );
00260 
00271 LIBDSAPI_CDECL
00272 DS_Status DS_Entry_GetType (
00273     const DS_Entry    *entry,
00274     DSEntryType *type_p
00275 );
00276 
00297 LIBDSAPI_CDECL
00298 DS_Status DS_Entry_Convert (
00299     DS_Entry    *entry,
00300     DSEntryType type
00301 );
00302 
00319 LIBDSAPI_CDECL
00320 DS_Status DS_Entry_AddValues (
00321     DS_Entry      *entry,
00322     const DS_Attr *attr
00323 );
00324 
00350 LIBDSAPI_CDECL
00351 DS_Status DS_Entry_DeleteValues (
00352     DS_Entry      *entry,
00353     const DS_Attr *attr
00354 );
00355 
00380 LIBDSAPI_CDECL
00381 DS_Status DS_Entry_ReplaceValues (
00382     DS_Entry      *entry,
00383     const DS_Attr *attr
00384 );
00385 
00393 LIBDSAPI_CDECL
00394 const DS_Entry *DS_EntryList_GetFirst (
00395     const DS_EntryList *entry_list
00396 );
00397 
00405 LIBDSAPI_CDECL
00406 const DS_Entry *DS_EntryList_GetNext (
00407     const DS_Entry *entry
00408 );
00409 
00423 LIBDSAPI_CDECL
00424 DS_Status DS_Entry_New (
00425     DS_Entry **entryp
00426 );
00427 
00445 LIBDSAPI_CDECL
00446 DS_Status DS_Entry_NewType (
00447     DS_Entry **entryp,
00448     DSEntryType type,
00449     const DS_DN *dn
00450 );
00451 
00457 LIBDSAPI_CDECL
00458 void DS_Entry_Delete (
00459     DS_Entry *entry
00460 );
00461 
00467 LIBDSAPI_CDECL
00468 void DS_EntryList_Delete (
00469     DS_EntryList *entry_list
00470 );
00471 
00506 LIBDSAPI_CDECL
00507 DS_Status DS_Entry_Diff (
00508     const DS_Entry *entry1,
00509     const DS_Entry *entry2,
00510     DS_Entry **change_p
00511 );
00512 
00550 LIBDSAPI_CDECL
00551 DS_Status DS_Entry_Apply (
00552     const DS_Entry *entry1,
00553     const DS_Entry *change,
00554     DS_Entry **entry2_p
00555 );
00556 
00561 #endif /* ISODE_DSAPI_ENTRY_H */
Copyright © 2008 Isode privacy   feedback Subscribe to our rss newsfeed