Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Net::LDAP::Control::VLUser Contributed Perl DocumentNet::LDAP::Control::VLV(3)

NAME
       Net::LDAP::Control::VLV - LDAPv3	Virtual	List View control object

SYNOPSIS
	use Net::LDAP;
	use Net::LDAP::Control::VLV;
	use Net::LDAP::Constant	qw( LDAP_CONTROL_VLVRESPONSE );

	$ldap =	Net::LDAP->new(	"ldap.mydomain.eg" );

	# Get the first	20 entries
	$vlv  =	Net::LDAP::Control::VLV->new(
		  before  => 0,	       # No entries from before	target entry
		  after	  => 19,       # 19 entries after target entry
		  content => 0,	       # List size unknown
		  offset  => 1,	       # Target	entry is the first
		);
	$sort =	Net::LDAP::Control::Sort->new( order =>	'cn' );

	@args =	( base	   => "o=Ace Industry, c=us",
		  scope	   => "subtree",
		  filter   => "(objectClass=inetOrgPerson)",
		  callback => \&process_entry, # Call this sub for each	entry
		  control  => [	$vlv, $sort ],
	);

	$mesg =	$ldap->search( @args );

	# Get VLV response control
	($resp)	 = $mesg->control( LDAP_CONTROL_VLVRESPONSE )  or die;
	$vlv->response(	$resp );

	# Set the control to get the last 20 entries
	$vlv->end;

	$mesg =	$ldap->search( @args );

	# Get VLV response control
	($resp)	 = $mesg->control( LDAP_CONTROL_VLVRESPONSE )  or die;
	$vlv->response(	$resp );

	# Now get the previous page
	$vlv->scroll_page( -1 );

	$mesg =	$ldap->search( @args );

	# Get VLV response control
	($resp)	 = $mesg->control( LDAP_CONTROL_VLVRESPONSE )  or die;
	$vlv->response(	$resp );

	# Now page with	first entry starting with "B" in the middle
	$vlv->before(9);       # Change	page to	show 9 before
	$vlv->after(10);       # Change	page to	show 10	after
	$vlv->assert("B");     # assert	"B"

	$mesg =	$ldap->search( @args );

DESCRIPTION
       "Net::LDAP::Control::VLV" provides an interface for the creation	and
       manipulation of objects that represent the Virtual List View as
       described by draft-ietf-ldapext-ldapv3-vlv-09.txt.

       When using a Virtual List View control in a search, it must be
       accompanied by a	sort control. See Net::LDAP::Control::Sort

CONSTRUCTOR ARGUMENTS
       In addition to the constructor arguments	described in
       Net::LDAP::Control the following	are provided.

       after
	   Set the number of entries the server	should return from the list
	   after the target entry.

       assert
	   Set the assertion value user	to locate the target entry. This value
	   should be a legal value to compare with the first attribute in the
	   sort	control	that is	passed with the	VLV control. The target	entry
	   is the first	entry in the list which	is greater than	or equal the
	   assert value.

       before
	   Set the number of entries the server	should return from the list
	   before the target entry.

       content
	   Set the number of entries in	the list. On the first search this
	   value should	be set to zero.	On subsequent searches it should be
	   set to the length of	the list, as returned by the server in the
	   VLVResponse control.

       context
	   Set the context identifier.	On the first search this value should
	   be set to zero. On subsequent searches it should be set to the
	   context value returned by the server	in the VLVResponse control.

       offset
	   Set the offset of the target	entry.

   METHODS
       As with Net::LDAP::Control 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 "offset" and	"assert" attributes are	mutually exclusive. Setting
       one or the other	will cause previous values set by the other to be
       forgotten. The "content"	attribute is also associated with the "offset"
       attribute, so setting "assert" will cause any "content" value to	be
       forgotten.

       end Set the target entry	to the end of the list.	This method will
	   change the "before" and "after" attributes so that the target entry
	   is the last in the page.

       response	VLV_RESPONSE
	   Set the attributes in the control as	per VLV_RESPONSE. VLV_RESPONSE
	   should be a control of type Net::LDAP::Control::VLVResponse
	   returned from the server. "response"	will populate the "context",
	   "offset" and	"content" attributes of	the control with the values
	   from	VLV_RESPONSE. Because this sets	the "offset" attribute,	any
	   previous setting of the "assert" attribute will be forgotten.

       scroll NUM
	   Move	the target entry by NUM	entries. A positive NUM	will move the
	   target entry	towards	the end	of the list and	a negative NUM will
	   move	the target entry towards the start of the list.	Returns	the
	   index of the	new target entry, or "undef" if	the current target is
	   identified by an assertion.

	   "scroll" may	change the "before" and	"after"	attributes if the
	   scroll value	would cause the	page to	go off either end of the list.
	   But the page	size will be maintained.

       scroll_page NUM
	   Scroll by NUM pages.	This method simple calculates the current page
	   size	and calls "scroll" with	"NUM * $page_size"

       start
	   Set the target entry	to the start of	the list. This method will
	   change the "before" and "after" attributes to the target entry is
	   the first entry in the page.

SEE ALSO
       Net::LDAP, Net::LDAP::Control, Net::LDAP::Control::Sort,
       Net::LDAP::Control::VLVResponse

AUTHOR
       Graham Barr <gbarr@pobox.com>

       Please report any bugs, or post any suggestions,	to the perl-ldap
       mailing list <perl-ldap@perl.org>

COPYRIGHT
       Copyright (c) 2000-2004 Graham Barr. All	rights reserved. This program
       is free software; you can redistribute it and/or	modify it under	the
       same terms as Perl itself.

perl v5.32.1			  2015-04-02	    Net::LDAP::Control::VLV(3)

NAME | SYNOPSIS | DESCRIPTION | CONSTRUCTOR ARGUMENTS | SEE ALSO | AUTHOR | COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Net::LDAP::Control::VLV&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help