#!/usr/bin/perl -w

##############################################
# Perl bindings test suite:
#
# o Try to run perl script with OpenMsgStore only
#
# Copyright Julien Kerihuel 2007.
# <j.kerihuel@openchange.org>
#
# released under GNU GPL


use strict;
use mapi;

package mapi;

my $retval;

sub mapi_init()
{
    my $profdb;
    my $profname;
    my $password = ();
    my $flag = 0;
    my $session = new_mapi_session_t();

    print "Initializing MAPI\n";
    $profdb = sprintf("%s/.openchange/profiles.ldb", $ENV{HOME});

    # Initialize MAPI library
    $retval = MAPIInitialize($profdb);
    mapi_errstr("MAPIInitialize", GetLastError());

    # Activate MAPI decoding
    lw_dumpdata();

    # Retrieve default profile name
    ($retval, $profname) = GetDefaultProfile();
    mapi_errstr("GetDefaultProfile", GetLastError());

    $retval = MapiLogonEx($session, $profname, $password);
    mapi_errstr("MapiLogonEx", $retval);
}

sub mapi_finalize()
{
    MAPIUninitialize();
}

sub mapi_msgstore()
{
    ## Open Message Store
    my $obj_store = new_mapi_object();
    $retval = OpenMsgStore($obj_store);
    mapi_errstr("OpenMsgStore", GetLastError());

    delete_mapi_object($obj_store);
}

&mapi_init();
&mapi_msgstore();
&mapi_finalize();
