POE::Component::Client::LDAP man page on Fedora

Man page or keyword search:  
man Server   31170 pages
apropos Keyword Search (all sections)
Output format
Fedora logo
[printable version]

POE::Component::ClientUserAContributed Perl DocPOE::Component::Client::LDAP(3)

NAME
       POE::Component::Client::LDAP - subclass of Net::LDAP which uses POE to
       speak via sockets in async mode.

SYNOPSIS
	use POE;
	use POE::Component::Client::LDAP;

	POE::Session->create(
	       inline_states => {
		       _start => sub {
			       my ($heap, $session) = @_[HEAP, SESSION];
			       $heap->{ldap} = POE::Component::Client::LDAP->new(
				       'localhost',
				       callback => $session->postback( 'connect' ),
			       );
		       },
		       connect => sub {
			       my ($heap, $session, $callback_args) = @_[HEAP, SESSION, ARG1];
			       if ( $callback_args->[0] ) {
				       $heap->{ldap}->bind(
					       callback => $session->postback( 'bind' ),
				       );
			       }
			       else {
				       delete $heap->{ldap};
				       print "Connection Failed\n";
			       }
		       },
		       bind => sub {
			       my ($heap, $session) = @_[HEAP, SESSION];
			       $heap->{ldap}->search(
				       base => "ou=People,dc=domain,dc=net",
				       filter => "(objectClass=person)",
				       callback => $session->postback( 'search' ),
			       );
		       },
		       search => sub {
			       my ($heap, $ldap_return) = @_[HEAP, ARG1];
			       my $ldap_search = shift @$ldap_return;

			       foreach (@$ldap_return) {
				       print $_->dump;
			       }

			       delete $heap->{ldap} if $ldap_search->done;
		       },
	       },
	);

	POE::Kernel->run();

DESCRIPTION
       POE::Component::Client::LDAP->new() starts up a new POE::Session and
       POE::Wheel to manage socket communications for an underlying Net::LDAP
       object, allowing it to be used in async mode properly within a POE
       program.

INTERFACE DIFFERENCES
       With regards to Net::LDAP, all interfaces are to be used as documented,
       with the following exceptions.

       POE::Component::Client::LDAP->new( hostname, OPTIONS ) =item
       POE::Component::Client::LDAP->new( OPTIONS ) =item
       POE::Component::Client::LDAP->new()
	 A call to new() is non-blocking, always returning an object.

	 If a hostname is supplied, new() also acts as though you have called
	 connect(). Please read the docs for connect() to see how the
	 arguments work.

       $object->connect( hostname, OPTIONS ) =item $object->connect( OPTIONS )
       =item $object->connect()
	 The 'callback' argument has been added and should always be supplied
	 to notify your code when a connection is established.

	 Only LDAP connections are supported at this time, LDAPS and LDAPI
	 will be in a future release.

	 Connection errors are not handled at this time, again in a future
	 release.

	 The 'async' option is always turned on, and whatever value you pass
	 in will be ignored.

       $object->async()
	 Async mode is always turned on and so this call will always return
	 true, if you pass it a value to set it a fatal exception will be
	 raised, even if value is true.

       $object->sync()
	 Async mode is required, this call will cause a fatal exception.

       $object->sock()
	 This call will throw a fatal exception.

	 Because POE is being used to handle socket communications I have
	 chosen to not expose the raw socket at this time.

CALLBACK SEMANTICS
       The callback semantics documented here are for reference, the callbacks
       are handled by Net::LDAP and I've only documented them for reference
       here. The exception to this is the callback for new() which does not
       exist in Net::LDAP, and thus I have defined myself.

       new =item connect
	 No arguments are passed to indicate that an existing connection has
	 been closed.

	 The first argument is a boolean indicator of whether a connection has
	 succeeded or failed. The second argument contains the host spec used
	 to attempt the connection.

	 In the case of a success the third and fourth arguments contain the
	 address and port connected to respectively.

	 In the case of a failure the third argument contains the name of the
	 operation that failed, and the fourth and fifth arguments hold
	 numeric and string values of $! respectively.

       search
	 The first argument is always the Net::LDAP::Search object presiding
	 over this search run. The 'done' method on this object may be
	 consulted to know when all the possible replies have been received.

	 The second and following arguments are Net::LDAP::Entry objects
	 returned from the search.

       others
	 Forthcoming

BUGS
       Failures of many kinds are not very well handled at this time, also
       canceling running connection requests is not implemented.

AUTHOR
       Jonathan Steinert hachi@cpan.org

LICENSE
       Copyright 2004 Jonathan Steinert (hachi@cpan.org)

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.14.1			  2006-01-17   POE::Component::Client::LDAP(3)
[top]

List of man pages available for Fedora

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net