本文整理汇总了C++中LogError函数的典型用法代码示例。如果您正苦于以下问题:C++ LogError函数的具体用法?C++ LogError怎么用?C++ LogError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了LogError函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: sendDeviceRegistryInfo
static BUFFER_HANDLE sendDeviceRegistryInfo(IOTHUB_ACCOUNT_INFO* accountInfo, BUFFER_HANDLE deviceBuffer, HTTPAPI_REQUEST_TYPE requestType)
{
BUFFER_HANDLE result;
STRING_HANDLE accessKey = STRING_construct(accountInfo->sharedAccessKey);
STRING_HANDLE uriResouce = STRING_construct(accountInfo->hostname);
STRING_HANDLE keyName = STRING_construct(accountInfo->keyName);
if (accessKey != NULL && uriResouce != NULL && keyName != NULL)
{
HTTPAPIEX_SAS_HANDLE httpHandle = HTTPAPIEX_SAS_Create(accessKey, uriResouce, keyName);
if (httpHandle != NULL)
{
HTTPAPIEX_HANDLE httpExApi = HTTPAPIEX_Create(accountInfo->hostname);
if (httpExApi == NULL)
{
LogError("Failure creating httpApiEx with hostname: %s.\r\n", accountInfo->hostname);
result = NULL;
}
else
{
char relativePath[256];
if (sprintf_s(relativePath, 256, RELATIVE_PATH_FMT, accountInfo->deviceId, URL_API_VERSION) <= 0)
{
LogError("Failure creating relative path.\r\n");
result = NULL;
}
else
{
unsigned int statusCode = 0;
// Send PUT method to url
HTTP_HEADERS_HANDLE httpHeader = getContentHeaders((deviceBuffer == NULL) ? true : false);
if (httpHeader == NULL)
{
result = NULL;
}
else
{
BUFFER_HANDLE responseContent = BUFFER_new();
if (HTTPAPIEX_SAS_ExecuteRequest(httpHandle, httpExApi, requestType, relativePath, httpHeader, deviceBuffer, &statusCode, NULL, responseContent) != HTTPAPIEX_OK)
{
LogError("Failure calling HTTPAPIEX_SAS_ExecuteRequest.\r\n");
result = NULL;
}
else
{
// 409 means the device is already created so we don't need
// to create another one.
if (statusCode != 409 && statusCode > 300)
{
LogError("Http Failure status code %d.\r\n", statusCode);
BUFFER_delete(responseContent);
result = NULL;
}
else
{
result = responseContent;
}
}
}
HTTPHeaders_Free(httpHeader);
}
HTTPAPIEX_Destroy(httpExApi);
}
HTTPAPIEX_SAS_Destroy(httpHandle);
}
else
{
LogError("Http Failure with HTTPAPIEX_SAS_Create.\r\n");
result = NULL;
}
}
STRING_delete(accessKey);
STRING_delete(uriResouce);
STRING_delete(keyName);
return result;
}
开发者ID:ByunggakJun,项目名称:azure-iot-sdks,代码行数:78,代码来源:iothub_account.c
示例2: while
void *ReadStdinThread( void *param )
{
(void)param;
while ( 1 )
{
char ch;
if ( read( fileno( stdin ), &ch, 1 ) < 1 )
{
LogDebug( "read of stdin failed\n" );
break;
}
gKeyboardInputReceived = true;
#if USE_I2C
if ( gDongle )
{
if ( gSerialDongleAddr == 0 )
{
Log( "Retrieving i2c address of serial dongle ...\n" );
if ( !gSerialDongle.GetI2CAddress( &gSerialDongleAddr ))
{
LogError( "Unable to retrieve serial dongle i2c address\n" );
break;
}
Log( " Serial Dongle i2c Address: 0x%02x\n", gSerialDongleAddr );
}
switch ( ch )
{
case 'c':
{
LogDebug( "Call\n" );
I2C_Adapter::Buffer writeBuf;
I2C_Adapter::Buffer readBuf;
char writeMem[ 40 ];
char readMem[ 40 ];
writeMem[ 0 ] = gSerialDongleAddr;
sprintf( &writeMem[ 1 ], "-c-%d-c-", gCounter++ );
writeBuf.data = (unsigned char *)writeMem;
writeBuf.dataLen = strlen( writeMem ) + 2; // +1 for i2c addr +1 for terminating null
readBuf.data = (unsigned char *)readMem;
readBuf.dataLen = sizeof( readMem );
if ( gSerialDongle.Call( gSlaveAddr, BL_CMD_TEST_CALL, &writeBuf, &readBuf ))
{
printf( "Call: Wrote: '%s' to 0x%02x, read '%s' from 0x%02x\n", &writeMem[ 1 ], writeMem[ 0 ], &readMem[ 1 ], readMem[ 0 ] );
}
else
{
printf( "Call: Wrote: '%s' to 0x%02x, read failed\n", &writeMem[ 1 ], writeMem[ 0 ] );
}
break;
}
case 'd':
{
LogDebug( "Download\n" );
if ( gDownloadFileName == NULL )
{
LogError( "No filename specified to download\n" );
break;
}
I2C_BootLoader bootLoader( &gSerialDongle, gSlaveAddr );
if ( !bootLoader.DownloadFile( gDownloadInfo ))
{
LogError( "Unable to download file\n" );
}
break;
}
case 'i':
{
LogDebug( "GetBootInfo\n" );
I2C_BootLoader bootLoader( &gSerialDongle, gSlaveAddr );
BootLoaderInfo_t bootInfo;
if ( bootLoader.GetBootLoaderInfo( &bootInfo ))
{
bootLoader.PrintBootLoaderInfo( bootInfo );
}
else
{
LogError( "Unable to retrieve bootloader info\n" );
}
break;
}
//.........这里部分代码省略.........
开发者ID:dhylands,项目名称:projects-old,代码行数:101,代码来源:BootHost.cpp
示例3: MakeLogo
void
MakeLogo( void )
{
register int i;
char *logoFile; /* name of logo bitmap file */
Pixmap logoPixmap; /* logo pixmap */
char *logoName; /* logo name */
int logoWidth, logoHeight; /* width, height of logo */
Pixel fg, bg; /* foreground, background colors */
Pixmap dsPixmap; /* drop shadow pixmap */
int dsWidth, dsHeight; /* width, height of drop shadow */
Pixmap pixmap; /* scratch pixmap */
GC gc; /* scratch GC */
XGCValues gcval; /* GC values */
unsigned int width, height; /* width, height of bitmap */
int x_hot, y_hot; /* bitmap hot spot (if any)*/
/*
* get the user's logo preferences...
*/
XtGetSubresources(table, &logoInfo, "logo", "Logo",
logoResources, XtNumber(logoResources), NULL, 0);
/*
* create the logo frame...
*/
i = InitArg(Frame);
XtSetArg(argt[i], XmNshadowType, XmSHADOW_OUT); i++;
XtSetArg(argt[i], XmNshadowThickness, 2); i++;
XtSetArg(argt[i], XmNtopAttachment, XmATTACH_FORM); i++;
XtSetArg(argt[i], XmNtopOffset, 15); i++;
XtSetArg(argt[i], XmNbottomAttachment, XmATTACH_FORM); i++;
XtSetArg(argt[i], XmNbottomOffset, 15); i++;
XtSetArg(argt[i], XmNrightAttachment, XmATTACH_FORM); i++;
XtSetArg(argt[i], XmNrightOffset, 15); i++;
XtSetArg(argt[i], XmNleftAttachment, XmATTACH_WIDGET); i++;
XtSetArg(argt[i], XmNleftWidget, matteFrame); i++;
logo1 = XmCreateFrame(matte, "logo", argt, i);
XtManageChild(logo1);
/*
* get the colors of the frame...
*/
XtSetArg(argt[0], XmNforeground, &fg);
XtSetArg(argt[1], XmNbackground, &bg);
XtGetValues(logo1, argt, 2);
/*
* create the logo pixmap...
*/
logoFile = logoInfo.bitmapFile;
#if defined (_AIX) && defined (_POWER)
/*
* On AIX4 we have a Dtlogo.s.pm
*/
# define LOGO_TYPE (LOWRES ? DtSMALL : 0)
#else
# define LOGO_TYPE 0
#endif
logoName = _DtGetIconFileName(DefaultScreenOfDisplay(dpyinfo.dpy),
logoFile, NULL, NULL, LOGO_TYPE);
if (logoName == NULL)
{
LogError(
ReadCatalog(MC_LOG_SET,MC_LOG_NO_LOGOBIT,MC_DEF_LOG_NO_LOGOBIT),
logoFile);
logoFile = NULL;
}
/*
* create the logo control...
*/
i = InitArg(LabelG);
XtSetArg(argt[i], XmNmarginWidth, 0); i++;
XtSetArg(argt[i], XmNmarginHeight, 0); i++;
XtSetArg(argt[i], XmNhighlightThickness, 0); i++;
XtSetArg(argt[i], XmNbehavior, XmICON_LABEL); i++;
XtSetArg(argt[i], XmNfillMode, XmFILL_TRANSPARENT); i++;
XtSetArg(argt[i], XmNstring, NULL); i++;
if (logoName != NULL)
{
XtSetArg(argt[i], XmNpixmapForeground, fg); i++;
XtSetArg(argt[i], XmNpixmapBackground, bg); i++;
//.........这里部分代码省略.........
开发者ID:juddy,项目名称:edcde,代码行数:101,代码来源:vglogo.c
示例4: LogError
bool Master::_CheckDBVersion()
{
QueryResult* wqr = WorldDatabase.QueryNA("SELECT LastUpdate FROM world_db_version ORDER BY id DESC LIMIT 1;");
if (wqr == NULL)
{
LogError("Database : World database is missing the table `world_db_version` OR the table doesn't contain any rows. Can't validate database version. Exiting.");
LogError("Database : You may need to update your database");
return false;
}
Field* f = wqr->Fetch();
const char *WorldDBVersion = f->GetString();
LogNotice("Database : Last world database update: %s", WorldDBVersion);
int result = strcmp(WorldDBVersion, REQUIRED_WORLD_DB_VERSION);
if (result != 0)
{
LogError("Database : Last world database update doesn't match the required one which is %s.", REQUIRED_WORLD_DB_VERSION);
if (result < 0)
{
LogError("Database : You need to apply the world update queries that are newer than %s. Exiting.", WorldDBVersion);
LogError("Database : You can find the world update queries in the sql/world_updates sub-directory of your AscEmu source directory.");
}
else
{
LogError("Database : Your world database is probably too new for this AscEmu version, you need to update your server. Exiting.");
}
delete wqr;
return false;
}
delete wqr;
QueryResult* cqr = CharacterDatabase.QueryNA("SELECT LastUpdate FROM character_db_version;");
if (cqr == NULL)
{
LogError("Database : Character database is missing the table `character_db_version` OR the table doesn't contain any rows. Can't validate database version. Exiting.");
LogError("Database : You may need to update your database");
return false;
}
f = cqr->Fetch();
const char *CharDBVersion = f->GetString();
LogNotice("Database : Last character database update: %s", CharDBVersion);
result = strcmp(CharDBVersion, REQUIRED_CHAR_DB_VERSION);
if (result != 0)
{
LogError("Database : Last character database update doesn't match the required one which is %s.", REQUIRED_CHAR_DB_VERSION);
if (result < 0)
{
LogError("Database : You need to apply the character update queries that are newer than %s. Exiting.", CharDBVersion);
LogError("Database : You can find the character update queries in the sql/character_updates sub-directory of your AscEmu source directory.");
}
else
LogError("Database : Your character database is too new for this AscEmu version, you need to update your server. Exiting.");
delete cqr;
return false;
}
delete cqr;
LogDetail("Database : Database successfully validated.");
return true;
}
开发者ID:armm77,项目名称:AscEmu,代码行数:69,代码来源:Master.cpp
示例5: main
//.........这里部分代码省略.........
{
// If we are asked to download a file, then read the entire file
// into memory.
if (( gDownloadInfo = ReadFile( gDownloadFileName )) == NULL )
{
return 1;
}
}
if ( !gSerialPort.Open( portStr, baudStr ))
{
return 1;
}
gSerialPort.UseRTStoReset( gUseRtsToReset );
gSerialPort.ResetTarget();
// Put stdin in raw mode
setbuf( stdin, NULL );
setbuf( stdout, NULL );
#if defined( unix )
sigemptyset( &termSig );
sigaddset( &termSig, SIGINT );
sigaddset( &termSig, SIGTERM );
pthread_sigmask( SIG_BLOCK, &termSig, NULL );
struct termios tio_new;
if ( tcgetattr( fileno( stdin ), &gTio_org ) < 0 )
{
LogError( "Unable to retrieve terminal settings\n" );
return 1;
}
tio_new = gTio_org;
tio_new.c_lflag &= ~( ICANON | ECHO );
tio_new.c_cc[VMIN] = 1;
tio_new.c_cc[VTIME] = 0;
if ( tcsetattr( fileno( stdin ), TCSANOW, &tio_new ) < 0 )
{
LogError( "Unable to update terminal settings\n" );
return 1;
}
#endif
const char *bootLoaderType = "*** Unknown ***";
if ( gDongle )
{
bootLoaderType = "Serial Dongle";
}
else
if ( gMegaLoad )
{
bootLoaderType = "MegaLoad v2.3";
}
else
if ( gStk500 )
{
bootLoaderType = "STK500";
}
开发者ID:dhylands,项目名称:projects-old,代码行数:66,代码来源:BootHost.cpp
示例6: collapse
void BattleItem::update(GameState &state, unsigned int ticks)
{
item->update(state, ticks);
// May have exploded
if (!tileObject)
{
return;
}
if (ticksUntilCollapse > 0)
{
if (ticksUntilCollapse > ticks)
{
ticksUntilCollapse -= ticks;
}
else
{
ticksUntilCollapse = 0;
collapse();
}
}
if (!falling)
{
return;
}
if (ownerInvulnerableTicks > 0)
{
if (ownerInvulnerableTicks > ticks)
{
ownerInvulnerableTicks -= ticks;
}
else
{
ownerInvulnerableTicks = 0;
}
}
if (collisionIgnoredTicks > 0)
{
if (collisionIgnoredTicks > ticks)
{
collisionIgnoredTicks -= ticks;
}
else
{
collisionIgnoredTicks = 0;
}
}
int remainingTicks = ticks;
auto previousPosition = position;
auto newPosition = position;
while (remainingTicks-- > 0)
{
velocity.z -= FALLING_ACCELERATION_ITEM;
newPosition += this->velocity / (float)TICK_SCALE / VELOCITY_SCALE_BATTLE;
}
// Check if new position is valid
// FIXME: Collide with units but not with us
bool collision = false;
auto c = checkItemCollision(previousPosition, newPosition);
if (c)
{
collision = true;
// If colliding with anything but ground, bounce back once
switch (c.obj->getType())
{
case TileObject::Type::Unit:
case TileObject::Type::LeftWall:
case TileObject::Type::RightWall:
case TileObject::Type::Feature:
if (!bounced)
{
// If bounced do not try to find support this time
collision = false;
bounced = true;
newPosition = previousPosition;
velocity.x = -velocity.x / 4;
velocity.y = -velocity.y / 4;
velocity.z = std::abs(velocity.z / 4);
break;
}
// Intentional fall-through
case TileObject::Type::Ground:
// Let item fall so that it can collide with scenery or ground if falling on top of
// it
newPosition = {previousPosition.x, previousPosition.y,
std::min(newPosition.z, previousPosition.z)};
break;
default:
LogError("What the hell is this item colliding with? Type is %d",
(int)c.obj->getType());
break;
}
}
//.........这里部分代码省略.........
开发者ID:steveschnepp,项目名称:OpenApoc,代码行数:101,代码来源:battleitem.cpp
示例7: get_credential
void
get_credential(UINT32 type, UINT32 *size, BYTE **cred)
{
int rc, fd;
char *path = NULL;
void *file = NULL;
struct stat stat_buf;
size_t file_size;
switch (type) {
case TSS_TCS_CREDENTIAL_PLATFORMCERT:
path = tcsd_options.platform_cred;
break;
case TSS_TCS_CREDENTIAL_TPM_CC:
path = tcsd_options.conformance_cred;
break;
case TSS_TCS_CREDENTIAL_EKCERT:
path = tcsd_options.endorsement_cred;
break;
default:
LogDebugFn("Bad credential type");
break;
}
if (path == NULL)
goto done;
if ((fd = open(path, O_RDONLY)) < 0) {
LogError("open(%s): %s", path, strerror(errno));
goto done;
}
if ((rc = fstat(fd, &stat_buf)) == -1) {
LogError("Error stating credential: %s: %s", path, strerror(errno));
close(fd);
goto done;
}
file_size = (size_t)stat_buf.st_size;
LogDebugFn("%s, (%zd bytes)", path, file_size);
file = mmap(0, file_size, PROT_READ, MAP_PRIVATE, fd, 0);
if (file == MAP_FAILED) {
LogError("Error reading credential: %s: %s", path, strerror(errno));
close(fd);
goto done;
}
close(fd);
if ((*cred = malloc(file_size)) == NULL) {
LogError("malloc of %zd bytes failed.", file_size);
munmap(file, file_size);
goto done;
}
memcpy(*cred, file, file_size);
*size = file_size;
munmap(file, file_size);
return;
done:
*cred = NULL;
*size = 0;
}
开发者ID:IIJ-NetBSD,项目名称:netbsd-src,代码行数:65,代码来源:tcs_aik.c
示例8: initprocesstree_sysdep
/**
* Read all processes to initialize the information tree.
* @param reference reference of ProcessTree
* @param pflags Process engine flags
* @return treesize > 0 if succeeded otherwise 0
*/
int initprocesstree_sysdep(ProcessTree_T **reference, ProcessEngine_Flags pflags) {
size_t size = sizeof(maxslp);
static int mib_maxslp[] = {CTL_VM, VM_MAXSLP};
if (sysctl(mib_maxslp, 2, &maxslp, &size, NULL, 0) < 0) {
LogError("system statistic error -- vm.maxslp failed\n");
return 0;
}
int mib_proc2[6] = {CTL_KERN, KERN_PROC2, KERN_PROC_ALL, 0, sizeof(struct kinfo_proc2), 0};
if (sysctl(mib_proc2, 6, NULL, &size, NULL, 0) == -1) {
LogError("system statistic error -- kern.proc2 #1 failed\n");
return 0;
}
size *= 2; // Add reserve for new processes which were created between calls of sysctl
struct kinfo_proc2 *pinfo = CALLOC(1, size);
mib_proc2[5] = (int)(size / sizeof(struct kinfo_proc2));
if (sysctl(mib_proc2, 6, pinfo, &size, NULL, 0) == -1) {
FREE(pinfo);
LogError("system statistic error -- kern.proc2 #2 failed\n");
return 0;
}
int treesize = (int)(size / sizeof(struct kinfo_proc2));
ProcessTree_T *pt = CALLOC(sizeof(ProcessTree_T), treesize);
char buf[_POSIX2_LINE_MAX];
kvm_t *kvm_handle = kvm_openfiles(NULL, NULL, NULL, KVM_NO_FILES, buf);
if (! kvm_handle) {
FREE(pinfo);
FREE(pt);
LogError("system statistic error -- kvm_openfiles failed: %s\n", buf);
return 0;
}
StringBuffer_T cmdline = NULL;
if (pflags & ProcessEngine_CollectCommandLine)
cmdline = StringBuffer_create(64);
for (int i = 0; i < treesize; i++) {
pt[i].pid = pinfo[i].p_pid;
pt[i].ppid = pinfo[i].p_ppid;
pt[i].cred.uid = pinfo[i].p_ruid;
pt[i].cred.euid = pinfo[i].p_uid;
pt[i].cred.gid = pinfo[i].p_rgid;
pt[i].threads = pinfo[i].p_nlwps;
pt[i].uptime = systeminfo.time / 10. - pinfo[i].p_ustart_sec;
pt[i].cpu.time = pinfo[i].p_rtime_sec * 10 + (double)pinfo[i].p_rtime_usec / 100000.;
pt[i].memory.usage = (uint64_t)pinfo[i].p_vm_rssize * (uint64_t)pagesize;
pt[i].zombie = pinfo[i].p_stat == SZOMB ? true : false;
if (pflags & ProcessEngine_CollectCommandLine) {
char **args = kvm_getargv2(kvm_handle, &pinfo[i], 0);
if (args) {
StringBuffer_clear(cmdline);
for (int j = 0; args[j]; j++)
StringBuffer_append(cmdline, args[j + 1] ? "%s " : "%s", args[j]);
if (StringBuffer_length(cmdline))
pt[i].cmdline = Str_dup(StringBuffer_toString(StringBuffer_trim(cmdline)));
}
if (! pt[i].cmdline || ! *pt[i].cmdline) {
FREE(pt[i].cmdline);
pt[i].cmdline = Str_dup(pinfo[i].p_comm);
}
}
}
if (pflags & ProcessEngine_CollectCommandLine)
StringBuffer_free(&cmdline);
FREE(pinfo);
kvm_close(kvm_handle);
*reference = pt;
return treesize;
}
开发者ID:ClearwaterCore,项目名称:clearwater-monit,代码行数:80,代码来源:sysdep_NETBSD.c
示例9: Test1
/**
* Tests about Log streams and special printf functions.
*/
int Test1(char *str, char *file)
{
char tempstr[2048];
int i;
SetComponentLogFile(COMPONENT_INIT, "STDOUT");
LogAlways(COMPONENT_INIT, "%s", "Starting Log Tests");
LogTest("My PID = %d", getpid());
LogTest("------------------------------------------------------");
LogTest("Test ERR_DUMMY");
LogTest("A numerical error : error %%d = %%J%%R, in ERR_DUMMY_2 %%J%%R");
log_snprintf(tempstr, sizeof(tempstr), "A numerical error : error %d = %J%R, in ERR_DUMMY_2 %J%R",
ERR_SIGACTION, ERR_SYS, ERR_SIGACTION, ERR_DUMMY, ERR_DUMMY_2);
LogTest("%s", tempstr);
LogTest("A numerical error : error %d = %J%R, in ERR_DUMMY_1 %J%R",
ERR_OPEN, ERR_SYS, ERR_OPEN, ERR_DUMMY, ERR_DUMMY_1);
LogTest("------------------------------------------------------");
LogTest("Test conversion of log levels between string and integer");
for (i = NIV_NULL; i < NB_LOG_LEVEL; i++)
{
int j;
if (strcmp(tabLogLevel[i].str, ReturnLevelInt(i)) != 0)
{
LogTest("FAILURE: Log level %d did not convert to %s, it converted to %s", i, tabLogLevel[i].str, ReturnLevelInt(i));
exit(1);
}
j = ReturnLevelAscii(tabLogLevel[i].str);
if (j != i)
{
LogTest("FAILURE: Log level %s did not convert to %d, it converted to %d", tabLogLevel[i].str, i, j);
exit(1);
}
}
LogTest("------------------------------------------------------");
log_snprintf(tempstr, sizeof(tempstr), "Test log_snprintf");
LogTest("%s", tempstr);
LogTest("\nTesting LogError function");
LogError(COMPONENT_CONFIG, ERR_SYS, ERR_MALLOC, EINVAL);
LogTest("\nTesting possible environment variable");
LogTest("COMPONENT_MEMCORRUPT debug level is %s", ReturnLevelInt(LogComponents[COMPONENT_MEMCORRUPT].comp_log_level));
LogFullDebug(COMPONENT_MEMCORRUPT, "This should appear if environment is set properly");
LogTest("------------------------------------------------------");
LogTest("Send some messages to various files");
SetComponentLogFile(COMPONENT_DISPATCH, "STDERR");
LogEvent(COMPONENT_DISPATCH, "This should go to stderr");
SetComponentLogFile(COMPONENT_DISPATCH, "STDOUT");
LogEvent(COMPONENT_DISPATCH, "This should go to stdout");
SetComponentLogFile(COMPONENT_DISPATCH, "SYSLOG");
LogEvent(COMPONENT_DISPATCH, "This should go to syslog (verf = %s)", str);
LogTest("About to set %s", file);
SetComponentLogFile(COMPONENT_DISPATCH, file);
LogTest("Got it set");
LogEvent(COMPONENT_DISPATCH, "This should go to %s", file);
/*
* Set up for tests that will verify what was actually produced by log messages.
* This is used to test log levels and to test the log_vnsprintf function.
*/
SetComponentLogBuffer(COMPONENT_MAIN, tempstr);
SetComponentLogBuffer(COMPONENT_INIT, tempstr);
#ifdef _SNMP_ADM_ACTIVE
{
snmp_adm_type_union param;
int rc;
strcpy(param.string, "FAILED");
LogTest("------------------------------------------------------");
LogTest("Test SNMP functions");
SetLevelDebug(NIV_DEBUG);
rc = getComponentLogLevel(¶m, (void *)COMPONENT_ALL);
LogTest("getComponentLogLevel(¶m, (void *)COMPONENT_ALL) rc=%d result=%s",
rc, param.string);
if (rc != 0)
{
LogTest("FAILURE");
exit(1);
}
strcpy(param.string, "NIV_EVENT");
rc = setComponentLogLevel(¶m, (void *)COMPONENT_MAIN);
LogTest("setComponentLogLevel(¶m, (void *)COMPONENT_MAIN) rc=%d", rc);
if (rc != 0)
{
LogTest("FAILURE");
exit(1);
}
TestAlways (TRUE, tempstr, COMPONENT_MAIN, "LogAlways (should print)");
TestMajor (TRUE, tempstr, COMPONENT_MAIN, "LogMajor (should print)");
TestCrit (TRUE, tempstr, COMPONENT_MAIN, "LogCrit (should print)");
TestEvent (TRUE, tempstr, COMPONENT_MAIN, "LogEvent (should print)");
//.........这里部分代码省略.........
开发者ID:alangenfeld,项目名称:cloud-nfs,代码行数:101,代码来源:test_liblog_functions.c
示例10: switch
// Process context menu items...
BOOL CStatisticsTree::OnCommand(WPARAM wParam, LPARAM /*lParam*/)
{
switch (wParam) {
case MP_STATTREE_RESET:
{
if(AfxMessageBox(GetResString(IDS_STATS_MBRESET_TXT), MB_YESNO | MB_ICONEXCLAMATION) == IDNO)
break;
thePrefs.ResetCumulativeStatistics();
AddLogLine(false, GetResString(IDS_STATS_NFORESET));
theApp.emuledlg->statisticswnd->ShowStatistics();
CString myBuffer;
myBuffer.Format(GetResString(IDS_STATS_LASTRESETSTATIC), thePrefs.GetStatsLastResetStr(false));
GetParent()->GetDlgItem(IDC_STATIC_LASTRESET)->SetWindowText(myBuffer);
break;
}
case MP_STATTREE_RESTORE:
{
if (AfxMessageBox(GetResString(IDS_STATS_MBRESTORE_TXT), MB_YESNO | MB_ICONQUESTION) == IDNO)
break;
if(!thePrefs.LoadStats(1))
LogError(LOG_STATUSBAR, GetResString(IDS_ERR_NOSTATBKUP));
else {
AddLogLine(false, GetResString(IDS_STATS_NFOLOADEDBKUP));
CString myBuffer;
myBuffer.Format(GetResString(IDS_STATS_LASTRESETSTATIC), thePrefs.GetStatsLastResetStr(false));
GetParent()->GetDlgItem(IDC_STATIC_LASTRESET)->SetWindowText(myBuffer);
}
break;
}
case MP_STATTREE_EXPANDMAIN:
{
SetRedraw(false);
ExpandAll(true);
goto lblSaveExpanded;
}
case MP_STATTREE_EXPANDALL:
{
SetRedraw(false);
ExpandAll();
goto lblSaveExpanded;
}
case MP_STATTREE_COLLAPSEALL:
{
SetRedraw(false);
CollapseAll();
lblSaveExpanded:
thePrefs.SetExpandedTreeItems(GetExpandedMask());
SetRedraw(true);
break;
}
case MP_STATTREE_COPYSEL:
case MP_STATTREE_COPYVIS:
case MP_STATTREE_COPYALL:
{
CopyText(wParam);
break;
}
case MP_STATTREE_HTMLCOPYSEL:
case MP_STATTREE_HTMLCOPYVIS:
case MP_STATTREE_HTMLCOPYALL:
{
CopyHTML(wParam);
break;
}
case MP_STATTREE_HTMLEXPORT:
{
ExportHTML();
break;
}
}
return true;
}
开发者ID:HackLinux,项目名称:eMule-Mirror,代码行数:79,代码来源:StatisticsTree.cpp
示例11: shared_from_this
void TileObject::setPosition(Vec3<float> newPosition)
{
auto thisPtr = shared_from_this();
if (!thisPtr)
{
LogError("This == null");
}
if (newPosition.x < 0 || newPosition.y < 0 || newPosition.z < 0 ||
newPosition.x > map.size.x + 1 || newPosition.y > map.size.y + 1 ||
newPosition.z > map.size.z + 1)
{
LogWarning("Trying to place object at {%f,%f,%f} in map of size {%d,%d,%d}", newPosition.x,
newPosition.y, newPosition.z, map.size.x, map.size.y, map.size.z);
newPosition.x = clamp(newPosition.x, 0.0f, (float)map.size.x + 1);
newPosition.y = clamp(newPosition.y, 0.0f, (float)map.size.y + 1);
newPosition.z = clamp(newPosition.z, 0.0f, (float)map.size.z + 1);
LogWarning("Clamped object to {%f,%f,%f}", newPosition.x, newPosition.y, newPosition.z);
}
this->removeFromMap();
this->owningTile = map.getTile(newPosition);
if (!this->owningTile)
{
LogError("Failed to get tile for position {%f,%f,%f}", newPosition.x, newPosition.y,
newPosition.z);
}
auto inserted = this->owningTile->ownedObjects.insert(thisPtr);
if (!inserted.second)
{
LogError("Object already in owned object list?");
}
int layer = map.getLayer(this->type);
this->owningTile->drawnObjects[layer].push_back(thisPtr);
std::sort(this->owningTile->drawnObjects[layer].begin(),
this->owningTile->drawnObjects[layer].end(), TileObjectZComparer{});
Vec3<int> minBounds = {floorf(newPosition.x - this->bounds.x / 2.0f),
floorf(newPosition.y - this->bounds.y / 2.0f),
floorf(newPosition.z - this->bounds.z / 2.0f)};
Vec3<int> maxBounds = {ceilf(newPosition.x + this->bounds.x / 2.0f),
ceilf(newPosition.y + this->bounds.y / 2.0f),
ceilf(newPosition.z + this->bounds.z / 2.0f)};
for (int x = minBounds.x; x < maxBounds.x; x++)
{
for (int y = minBounds.y; y < maxBounds.y; y++)
{
for (int z = minBounds.z; z < maxBounds.z; z++)
{
if (x < 0 || y < 0 || z < 0 || x > map.size.x || y > map.size.y || z > map.size.z)
{
// TODO: Decide if having bounds outside the map are really valid?
continue;
}
Tile *intersectingTile = map.getTile(x, y, z);
if (!intersectingTile)
{
LogError("Failed to get intersecting tile at {%d,%d,%d}", x, y, z);
continue;
}
this->intersectingTiles.push_back(intersectingTile);
intersectingTile->intersectingObjects.insert(thisPtr);
}
}
}
// Quick sanity check
for (auto *t : this->intersectingTiles)
{
if (t->intersectingObjects.find(shared_from_this()) == t->intersectingObjects.end())
{
LogError("Intersecting objects inconsistent");
}
}
}
开发者ID:idshibanov,项目名称:OpenApoc,代码行数:77,代码来源:tileobject.cpp
示例12: IoTHubMessage_CreateFromByteArray
IOTHUB_MESSAGE_HANDLE IoTHubMessage_CreateFromByteArray(const unsigned char* byteArray, size_t size)
{
IOTHUB_MESSAGE_HANDLE_DATA* result;
result = malloc(sizeof(IOTHUB_MESSAGE_HANDLE_DATA));
if (result == NULL)
{
LogError("unable to malloc\r\n");
/*Codes_SRS_IOTHUBMESSAGE_02_024: [If there are any errors then IoTHubMessage_CreateFromByteArray shall return NULL.] */
/*let it go through*/
}
else
{
const unsigned char* source;
unsigned char temp = 0x00;
if (size != 0)
{
/*Codes_SRS_IOTHUBMESSAGE_06_002: [If size is NOT zero then byteArray MUST NOT be NULL*/
if (byteArray == NULL)
{
LogError("Attempted to create a Hub Message from a NULL pointer!\r\n");
free(result);
result = NULL;
source = NULL;
}
else
{
source = byteArray;
}
}
else
{
/*Codes_SRS_IOTHUBMESSAGE_06_001: [If size is zero then byteArray may be NULL.]*/
source = &temp;
}
if (result != NULL)
{
/*Codes_SRS_IOTHUBMESSAGE_02_022: [IoTHubMessage_CreateFromByteArray shall call BUFFER_create passing byteArray and size as parameters.] */
if ((result->value.byteArray = BUFFER_create(source, size)) == NULL)
{
LogError("BUFFER_create failed\r\n");
/*Codes_SRS_IOTHUBMESSAGE_02_024: [If there are any errors then IoTHubMessage_CreateFromByteArray shall return NULL.] */
free(result);
result = NULL;
}
/*Codes_SRS_IOTHUBMESSAGE_02_023: [IoTHubMessage_CreateFromByteArray shall call Map_Create to create the message properties.] */
else if ((result->properties = Map_Create(ValidateAsciiCharactersFilter)) == NULL)
{
LogError("Map_Create failed\r\n");
/*Codes_SRS_IOTHUBMESSAGE_02_024: [If there are any errors then IoTHubMessage_CreateFromByteArray shall return NULL.] */
BUFFER_delete(result->value.byteArray);
free(result);
result = NULL;
}
else
{
/*Codes_SRS_IOTHUBMESSAGE_02_025: [Otherwise, IoTHubMessage_CreateFromByteArray shall return a non-NULL handle.] */
/*Codes_SRS_IOTHUBMESSAGE_02_026: [The type of the new message shall be IOTHUBMESSAGE_BYTEARRAY.] */
result->contentType = IOTHUBMESSAGE_BYTEARRAY;
/*all is fine, return result*/
}
}
}
return result;
}
开发者ID:neo7206,项目名称:azure-iot-sdks,代码行数:64,代码来源:iothub_message.c
示例13: IoTHubMessage_Clone
/*Codes_SRS_IOTHUBMESSAGE_03_001: [IoTHubMessage_Clone shall create a new IoT hub message with data content identical to that of the iotHubMessageHandle parameter.]*/
IOTHUB_MESSAGE_HANDLE IoTHubMessage_Clone(IOTHUB_MESSAGE_HANDLE iotHubMessageHandle)
{
IOTHUB_MESSAGE_HANDLE_DATA* result;
const IOTHUB_MESSAGE_HANDLE_DATA* source = (const IOTHUB_MESSAGE_HANDLE_DATA*)iotHubMessageHandle;
/* Codes_SRS_IOTHUBMESSAGE_03_005: [IoTHubMessage_Clone shall return NULL if iotHubMessageHandle is NULL.] */
if (source == NULL)
{
result = NULL;
LogError("iotHubMessageHandle parameter cannot be NULL for IoTHubMessage_Clone\r\n");
}
else
{
result = (IOTHUB_MESSAGE_HANDLE_DATA*)malloc(sizeof(IOTHUB_MESSAGE_HANDLE_DATA));
/*Codes_SRS_IOTHUBMESSAGE_03_004: [IoTHubMessage_Clone shall return NULL if it fails for any reason.]*/
if (result == NULL)
{
/*Codes_SRS_IOTHUBMESSAGE_03_004: [IoTHubMessage_Clone shall return NULL if it fails for any reason.]*/
/*do nothing and return as is*/
LogError("unable to malloc\r\n");
}
else
{
if (source->contentType == IOTHUBMESSAGE_BYTEARRAY)
{
/*Codes_SRS_IOTHUBMESSAGE_02_006: [IoTHubMessage_Clone shall clone to content by a call to BUFFER_clone] */
if ((result->value.byteArray = BUFFER_clone(source->value.byteArray)) == NULL)
{
/*Codes_SRS_IOTHUBMESSAGE_03_004: [IoTHubMessage_Clone shall return NULL if it fails for any reason.]*/
LogError("unable to BUFFER_clone\r\n");
free(result);
result = NULL;
}
/*Codes_SRS_IOTHUBMESSAGE_02_005: [IoTHubMessage_Clone shall clone the properties map by using Map_Clone.] */
else if ((result->properties = Map_Clone(source->properties)) == NULL)
{
/*Codes_SRS_IOTHUBMESSAGE_03_004: [IoTHubMessage_Clone shall return NULL if it fails for any reason.]*/
LogError("unable to Map_Clone\r\n");
BUFFER_delete(result->value.byteArray);
free(result);
result = NULL;
}
else
{
result->contentType = IOTHUBMESSAGE_BYTEARRAY;
/*Codes_SRS_IOTHUBMESSAGE_03_002: [IoTHubMessage_Clone shall return upon success a non-NULL handle to the newly created IoT hub message.]*/
/*return as is, this is a good result*/
}
}
else /*can only be STRING*/
{
/*Codes_SRS_IOTHUBMESSAGE_02_006: [IoTHubMessage_Clone shall clone the content by a call to BUFFER_clone or STRING_clone] */
if ((result->value.string = STRING_clone(source->value.string)) == NULL)
{
/*Codes_SRS_IOTHUBMESSAGE_03_004: [IoTHubMessage_Clone shall return NULL if it fails for any reason.]*/
free(result);
result = NULL;
LogError("failed to STRING_clone\r\n");
}
/*Codes_SRS_IOTHUBMESSAGE_02_005: [IoTHubMessage_Clone shall clone the properties map by using Map_Clone.] */
else if ((result->properties = Map_Clone(source->properties)) == NULL)
{
/*Codes_SRS_IOTHUBMESSAGE_03_004: [IoTHubMessage_Clone shall return NULL if it fails for any reason.]*/
LogError("unable to Map_Clone\r\n");
STRING_delete(result->value.string);
free(result);
result = NULL;
}
else
{
result->contentType = IOTHUBMESSAGE_STRING;
/*all is fine*/
}
}
}
}
return result;
}
开发者ID:neo7206,项目名称:azure-iot-sdks,代码行数:78,代码来源:iothub_message.c
示例14: retrieveConnStringInfo
static int retrieveConnStringInfo(IOTHUB_ACCOUNT_INFO* accountInfo)
{
int result;
int beginName, endName, beginIothub, endIothub, beginHost, endHost, beginKey;
int totalLen = strlen(accountInfo->connString);
if (sscanf(accountInfo->connString, "HostName=%n%*[^.]%n.%n%*[^;];%nSharedAccessKeyName=%n%*[^;];%nSharedAccessKey=%n", &beginHost, &endHost, &beginIothub, &endIothub, &beginName, &endName, &beginKey) != 0)
{
LogError("Failure determining the string length parameters.\r\n");
result = __LINE__;
}
else
{
if ((accountInfo->iothubName = (char*)malloc(endHost - beginHost + 1)) == NULL)
{
LogError("Failure allocating iothubName.\r\n");
result = __LINE__;
}
else if ((accountInfo->hostname = (char*)malloc(endIothub - beginHost + 1)) == NULL)
{
LogError("Failure allocating hostname.\r\n");
free(accountInfo->iothubName);
result = __LINE__;
}
else if ((accountInfo->keyName = (char*)malloc(endName - beginName + 1)) == NULL)
{
LogError("Failure allocating hostName.\r\n");
free(accountInfo->iothubName);
free(accountInfo->hostname);
result = __LINE__;
}
else if ((accountInfo->sharedAccessKey = (char*)malloc(totalLen + 1 - beginKey + 1)) == NULL)
{
LogError("Failure allocating hostName.\r\n");
free(accountInfo->iothubName);
free(accountInfo->keyName);
free(accountInfo->hostname);
result = __LINE__;
}
else if (sscanf(accountInfo->connString, "HostName=%[^.].%[^;];SharedAccessKeyName=%[^;];SharedAccessKey=%s", accountInfo->iothubName,
accountInfo->hostname + endHost - beginHost + 1,
accountInfo->keyName,
accountInfo->sharedAccessKey) != 4)
{
LogError("Failure determining the string values.\r\n");
free(accountInfo->iothubName);
free(accountInfo->hostname);
free(accountInfo->keyName);
free(accountInfo->sharedAccessKey);
result = __LINE__;
}
else
{
(void)strcpy(accountInfo->hostname, accountInfo->iothubName);
accountInfo->hostname[endHost - beginHost] = '.';
if (mallocAndStrcpy_s(&accountInfo->iothubSuffix, accountInfo->hostname + endHost - beginHost + 1) != 0)
{
LogError("[IoTHubAccount] Failure constructing the iothubSuffix.");
free(accountInfo->iothubName);
free(accountInfo->hostname);
free(accountInfo->keyName);
free(accountInfo->sharedAccessKey);
result = __LINE__;
}
else
{
result = 0;
}
}
}
return result;
}
开发者ID:ByunggakJun,项目名称:azure-iot-sdks,代码行数:72,代码来源:iothub_account.c
示例15: ScanFolder
void
CacheMonitorServer::ScanFolder(const fs::path & folder)
{
CacheManager * cache = Factory::GetCacheManager();
fs::path folderMeta = Factory::GetMetaFolder() / Factory::GetService();
try {
fs::directory_iterator end;
for ( fs::directory_iterator i(folder); i != end; ++ i ) {
if ( fs::is_directory(i->status()) ) {
ScanFolder(i->path());
} else {
struct stat stat;
if ( 0 != ::stat(i->path().string().c_str(),&stat) ) {
continue;
}
ExtendedAttribute ea(i->path());
unsigned long long number;
int valuesize;
if ( ! ea.GetValue(
Inode::ATTRIBUTE_NUMBER,
&number,
sizeof(number),
valuesize ) ) {
continue;
}
long state;
if ( ! ea.GetValue(
Inode::ATTRIBUTE_STATE,
&state,
sizeof(state),
valuesize) ) {
continue;
}
if ( state != Inode::StateBegin ) {
continue;
}
long long size = 0;
if ( ! ea.GetValue(
Inode::ATTRIBUTE_SIZE,
&size,
sizeof(size),
valuesize) ) {
continue;
}
if ( size <= 0 ) {
continue;
}
if ( ! cache->ExistFile(number) ) {
continue;
}
vector<FileInfo> files;
FileMap::iterator iter = files_.insert(
FileMap::value_type(stat.st_atime,files) ).first;
FileInfo file;
file.service = Factory::GetService();
file.path = i->path().string().substr(
folderMeta.string().size() );
iter->second.push_back(file);
}
}
} catch ( const boost::filesystem::filesystem_error& e ) {
LogError(e.what());
} catch ( const std::exception & e ) {
LogError(e.what())
|
请发表评论