/*
 * NET-SNMP demo
 *
 * This program demonstrates different ways to query a list of hosts
 * for a list of variables.
 *
 * It would of course be faster just to send one query for all variables,
 * but the intention is to demonstrate the difference between synchronous
 * and asynchronous operation.
 *
 * Niels Baggesen (Niels.Baggesen@uni-c.dk), 1999.
 */

#ifndef SNMPWALK_BROWSER_H
#define SNMPWALK_BROWSER_H

#include <string>
#include <vector>
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>

/*
 * a list of hosts to query
 */
struct HostNode
{
	const char *name;
	const char *community;
};
// HostNode hosts[] = {
// 	{ "192.168.17.90", "public" },
// 	{ NULL }
// };

/*
 * a list of variables to query for
 */
struct OidNode
{
    const char *Name;
    oid Oid[MAX_OID_LEN];
    int OidLen;
};
// struct OidNode oids[] = {
// 	{ "1.3.6.1.2.1.4.20.1.1" },
// 	{ "1.3.6.1.2.1.4.20.1.3" },
// 	{ "1.3.6.1.2.1.1.5" },
// 	{ "1.3.6.1.2.1.43.9.2.1.8" },
// 	{ "1.3.6.1.2.1.25.3.2.1.3" },
// 	{ "1.3.6.1.2.1.43.5.1.1.17" },
// 	{ NULL }
// };



int snmpwalkBrowser_initialize(std::vector<OidNode>  &oids);

int snmpwalkBrowser_synchronous(std::vector<std::string>    &buf,
                            const std::vector<HostNode> &hosts,
                            std::vector<OidNode>        &oids);

#endif // SNMPWALK_BROWSER_H
