//Editor-Info: -*- C++ -*-
//
//Subject: TOVE project / ILMI/ASN
//
//File: asnutiltest.cpp
//
//Version: $Revision: 1.6 $
//
//State: $State: Exp $
//
//Date: $Date: 1998/07/09 13:15:57 $
//
//Organisation:
//      Helsinki University of Technology
//      Laboratory of Telecommunications Software and Multimedia
//
//Author:
//      Timo Pärnänen
//
//Description:
//      Test program for asnUtil class.
//
//Copyright:
//
//
//Licence:
//
//
//History: 

#include <typeinfo>
#include <iostream.h>
#include <string>
#include <asn-incl.h>

#include "protocol/ilmi/asn/asnutil.h"

//
// main function
//

int main(void)
{
// Uncomment while loop to check possible memory leaking
// with Linux top program.
//

//    while (1)  
//    {
    string string_1("1.3.6.1.4.1.353.2.6.1.1.3");
    
    AsnOid oid = asnUtil::stringToAsnOid(string_1);
    
    cout << "string before conversion : " << string_1 << endl;
    cout << "AsnOid Print method : ";
    oid.Print(cout);
    cout << endl;
    
    string string_2 = asnUtil::asnOidToString(oid);
    cout << "string after conversion : " << string_1 << endl;
    
    asnUtil::oidList list;
    asnUtil::asnOidToList(oid, list);
    
    asnUtil::oidListIterator iter;
    cout << "oidList : ";
    for (iter = list.begin(); iter != list.end(); iter++)
    {
        cout << *iter << " ";
    }
    cout << endl;

    cout << "list[1] = " << list[1] << endl;    

    AsnOid oid2 = asnUtil::listToAsnOid(list);
    cout << "AsnOid Print method : ";
    oid2.Print(cout);
    cout << endl;

    string string_3 = asnUtil::listToString(list);
    cout << "string = listToString(list) : " << string_3 << endl;
    
//    }

    return 0;
}
