Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Database;
- use Modern::Perl '2012';
- use DateTime;
- use DateTime::Format::Pg;
- use MIME::Base64;
- use Digest::CRC;
- use Log::Log4perl;
- use Local_DB;
- use Try::Tiny;
- #-------------------------------------------------------------------------------
- # Initialize logger
- #-------------------------------------------------------------------------------
- my $log_conf = "log4perl.conf";
- Log::Log4perl::init($log_conf);
- my $logger = Log::Log4perl->get_logger();
- $Log::Log4perl::JOIN_MSG_ARRAY_CHAR = " <*> ";
- #-------------------------------------------------------------------------------
- # Database connection
- #-------------------------------------------------------------------------------
- my $dbh = Local_DB::get_connection();
- #=== FUNCTION ================================================================
- # NAME: _pending_jobs
- # PURPOSE: Check for pending jobs from database
- # PARAMETERS: $imei: IMEI
- # RETURNS: true/false
- # DESCRIPTION: Check if any pending jobs are on queue from database
- # THROWS: no exceptions
- # COMMENTS: none
- # SEE ALSO: n/a
- #===============================================================================
- sub _check4pending {
- my ( $imei ) = @_;
- my $sql = qq#
- SELECT COUNT(action_id)
- FROM fp_action_log ac
- WHERE action IN ('ADD_AMEND', 'DELETE', 'DELETE_ALL', 'FIRMWARE')
- AND status = 'pending'
- AND imei = :imei
- #;
- my $sth = $dbh->prepare($sql) or
- die "Can't prepare SQL statement: $DBI::errstr\n";
- $sth->bind_param(':imei', $imei);
- $sth->execute() or
- die "Can't execute SQL statement: $DBI::errstr\n";
- my $jobs = $sth->fetchrow_arrayref()->[0];
- $sth->finish;
- return $jobs;
- }
- <!-- snip -->
- sub _assemble_package {
- my ( $heap, $pkg_h, $sig_inc ) = @_;
- $heap->{package_id} + 1 > 255
- ? $heap->{package_id} = 1
- : $heap->{package_id} += 1;
- my $pkg;
- if ( $sig_inc eq "Y" ) {
- $heap->{sig_id} += 1;
- $pkg =
- $pkg_h->{length}
- . pack( "C", $heap->{package_id} )
- . $pkg_h->{content}
- . pack( "N", $heap->{sig_id} )
- . ( $pkg_h->{t_part} || '' );
- }
- else {
- $pkg =
- $pkg_h->{length}
- . pack( "C", $heap->{package_id} )
- . $pkg_h->{content};
- }
- $logger->debug( "PackageOUT[" . join( ' ', unpack( "(H2)*", $pkg ) ) . "]",
- $heap->{imei} || "" );
- return $pkg;
- }
- 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement