Net::LDAP::Control::SyncRequest - LDAPv3 Sync Request control object
use Net::LDAP;
use Net::LDAP::Control::SyncRequest;
use Net::LDAP::Constant qw(
LDAP_SYNC_REFRESH_ONLY
LDAP_SYNC_REFRESH_AND_PERSIST
LDAP_SUCCESS );
$ldap = Net::LDAP->new( "ldap.mydomain.eg" );
$req = Net::LDAP::Control::SyncRequest->new( mode => LDAP_SYNC_REFRESH_ONLY );
my $mesg = $ldap->search(base=> 'dc=mydomain,dc='eg',
scope => 'sub',
control => [ $req ],
callback => \&searchCallback, # call for each entry
filter => "(objectClass=*)",
attrs => [ '*']);
sub searchCallback {
my $message = shift;
my $entry = shift;
my @controls = $message->control;
if ($controls[0]->isa('Net::LDAP::Control::SyncState')) {
print "Received Sync State Control\n";
print $entry->dn()."\n";
print 'State: '.$controls[0]->state."\n".', entryUUID: '.$controls[0]->entryUUID.', cookie: '.$controls[0]->cookie;
} elsif ($controls[0]->isa('Net::LDAP::Control::SyncDone')) {
print "Received Sync Done Control\n";
print 'Cookie: '.$controls[0]->cookie.', refreshDeletes: '.$controls[0]->refreshDeletes;
}
}
Net::LDAP::Control::SyncRequest provides an interface for the creation and
manipulation of objects that represent the Sync Request Control as described
by RFC 4533.
In addition to the constructor arguments described in
the Net::LDAP::Control manpage the following are provided.
- mode
-
- cookie
-
- reloadHint
-
As with the Net::LDAP::Control manpage each constructor argument
described above is also available as a method on the object which will
return the current value for the attribute if called without an argument,
and set a new value for the attribute if called with an argument.
the Net::LDAP manpage,
the Net::LDAP::Control manpage,
the Net::LDAP::Control::SyncState manpage,
the Net::LDAP::Control::SyncDone manpage,
http://www.ietf.org/rfc/rfc4533.txt
Mathieu Parent <math.parent@gmail.com>
Please report any bugs, or post any suggestions, to the perl-ldap mailing list
<perl-ldap@perl.org>
Copyright (c) 2008 Mathieu Parent. All rights reserved. This program is
free software; you can redistribute it and/or modify it under the same
terms as Perl itself.
|