Ejemplo n.º 1
0
//
// return the gameservers time
//
plUnifiedTime plNetClientMgr::GetServerTime() const 
{ 
    if ( fServerTimeOffset==0 )     // offline mode or before connecting/calibrating to a server
        return plUnifiedTime::GetCurrent();
    
    plUnifiedTime serverUT;
    if (fServerTimeOffset<0)
        return plUnifiedTime::GetCurrent() - plUnifiedTime(fabs(fServerTimeOffset));
    else
        return  plUnifiedTime::GetCurrent() + plUnifiedTime(fServerTimeOffset);
}
Ejemplo n.º 2
0
bool    plFileUtils::GetFileTimes( const char *path, plUnifiedTime *createTimeOut, plUnifiedTime *modifyTimeOut )
{
    struct stat fileInfo;

    int result = stat( path, &fileInfo );
    if( result != 0 )
        return false;

    if( createTimeOut != nil )
        *createTimeOut = plUnifiedTime( fileInfo.st_ctime );
    if( modifyTimeOut != nil )
        *modifyTimeOut = plUnifiedTime( fileInfo.st_mtime );

    return true;
}
Ejemplo n.º 3
0
bool plStatusLog::IPrintLineToFile( const char *line, uint32_t count )
{
    if( fFlags & kDontWriteFile )
        return true;

#ifdef PLASMA_EXTERNAL_RELEASE
    uint8_t hint = 0;
    if( fFlags & kAppendToLast )
    {
        hint = (uint8_t)fSize;
    }
#endif

    if (!fFileHandle)
        IReOpen();

    bool ret = ( fFileHandle!=nil );

    if( fFileHandle != nil )
    {
        char work[256];
        char buf[2000];
        buf[0] = 0;

        //build line to encrypt

        if( count != 0 )
        {
            if ( fFlags & kTimestamp )
            {
                snprintf(work, arrsize(work), "(%s) ", plUnifiedTime(kNow).Format("%m/%d %H:%M:%S").c_str());
                strncat(buf, work, arrsize(work));
            }
            if ( fFlags & kTimestampGMT )
            {
                snprintf(work, arrsize(work), "(%s) ", plUnifiedTime::GetCurrent().Format("%m/%d %H:%M:%S UTC").c_str());
                strncat(buf, work, arrsize(work));
            }
            if ( fFlags & kTimeInSeconds )
            {
                snprintf(work, arrsize(work), "(%lu) ", (unsigned long)plUnifiedTime(kNow).GetSecs());
                strncat(buf, work, arrsize(work));
            }
            if ( fFlags & kTimeAsDouble )
            {
                snprintf(work, arrsize(work), "(%f) ", plUnifiedTime(kNow).GetSecsDouble());
                strncat(buf, work, arrsize(work));
            }
            if (fFlags & kRawTimeStamp)
            {
                snprintf(work, arrsize(work), "[t=%10f] ", hsTimer::GetSeconds());
                strncat(buf, work, arrsize(work));
            }
            if (fFlags & kThreadID)
            {
                snprintf(work, arrsize(work), "[t=%lu] ", hsThread::GetMyThreadId());
                strncat(buf, work, arrsize(work));
            }

            size_t remaining = arrsize(buf) - strlen(buf) - 1;
            remaining -= 1;
            if (count <= remaining) {
                strncat(buf, line, count);
            } else {
                strncat(buf, line, remaining);
            }

            strncat(buf, "\n", 1);
        }

        unsigned length = strlen(buf);

        {
            int err;
            err = fwrite(buf,1,length,fFileHandle);
            ret = ( ferror( fFileHandle )==0 );

            if ( ret )
            {
                fSize += err;
                if (!(fFlags & kNonFlushedLog))
                    fflush(fFileHandle);
            }
        }

        if ( fSize>=kMaxFileSize )
        {
            plStatusLogMgr::GetInstance().BounceLogs();
        }

    }

    plString out_str = plString::FromUtf8(line, count) + "\n";
    if (fFlags & kDebugOutput)
    {

#if HS_BUILD_FOR_WIN32
#ifndef PLASMA_EXTERNAL_RELEASE
        OutputDebugString(out_str.c_str());
#endif
#else
        fputs(out_str.c_str(), stderr);
#endif
    }

    if (fFlags & kStdout)
    {
        fputs(out_str.c_str(), stdout);
    }

    return ret;
}
Ejemplo n.º 4
0
plUnifiedTime plVaultNode::getCreateAgeTime() const {
    return fFields[kFieldCreateAgeTime] ? fCreateAgeTime : plUnifiedTime();
}
Ejemplo n.º 5
0
plUnifiedTime plVaultNode::getModifyTime() const {
    return fFields[kFieldModifyTime] ? fModifyTime : plUnifiedTime();
}
Ejemplo n.º 6
0
plUnifiedTime plVaultNode::getAutoTime() const {
    return fFields[kFieldAutoTime] ? fAutoTime : plUnifiedTime();
}
Ejemplo n.º 7
0
void plVaultNode::makeField(unsigned int field) {
    fFields[field] = true;
    switch (field) {
    case kFieldNodeID:
        fNodeID = 0;
        break;
    case kFieldNodeType:
        fNodeType = 0;
        break;
    case kFieldPermissions:
        fPermissions = 0;
        break;
    case kFieldOwner:
        fOwner = 0;
        break;
    case kFieldGroup:
        fGroup = 0;
        break;
    case kFieldAutoTime:
        fAutoTime = plUnifiedTime();
        break;
    case kFieldCreator:
        fCreator = 0;
        break;
    case kFieldModifyTime:
        fModifyTime = plUnifiedTime();
        break;
    case kFieldCreateAgeTime:
        fCreateAgeTime = plUnifiedTime();
        break;
    case kFieldCreateAgeName:
        fCreateAgeName = "";
        break;
    case kFieldCreateAgeGuid:
        fCreateAgeGuid = plServerGuid();
        break;
    case kFieldInt32_1:
        fInt32[0] = 0;
        break;
    case kFieldInt32_2:
        fInt32[1] = 0;
        break;
    case kFieldInt32_3:
        fInt32[2] = 0;
        break;
    case kFieldInt32_4:
        fInt32[3] = 0;
        break;
    case kFieldUInt32_1:
        fUInt32[0] = 0;
        break;
    case kFieldUInt32_2:
        fUInt32[1] = 0;
        break;
    case kFieldUInt32_3:
        fUInt32[2] = 0;
        break;
    case kFieldUInt32_4:
        fUInt32[3] = 0;
        break;
    case kFieldString64_1:
        fString64[0] = "";
        break;
    case kFieldString64_2:
        fString64[1] = "";
        break;
    case kFieldString64_3:
        fString64[2] = "";
        break;
    case kFieldString64_4:
        fString64[3] = "";
        break;
    case kFieldString64_5:
        fString64[4] = "";
        break;
    case kFieldString64_6:
        fString64[5] = "";
        break;
    case kFieldIString64_1:
        fIString64[0] = "";
        break;
    case kFieldIString64_2:
        fIString64[1] = "";
        break;
    case kFieldText_1:
        fText[0] = "";
        break;
    case kFieldText_2:
        fText[1] = "";
        break;
    case kFieldBlob_1:
        fBlob1 = plVaultBlob();
        break;
    case kFieldBlob_2:
        fBlob2 = plVaultBlob();
        break;
    case kFieldGuid_1:
        fGuid1 = plServerGuid();
        break;
    case kFieldGuid_2:
        fGuid2 = plServerGuid();
        break;
    default:
        break;
    }
}