NAME

Net::Radio::oFono::NetworkRegistration - provide NetworkRegistration interface for Modem objects

SYNOPSIS

my $oFono = Net::Location::oFono->new();
my @modems = Net::Location::oFono->get_modems();
# show default network information
foreach my $modem_path (@modems) {
  my $netreg = Net::Location::oFono->get_modem_interface($modem_path, "NetworkRegistration");
  say "Status: ", $netreg->GetProperty("Status"),
      "Name: ", $netreg->GetProperty("Name"),
      "LocationAreaCode: ", $netreg->GetProperty("LocationAreaCode"),
      "CellId: ", $netreg->GetProperty("CellId"),
      "Technology: ", $netreg->GetProperty("Technology"),
      "MobileCountryCode: ", $netreg->GetProperty("MobileCountryCode"),
      "MobileNetworkCode: ", $netreg->GetProperty("MobileNetworkCode");
}

# show each available network
foreach my $modem_path (@modems) {
  my $netreg = Net::Location::oFono->get_modem_interface($modem_path, "NetworkRegistration");
  my %operators = $netreg->GetOperators();
  foreach my $oper_path (keys %operators) {
    my $oper = $netreg->GetOperator($oper_path);
    say "Status: ", $oper->GetProperty("Status"),
        "Name: ", $oper->GetProperty("Name"),
        "MobileCountryCode: ", $oper->GetProperty("MobileCountryCode"),
        "MobileNetworkCode: ", $oper->GetProperty("MobileNetworkCode"),
        "Technologies: ", join("/", $oper->GetProperty("Technologies"));
  }
}

INHERITANCE

Net::Radio::oFono::NetworkRegistration
ISA Net::Radio::oFono::Modem
  ISA Net::Radio::oFono::Helpers::EventMgr
  DOES Net::Radio::oFono::Roles::RemoteObj
  DOES Net::Radio::oFono::Roles::Manager

METHODS

See ofono/doc/network-api.txt for valid properties and detailed action description and possible errors.

_init($obj_path)

GetOperators(;$force)

Retrieve array of operator object and properties.

This method can be used to retrieve the current operator list. This is either an empty list (when not registered to any network) or a list with one or more operators (when registered).

This list will also return (by oFono) cached values of previously seen networks. Manual updates to list can only be done via the Scan() method call.

Set the $force parameter to a true value when no D-Bus main loop is running and signal handling might be incomplete.

Returns a hash with object paths of the operators as key and their current properties as hash reference as value.

This method is injected by Net::Radio::oFono::Roles::Manager as an alias for Net::Radio::oFono::Roles::Manager/GetObjects(;$force).

GetOperator($obj_path;$force)

Returns an instance of the specified Net::Radio::oFono::NetworkOperator.

Set the $force parameter to a true value when no D-Bus main loop is running and signal handling might be incomplete.

This method is injected by Net::Radio::oFono::Roles::Manager as an alias for Net::Radio::oFono::Roles::Manager/GetObject($object_path;$force).

Register()

Attempts to register to the default network. The default network is normally selected by the settings from the SIM card.

To register into another network, invoke Register() on a Net::Radio::oFono::NetworkOperator instance returned via GetOperators().

Scan()

Runs a network operator scan to discover the currently available operators. This operation can take several seconds, and up to several minutes on some modems. This can be used to help the user determine what is the best operator to use if forced to roam on a foreign network.

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:

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.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 113:

alternative text 'Net::Radio::oFono::Roles::Manager/GetObjects(;$force)' contains non-escaped | or /

Around line 123:

alternative text 'Net::Radio::oFono::Roles::Manager/GetObject($object_path;$force)' contains non-escaped | or /