Ejemplo n.º 1
0
void
windows_plugin_init(Repl_Agmt *ra)
{
    void *cookie = NULL;
    winsync_plugin_init_cb initfunc = NULL;

	LDAPDebug0Args( LDAP_DEBUG_PLUGIN, "--> windows_plugin_init_start -- begin\n");

    /* if the function pointer array is null, get the functions - we will
       call init once per replication agreement, but will only grab the
       api once */
    if(NULL == _WinSyncAPI) {
        if (slapi_apib_get_interface(WINSYNC_v2_0_GUID, &_WinSyncAPI) ||
            (NULL == _WinSyncAPI))
        {
            LDAPDebug1Arg( LDAP_DEBUG_PLUGIN,
                           "<-- windows_plugin_init_start -- no windows plugin API registered for GUID [%s] -- end\n",
                           WINSYNC_v2_0_GUID);
        } else if (_WinSyncAPI) {
            LDAPDebug1Arg( LDAP_DEBUG_PLUGIN,
                           "<-- windows_plugin_init_start -- found windows plugin API registered for GUID [%s] -- end\n",
                           WINSYNC_v2_0_GUID);
            maxapiidx = WINSYNC_PLUGIN_VERSION_2_END;
        }
    }

    if (NULL == _WinSyncAPI) { /* no v2 interface - look for v1 */
        if (slapi_apib_get_interface(WINSYNC_v1_0_GUID, &_WinSyncAPI) ||
            (NULL == _WinSyncAPI))
        {
            LDAPDebug1Arg( LDAP_DEBUG_PLUGIN,
                           "<-- windows_plugin_init_start -- no windows plugin API registered for GUID [%s] -- end\n",
                           WINSYNC_v1_0_GUID);
            return;
        } else {
            LDAPDebug1Arg( LDAP_DEBUG_PLUGIN,
                           "<-- windows_plugin_init_start -- found windows plugin API registered for GUID [%s] -- end\n",
                           WINSYNC_v1_0_GUID);
        }
	}

    initfunc = (winsync_plugin_init_cb)_WinSyncAPI[WINSYNC_PLUGIN_INIT_CB];
    if (initfunc) {
        cookie = (*initfunc)(windows_private_get_directory_subtree(ra),
                             windows_private_get_windows_subtree(ra));
    }
    windows_private_set_api_cookie(ra, cookie);

	LDAPDebug0Args( LDAP_DEBUG_PLUGIN, "<-- windows_plugin_init_start -- end\n");
    return;
}
Ejemplo n.º 2
0
void
repl_session_plugin_init()
{
    /* If the function pointer array is null, get the functions.
     * We will only grab the api once. */
    if((NULL == _ReplSessionAPI) &&
       (slapi_apib_get_interface(REPL_SESSION_v1_0_GUID, &_ReplSessionAPI) ||
       (NULL == _ReplSessionAPI))) {
            slapi_log_err(SLAPI_LOG_PLUGIN, repl_plugin_name,
                   "repl_session_plugin_init - No replication session"
                   " plugin API registered for GUID [%s] -- end\n",
                   REPL_SESSION_v1_0_GUID);
    }

    return;
}