#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include "rpcclt_openapi.h"
#include "proc_util.h"
#define MAX_STR_LEN 256
{
const uint32_t testDBSize = 5;
uint32_t counter = 0;
uint32_t index = 0;
const uint32_t maxStrLen = MAX_STR_LEN;
char *keyAppDbName = "databaseExample";
char keyStr[MAX_STR_LEN + 1] = {'\0'};
char dataStr[MAX_STR_LEN + 1] = {'\0'};
open_buffdesc appDbName = {(strnlen(keyAppDbName, maxStrLen) + 1), keyAppDbName};
{
{(strnlen("keyName1", maxStrLen) + 1), "keyName1"},
{(strnlen("keyName2", maxStrLen) + 1), "keyName2"},
{(strnlen("keyName3", maxStrLen) + 1), "keyName3"},
{(strnlen("keyName4", maxStrLen) + 1), "keyName4"},
{(strnlen("keyName5", maxStrLen) + 1), "keyName5"}
};
{
{(strnlen("data1", maxStrLen) + 1), "data1"},
{(strnlen("data2", maxStrLen) + 1), "data2"},
{(strnlen("data3", maxStrLen) + 1), "data3"},
{(strnlen("data4", maxStrLen) + 1), "data4"},
{(strnlen("data5", maxStrLen) + 1), "data5"}
};
{
printf(
"Creating new database: %s FAILURE\n", (
char *) appDbName.
pstart);
printf("Test openapiUserAppConfigDbGetNext() function was finished.\n");
return;
}
while (index < testDBSize)
{
printf("Key name: %s\n", (char *) keys[index].pstart);
printf("Key size: %u\n", keys[index].size);
printf("Data: %s\n", (char *) dataArr[index].pstart);
printf("Data size: %u\n", dataArr[index].size);
{
printf("Applying entry to database: %s, with keyname: %s, and value: %s SUCCESS\n", (char *) appDbName.pstart,
(char *) keys[index].pstart, (char *) dataArr[index].pstart);
}
else
{
printf("Applying entry to database: %s, with keyname: %s, and value: %s FAILURE\n", (char *) appDbName.pstart,
(char *) keys[index].pstart, (char *) dataArr[index].pstart);
printf("Test openapiUserAppConfigDbGetNext() function was finished.\n");
return;
}
index++;
}
switch (result)
{
printf("First element key: %s\n", (char *) key.pstart);
printf(
"First element key size: %u\n", key.
size);
printf("First element key data: %s\n", (char *) data.pstart);
break;
printf("OPEN_E_PARAM: Invalid input parameters.\n");
break;
printf("OPEN_E_NOT_FOUND: Application DB was not found.\n");
break;
printf("OPEN_E_UNAVAIL: Item with specified keyName wasn't found.\n");
break;
default:
printf("OPEN_E_FAIL: Internal error.\n");
break;
}
snprintf(key.pstart, maxStrLen, "keyName3");
key.size = maxStrLen;
memset(data.pstart, 0, maxStrLen);
data.size = maxStrLen;
switch (result)
{
printf("Next element key: %s\n", (char *) key.pstart);
printf("Next element key size: %u\n", key.size);
printf("Next element key data: %s\n", (char *) data.pstart);
break;
printf("OPEN_E_PARAM: Invalid input parameters.\n");
break;
printf("OPEN_E_NOT_FOUND: Application DB was not found.\n");
break;
printf("OPEN_E_UNAVAIL: Item with specified keyName wasn't found.\n");
break;
default:
printf("OPEN_E_FAIL: Internal error.\n");
break;
}
snprintf(key.pstart, maxStrLen, "keyName2");
memset(data.pstart, 0, maxStrLen);
data.size = maxStrLen;
do
{
key.size = maxStrLen;
switch (result)
{
printf("Number of element: %u\n", counter);
printf("Next key: %s\n", (char *) key.pstart);
printf("Next key size: %u\n", key.size);
printf("Next key data: %s\n------------------------------------\n", (char *) data.pstart);
counter++;
break;
printf("OPEN_E_PARAM: Invalid input parameters.\n");
break;
printf("OPEN_E_NOT_FOUND: Application DB was not found.\n");
break;
printf("OPEN_E_UNAVAIL: Item with specified keyName wasn't found.\n");
break;
default:
printf("OPEN_E_FAIL: Internal error.\n");
break;
}
{
printf("Deleting database: %s SUCCESS\n", (char *) appDbName.pstart);
}
else
{
printf("Deleting database: %s FAILURE\n", (char *) appDbName.pstart);
}
}
int main(int argc, char **argv)
{
char *keyAppDbName = "database_example";
char *keyNameMode = "entry_example";
char *keyData = "data_example";
char switch_os_revision_string[100];
l7proc_crashlog_register();
char datagt[100] = "\0";
{
printf("\nFailed to initialize RPC to OpEN. Exiting result = %d\n", result);
exit(2);
}
{
sleep(1);
}
printf("\n");
switch_os_revision.pstart = switch_os_revision_string;
switch_os_revision.size = sizeof(switch_os_revision_string);
{
printf("Network OS version = %s\n", switch_os_revision_string);
}
else
{
printf("Network OS version retrieve error\n");
}
printf("\n");
open_buffdesc appDbName = {strnlen(keyAppDbName, MAX_STR_LEN) + 1,
keyAppDbName};
keyData};
{
printf("Creating new database: %s SUCCESS\n",(char *) appDbName.pstart);
}
else
{
printf("Creating new database: %s FAILURE\n",(char *) appDbName.pstart);
}
keyName.size = strlen(keyNameMode)+1;
keyName.pstart = keyNameMode;
dataget.size = 100;
dataget.pstart = datagt;
{
printf("Applying entry to database: %s, with keyname: %s, and value: %s SUCCESS\n", (char *) appDbName.pstart,
(char *) keyName.pstart, (char *) data.pstart);
}
else
{
printf("Applying entry to database: %s, with keyname: %s, and value: %s FAILURE\n", (char *) appDbName.pstart,
(char *) keyName.pstart, (char *) data.pstart);
}
{
printf("Fetching value for keyname: %s SUCCESS\n",(char *) keyName.pstart);
}
else
{
printf("Fetching value for keyname: %s FAILURE\n",(char *) keyName.pstart);
}
printf("\n-------Test openapiUserAppConfigDbGetNext() function-------\n");
testUserAppConfigDbGetNext(&clientHandle);
printf("-------Test openapiUserAppConfigDbGetNext() function-------\n\n");
{
printf("Removing entry for keyname: %s SUCCESS\n",(char *) keyName.pstart);
}
else
{
printf("Removing entry for keyname: %s FAILURE\n",(char *) keyName.pstart);
}
{
printf("Fetching value for keyname: %s exist FAILURE\n", (char *) keyName.pstart);
}
else
{
printf("Fetching value for keyname: %s doesn't exist SUCCESS\n", (char *) keyName.pstart);
}
{
printf("Deleting database: %s SUCCESS\n", (char *) appDbName.pstart);
}
else
{
printf("Deleting database: %s FAILURE\n", (char *) appDbName.pstart);
}
L7PROC_LOGF(L7PROC_LOG_SEVERITY_INFO, 0, "Stopping userapp example application");
return 0;
}