SOL9 Sample: DnsSoaRecordQuery

SOL9 2.0 Samples

1 Screenshot


2 Source code

/*
 * DnsSoaRecordQuery.cpp 
 * Copyright (c) 2011 Antillia.com TOSHIYUKI ARAI. ALL RIGHTS RESERVED. 
 */


// SOL9
// 2011/1/1
// 2011/1/14 Updated
// 2011/1/18 Modified to use DnsRecordueryT class

#include <sol/WSAInitializer.h>
#include <sol/dns/DnsRecordQueryT.h>
#include <sol/Locale.h>

namespace SOL {

class DnsSoaRecordQuery :public Object {
private:
    DnsRecordQueryT<DNS_SOA_DATA> dns;

public:
    /**
     * Constructor
     */
    DnsSoaRecordQuery()
        :dns(DNS_TYPE_SOA)
    {
    }

public:
    ~DnsSoaRecordQuery()
    {
    }

public:
    void start(const TCHAR* hostDomain)
    {
        int count = dns.query(hostDomain);

        _tprintf(_T("All DNS_SOA_DATA(count=%d)\n"), count);                
        dns.display();
        
        //Get the first DNS_SOA_DATA
        DNS_SOA_DATA data;
        dns.getFirst(data);
        
        //Display a structure data of DNS_SOA_DATA 
        _tprintf(_T("\nFirst DNS_SOA_DATA\n"));
        DnsData dnsData;
        dnsData.display(data);
    }
};

}



void _tmain(int argc, TCHAR** argv)
{
    if (argc !=2) {
        _tprintf(_T("Usage:%s hostDomain\n"), argv[0]);
        _tprintf(_T("Ex: %s google.com\n"), argv[0]);
        return;
    }
    WSAInitializer initializer;
    Locale locale;

    try {
        DnsSoaRecordQuery recordQuery;

        recordQuery.start(argv[1]);

    } catch (Exception& ex) {
        ex.printf();
    } catch (...) {
        _tprintf(_T("Exception\n"));
    }
}

Last modified: 29 Jan 2011

Copyright (c) 2011 Antillia.com ALL RIGHTS RESERVED.