NAME
Mobile::Libwurfl - Perl bindings to the commercial wurfl library (from ScientiaMobile)
SYNOPSIS
use Wurfl;
$wurfl = Wurfl->new();
###
# optionally you can set the engine mode or the cache_provider
# (refer to libwurfl documentation for more details)
$err = $wurfl->set_engine(WURFL_ENGINE_TARGET_HIGH_PERFORMANCE);
if ($err != WURFL_OK) {
die $wurfl->error_message;
}
$err = $wurfl->set_cache_provider(WURFL_CACHE_PROVIDER_DOUBLE_LRU, "10000,3000");
if ($err != WURFL_OK) {
die $wurfl->error_message;
}
####
$wurfl->load("/usr/share/wurfl/wurfl.xml");
# you can also provide the database file directly to the constructor
# (default engine mode and cache provider will be used)
$wurfl = Wurfl->new("/usr/share/wurfl/wurfl.xml");
$device = $wurfl->lookup_useragent(USERAGENT);
# get an hashref with all known capabilities
$capabilities = $device->capabilities;
# or access a specific capability directly
$viewport_width = $device->get_capability('viewport_width');
All functions from libwurfl have been mapped, refer to the
Mobile::Libwurfl::Device documentation for a list of methods
DESCRIPTION
Perl bindings to the commercial C library to access wurfl databases
METHODS
new ($dbfile)
Creates a new Wurfl object. if $dbfile is provided it will be immediately loaded using the default engine mode and cache provider
load ($dbfile)
Load the database file at the path pointed by $dbfile
lookup_useragent ($ua_string)
Returns a Mobile::Libwurfl::Device object representing the best match for the provided useragent string
get_device ($id)
Returns a new Mobile::Libwurfl::Device object for the provided device id (if any)
set_engine ($mode)
Sets the engine mode. This method can be called only before loading a database file. If called once a database file has been already loaded WURFL_ERROR_ALREADY_LOAD will be returned
Valid values for the $mode argument are : WURFL_ENGINE_TARGET_HIGH_ACCURACY and WURFL_ENGINE_TARGET_HIGH_ACCURACY
set_cache_provider ($provider, $config)
Sets and configure the cache provider. This method can be called only before loading a database file. If called once a database file has been already loaded WURFL_ERROR_ALREADY_LOAD will be returned
Valid values for the $mode argument are : WURFL_CACHE_PROVIDER_NONE, WURFL_CACHE_PROVIDER_LRU and WURFL_CACHE_PROVIDER_DOUBLE_LRU
Check libwurfl documnetation for further details on their meaning and what expected in the $config param.
error_message ()
has_error_message ()
clear_error_message ()
add_patch ($patch_file)
EXPORT
WURFL_CACHE_PROVIDER_DOUBLE_LRU
WURFL_CACHE_PROVIDER_LRU
WURFL_CACHE_PROVIDER_NONE
WURFL_ENGINE_TARGET_HIGH_ACCURACY
WURFL_ENGINE_TARGET_HIGH_PERFORMANCE
WURFL_ERROR_ALREADY_LOAD
WURFL_ERROR_CANT_LOAD_CAPABILITY_NOT_FOUND
WURFL_ERROR_CANT_LOAD_VIRTUAL_CAPABILITY_NOT_FOUND
WURFL_ERROR_CAPABILITY_GROUP_MISMATCH
WURFL_ERROR_CAPABILITY_GROUP_NOT_FOUND
WURFL_ERROR_CAPABILITY_NOT_FOUND
WURFL_ERROR_DEVICE_ALREADY_DEFINED
WURFL_ERROR_DEVICE_HIERARCHY_CIRCULAR_REFERENCE
WURFL_ERROR_DEVICE_NOT_FOUND
WURFL_ERROR_EMPTY_ID
WURFL_ERROR_FILE_NOT_FOUND
WURFL_ERROR_INPUT_OUTPUT_FAILURE
WURFL_ERROR_INVALID_CAPABILITY_VALUE
WURFL_ERROR_INVALID_HANDLE
WURFL_ERROR_INVALID_PARAMETER
WURFL_ERROR_UNEXPECTED_END_OF_FILE
WURFL_ERROR_UNKNOWN
WURFL_ERROR_USERAGENT_ALREADY_DEFINED
WURFL_ERROR_VIRTUAL_CAPABILITY_NOT_FOUND
WURFL_MATCH_TYPE_CACHED
WURFL_MATCH_TYPE_CATCHALL
WURFL_MATCH_TYPE_CONCLUSIVE
WURFL_MATCH_TYPE_EXACT
WURFL_MATCH_TYPE_HIGHPERFORMANCE
WURFL_MATCH_TYPE_NONE
WURFL_MATCH_TYPE_RECOVERY
WURFL_OK
SEE ALSO
Mobile::Libwurfl::Device
AUTHOR
Andrea Guzzo, <xant@xant.net>
COPYRIGHT AND LICENSE
Copyright (C) 2013 by Andrea Guzzo
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.14.2 or, at your option, any later version of Perl 5 you may have available.
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 276:
You forgot a '=back' before '=head2'