126 lines
4.2 KiB
C++
126 lines
4.2 KiB
C++
//----------------------------------------------------------------------------
|
||
//
|
||
// Copyright (C) 2008 Intel Corporation
|
||
//
|
||
// File: EventManagerSample.cpp
|
||
//
|
||
// Contents: Sample code for an Intel<65> AMT Network client.
|
||
//
|
||
//----------------------------------------------------------------------------
|
||
#include "EventManagerSample.h"
|
||
#include "EventManagerFlow.h"
|
||
#include "CommonDefinitions.h"
|
||
#include "CmdLineArguments.h"
|
||
|
||
// Include from CIM Framework
|
||
#include "CimOpenWsmanClient.h"
|
||
|
||
#include <Windows.h>
|
||
|
||
using namespace std;
|
||
using namespace Intel::WSManagement;
|
||
using namespace Intel::Manageability::Cim::Typed;
|
||
using namespace Intel::Manageability::Exceptions;
|
||
|
||
int main(int argc, char* argv[])
|
||
{
|
||
// set default dll lookup directory to system
|
||
SetDefaultDllDirectories(LOAD_LIBRARY_SEARCH_SYSTEM32);
|
||
|
||
PT_STATUS status = PT_STATUS_SUCCESS;
|
||
|
||
CmdLineArguments::Format format;
|
||
// Add the general arguments
|
||
format.AddArg(CMD_VERBOSE, false, false, false, "");
|
||
format.AddArg(CMD_USER, true, false, false, "");
|
||
format.AddArg(CMD_PASS, true, false, false, "");
|
||
format.AddArg(CMD_CERT_NAME, true, false, false, "");
|
||
format.AddArg(CMD_HOST, true, true, false, "");
|
||
format.AddArg(CMD_TLS, false, false, false, "");
|
||
format.AddArg(CMD_KRB, false, false, false, "");
|
||
format.AddArg(CMD_PROXY, true, false, false, "");
|
||
format.AddArg(CMD_PROXY_USERNAME, true, false, false, "");
|
||
format.AddArg(CMD_PROXY_PASS, true, false, false, "");
|
||
format.AddArg(CMD_ACCEPT_SELF_CIGNED_CERT, false, false, false, "");
|
||
|
||
if (argc == 1)
|
||
{
|
||
cout << format.CreateUsage(argv[0]);
|
||
return status;
|
||
}
|
||
|
||
try
|
||
{
|
||
CmdLineArguments cmdLineArguments;
|
||
cmdLineArguments.Parse(argc, argv, format,false);
|
||
CimOpenWsmanClient wsmanClient( cmdLineArguments.GetArgValue(CMD_HOST),
|
||
cmdLineArguments.ArgExists(CMD_TLS) ? AMT_SECURE_PORT : AMT_UNSECURE_PORT,
|
||
cmdLineArguments.ArgExists(CMD_TLS),
|
||
cmdLineArguments.ArgExists(CMD_KRB) ? KERBEROS : DIGEST,
|
||
cmdLineArguments.GetArgValue(CMD_USER),
|
||
cmdLineArguments.GetArgValue(CMD_PASS),
|
||
cmdLineArguments.ArgExists(CMD_PROXY) ? cmdLineArguments.GetArgValue(CMD_PROXY): "",
|
||
cmdLineArguments.ArgExists(CMD_PROXY_USERNAME) ? cmdLineArguments.GetArgValue(CMD_PROXY_USERNAME): "",
|
||
cmdLineArguments.ArgExists(CMD_PROXY_PASS) ? cmdLineArguments.GetArgValue(CMD_PROXY_PASS): "",
|
||
false, // Local certificate store
|
||
cmdLineArguments.ArgExists(CMD_CERT_NAME) ? cmdLineArguments.GetArgValue(CMD_CERT_NAME): "",
|
||
cmdLineArguments.ArgExists(CMD_LOCAL) ? OID_LOCAL : OID_REMOTE,
|
||
cmdLineArguments.ArgExists(CMD_ACCEPT_SELF_CIGNED_CERT));
|
||
|
||
int numOfFilters = 0;
|
||
|
||
bool verbose = cmdLineArguments.ArgExists(CMD_VERBOSE);
|
||
|
||
EnumerateEventFilter(&wsmanClient, numOfFilters, verbose);
|
||
|
||
AMT_PETFilterSetting petFilterObj(&wsmanClient);
|
||
|
||
if (numOfFilters < MAX_FILTERS)
|
||
{
|
||
CreateEventFilter(petFilterObj, verbose);
|
||
DeleteEventFilter(petFilterObj, verbose);
|
||
}
|
||
else
|
||
{
|
||
printf("\nWarning: Skipping the creation and deletion of a filter since there are\n\t already maximum filters.\n");
|
||
}
|
||
}
|
||
catch (CimException& exp)
|
||
{
|
||
cerr << "--------------------CimException--------------------" << endl;
|
||
cerr << exp.what() << endl;;
|
||
status = PTSDK_STATUS_NETWORK_ERROR;
|
||
}
|
||
catch (ConversionException &exp)
|
||
{
|
||
cerr << "--------------------ConversionException--------------------" << endl;
|
||
cerr << exp.what() << endl;
|
||
status = PTSDK_STATUS_NETWORK_ERROR;
|
||
}
|
||
catch (CmdLineException &exp)
|
||
{
|
||
cerr << "--------------------CmdLineException--------------------" << endl;
|
||
cerr << exp.what() << endl;;
|
||
status = PTSDK_STATUS_NETWORK_ERROR;
|
||
cout << endl << format.CreateUsage(argv[0]);
|
||
}
|
||
catch (WSManException &exp)
|
||
{
|
||
cerr << "--------------------GeneralWsmanException--------------------" << endl;
|
||
cerr << "Exception string error: " << exp.what()<< endl;
|
||
status = PTSDK_STATUS_NETWORK_ERROR;
|
||
}
|
||
catch (HTTPException &exp)
|
||
{
|
||
cerr << "--------------------HTTPException--------------------" << endl;
|
||
cerr << "Exception string error: " << exp.what()<< endl;
|
||
status = PTSDK_STATUS_NETWORK_ERROR;
|
||
}
|
||
catch (const exception &exp)
|
||
{
|
||
cerr << "--------------------std::exception--------------------" << endl;
|
||
cerr << exp.what() << endl;;
|
||
status = PTSDK_STATUS_NETWORK_ERROR;
|
||
}
|
||
return status;
|
||
} |