NAME
Net::Radio::oFono::Roles::Properties - generic property access for remote oFono objects
DESCRIPTION
This package provides a role for being added to classes which need to access properties of remote dbus objects of oFono. Currently no separate role for read-only access is available.
SYNOPSIS
package Net::Radio::oFono::NewInterface;
use base qw(Net::Radio::oFono::Helpers::EventMgr? Net::Radio::oFono::Roles::RemoteObj Net::Radio::oFono::Roles::Properties ...);
use Net::DBus qw(:typing);
sub new
{
my ( $class, %events ) = @_;
my $self = $class->SUPER::new(%events); # SUPER::new finds first - so EventMgr::new
bless( $self, $class );
$self->_init();
return $self;
}
sub _init
{
my $self = $_[0];
# initialize roles
$self->Net::Radio::oFono::Roles::RemoteObj::_init( "/modem_0", "org.ofono.NewInterface" ); # must be first one
$self->Net::Radio::oFono::Roles::Properties::_init();
...
return;
}
sub DESTROY
{
my $self = $_[0];
# destroy roles
...
$self->Net::Radio::oFono::Roles::Properties::DESTROY(); # must be last one
$self->Net::Radio::oFono::Roles::RemoteObj::DESTROY(); # must be last one
# destroy base class
$self->Net::Radio::oFono::Helpers::EventMgr::DESTROY();
return;
}
EVENTS
Following events are triggered by this role:
- ON_PROPERTY_CHANGED
-
Triggered when a property has been changed. Submits the name of the changed property to the listener.
- ON_PEROPERTY_ . uc($property_name) . _CHANGED
-
Triggered when a property has been changed. Submits the value of the changed property to the listener.
METHODS
_init
Initializes the properties api (connects to PropertyChanged signal of remote object).
onPropertyChanged
Callback method used when the signal PropertyChanged
is received. Can be overwritten to implement other or enhanced behavior.
Updates properties cache
Triggers signals on property change
GetProperties(;$force)
Returns the properties of the remote object.
When invoked with a true value as first argument, the properties are refreshed from the remote object.
Returns the properties hash in array more and the reference to the properties hash in scalar mode.
- TODO
-
Return cloned properties to avoid dirtying the local cache ...
GetProperty($property_name;$force)
Returns the requested property of the remote object.
When invoked with a true value as second argument, the properties are refreshed from the remote object.
SetProperty($property_name,$new_value)
Sets the specified property of the remote object to the specified value. Note that some values needs special encapsulation using dbus_type(). The property name is automatically encapsulated using dbus_string
.
See the appropriate interface documentation in oFono to learn the types to use.
SetProperties(%property_hash)
Sets all specified properties using "SetProperty".
BUGS
Please report any bugs or feature requests to bug-net-radio-ofono at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-Radio-oFono. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
If you think you've found a bug then please read "How to Report Bugs Effectively" by Simon Tatham: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Net::Radio::oFono
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-Radio-oFono
If you think you've found a bug then please read "How to Report Bugs Effectively" by Simon Tatham: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html.
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
Where can I go for help with a concrete version?
Bugs and feature requests are accepted against the latest version only. To get patches for earlier versions, you need to get an agreement with a developer of your choice - who may or not report the issue and a suggested fix upstream (depends on the license you have chosen).
Business support and maintenance
For business support you can contact Jens via his CPAN email address rehsackATcpan.org. Please keep in mind that business support is neither available for free nor are you eligible to receive any support based on the license distributed with this package.
ACKNOWLEDGEMENTS
At first the guys from the oFono-Team shall be named: Marcel Holtmann and Denis Kenzior, the maintainers and all the people named in ofono/AUTHORS. Without their effort, there would no need for a Net::Radio::oFono module.
Further, Peter "ribasushi" Rabbitson helped a lot by providing hints and support how to make this API accessor a valuable CPAN module.
AUTHOR
Jens Rehsack, <rehsack at cpan.org>
LICENSE AND COPYRIGHT
Copyright 2012 Jens Rehsack.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.