/*----------------------------------------------------------------------
|   PLT_DeviceData::operator const char*()
+---------------------------------------------------------------------*/
PLT_DeviceData::operator const char*()
{
    NPT_StringOutputStreamReference stream(new NPT_StringOutputStream);
    stream->WriteString("Device GUID: ");
    stream->WriteString((const char*)m_UUID);

    stream->WriteString("Device Type: ");
    stream->WriteString((const char*)m_DeviceType);

    stream->WriteString("Device Base Url: ");
    stream->WriteString((const char*)GetURLBase().ToString());

    stream->WriteString("Device Friendly Name: ");
    stream->WriteString((const char*)m_FriendlyName);

    m_Representation = stream->GetString();
    return m_Representation;
}
Example #2
0
/*----------------------------------------------------------------------
|   PLT_DeviceData::GetIconUrl
+---------------------------------------------------------------------*/
NPT_String
PLT_DeviceData::GetIconUrl(const char* mimetype, 
                           NPT_Int32   maxsize, 
                           NPT_Int32   maxdepth)
{
    PLT_DeviceIcon icon;
    icon.depth  = 0;
    icon.height = 0;
    icon.width  = 0;

    for (NPT_Cardinal i=0; i<m_Icons.GetItemCount(); i++) {
        if ((mimetype && m_Icons[i].mimetype != mimetype) ||
            (maxsize  && m_Icons[i].width > maxsize)      ||
            (maxsize  && m_Icons[i].height > maxsize)     ||
            (maxdepth && m_Icons[i].depth > maxdepth))
            continue;

        // pick the biggest and better resolution we can
        if (icon.width  >= m_Icons[i].width  ||
            icon.height >= m_Icons[i].height ||
            icon.depth  >= m_Icons[i].depth  ||
            m_Icons[i].url.IsEmpty())
            continue;

        icon = m_Icons[i];
    }

    if (icon.url == "") return "";

    // make absolut path from url base if necessary
    NPT_HttpUrl url(icon.url);
    if (!url.IsValid()) {
        url = GetURLBase();
        if (icon.url.StartsWith("/")) {
            url.SetPathPlus(icon.url);
        } else {
            url.SetPathPlus(url.GetPath() + icon.url);
        }
    }

    return url.ToString();
}
Example #3
0
/*----------------------------------------------------------------------
|   PLT_DeviceData::ToLog
+---------------------------------------------------------------------*/
NPT_Result
PLT_DeviceData::ToLog(int level /* = NPT_LOG_LEVEL_FINE */)
{
    NPT_COMPILER_UNUSED(level);

    NPT_StringOutputStreamReference stream(new NPT_StringOutputStream);
    stream->WriteString("Device GUID: ");
    stream->WriteString((const char*)m_UUID);

    stream->WriteString("Device Type: ");
    stream->WriteString((const char*)m_DeviceType);

    stream->WriteString("Device Base Url: ");
    stream->WriteString((const char*)GetURLBase().ToString());

    stream->WriteString("Device Friendly Name: ");
    stream->WriteString((const char*)m_FriendlyName);

    NPT_LOG_1(level, "%s", (const char*)stream->GetString());
    return NPT_SUCCESS;
}