Exemplo n.º 1
0
Arquivo: mxwriter.c Projeto: bpon/wine
static HRESULT WINAPI mxwriter_put_encoding(IMXWriter *iface, BSTR encoding)
{
    mxwriter *This = impl_from_IMXWriter( iface );
    xml_encoding enc;
    HRESULT hr;

    TRACE("(%p)->(%s)\n", This, debugstr_w(encoding));

    enc = parse_encoding_name(encoding);
    if (enc == XmlEncoding_Unknown)
    {
        FIXME("unsupported encoding %s\n", debugstr_w(encoding));
        return E_INVALIDARG;
    }

    hr = flush_output_buffer(This);
    if (FAILED(hr))
        return hr;

    SysReAllocString(&This->encoding, encoding);
    This->xml_enc = enc;

    TRACE("got encoding %d\n", This->xml_enc);
    reset_output_buffer(This);
    return S_OK;
}
Exemplo n.º 2
0
HRESULT _IFUNC BOleFont::put_Name (BSTR name)
{
  if (lstrcmp (name, bstrName) != 0) {
    if (PropRequestEdit (DISPID_FONT_NAME) == S_OK) {
      SysReAllocString (&bstrName, name);
      modified = TRUE;
      PropChanged (DISPID_FONT_NAME);
    }
  }
  return NOERROR;
}
STDMETHODIMP FbTooltip::put_Text(BSTR text)
{
    TRACK_FUNCTION();

    if (!text) return E_INVALIDARG;

    // realloc string
    SysReAllocString(&m_tip_buffer, text);
    m_ti.lpszText = m_tip_buffer;
    SendMessage(m_wndtooltip, TTM_SETTOOLINFO, 0, (LPARAM)&m_ti);
    return S_OK;
}
Exemplo n.º 4
0
BOOL 
Foobar::COM_infoCache()
{
	if(	(m_state <= PL_STOPPED) ||
		(m_comPlaybackEventSink && m_comPlaybackEventSink->m_vbServerState == VARIANT_FALSE) ||
		(!m_comPlayback) )
		return FALSE;

	struct info_t {
		TCHAR* &ptszValue;
		WCHAR* ptszFormat;
	} static info[] = {
	{m_listening_info.ptszAlbum,	L"[%album%]"		},
	{m_listening_info.ptszArtist,	L"[%artist%]"		},
	{m_listening_info.ptszGenre,	L"[%genre%]"		},
	{m_listening_info.ptszLength,	L"[%length%]"		},	//Length of the track, formatted as [HH:]MM:SS.
	{m_listening_info.ptszTitle,	L"[%title%]"		},
	{m_listening_info.ptszTrack,	L"[%tracknumber%]"	},
	{m_listening_info.ptszYear,		L"[$year(%date%)]"	}
	};

	HRESULT hr;
	VARIANT_BOOL IsPlaying = 0;			/* 0 == FALSE, -1 == TRUE */
	VARIANT_BOOL IsPaused  = 0;
	m_comPlayback->get_IsPlaying(&IsPlaying);
	m_comPlayback->get_IsPaused(&IsPaused);
	if(	IsPlaying == VARIANT_FALSE || 
		IsPlaying == VARIANT_TRUE && IsPaused == VARIANT_TRUE)
		return FALSE;

	m_listening_info.cbSize		= sizeof(m_listening_info);
	m_listening_info.ptszPlayer	= mir_tstrdup(m_name);
	m_listening_info.ptszType	= mir_tstrdup(_T("Music"));			//TODO:support foobar radio
	m_listening_info.dwFlags	= LTI_TCHAR;

	BSTR strResult = SysAllocString( L"");
	BSTR strFormat = SysAllocString( L"");

	for(int i = 0; i < SIZEOF(info); i++) {
		SysReAllocString(&strFormat,info[i].ptszFormat);
		if(S_OK!=(hr = m_comPlayback->FormatTitle(strFormat, &strResult)))
			break;
		info[i].ptszValue = mir_bstr2t(strResult);
	}
	BSTRFREE(strResult);
	BSTRFREE(strFormat);
	if(SUCCEEDED(hr)) {
		return TRUE;
	}
	FreeData();
	return FALSE;
}
Exemplo n.º 5
0
STDMETHODIMP CUUEngine::FileFilter(BSTR inFile, BSTR *outFile)
{
	bool extflag = false;		// Got one extension
	const char *src;
	char *wp;
	char c, wrk[MAX_PATH + 2];
	int len;
	MString inp(inFile);

	len = lstrlen(inp);		// Read original string length

	if (len == 0)
	{
		SysReAllocString(outFile, inFile);
		return(S_OK);
	}

	if (len >= MAX_PATH)
		len = MAX_PATH;

	src = inp + len - 1;		// Point to end of incoming string data

	wp = wrk + len;						// End of work buffer
	*wp-- = EOS;

	while (len-- > 0) {
		c = *src--;						// Read one character
		if (c == '.') {					// One extension only, please
			if (!extflag) {
				*wp-- = '.';
				extflag = true;
				}
			}
		else if ((c >= 0 && c < ' ') || strchr("<>:\"|?*\'\\/", c) != NULL)
			*wp-- = '_';				// Replace unacceptables with underscore
		else
			*wp-- = c;					// Copy everything else
		}

	wp++;								// Point to first char
	while (*wp == '.')
		wp++;							// Can't begin filename with dot(s)

	inp = wp;

	inp.ToBSTR(outFile);

	return S_OK;
}
Exemplo n.º 6
0
static HRESULT WINAPI httprequest_setRequestHeader(IXMLHTTPRequest *iface, BSTR header, BSTR value)
{
    httprequest *This = impl_from_IXMLHTTPRequest( iface );
    struct reqheader *entry;

    TRACE("(%p)->(%s %s)\n", This, debugstr_w(header), debugstr_w(value));

    if (!header || !*header) return E_INVALIDARG;
    if (This->state != READYSTATE_LOADING) return E_FAIL;
    if (!value) return E_INVALIDARG;

    /* replace existing header value if already added */
    LIST_FOR_EACH_ENTRY(entry, &This->reqheaders, struct reqheader, entry)
    {
        if (lstrcmpW(entry->header, header) == 0)
        {
            LONG length = SysStringLen(entry->value);
            HRESULT hr;

            hr = SysReAllocString(&entry->value, value) ? S_OK : E_OUTOFMEMORY;

            if (hr == S_OK)
                This->reqheader_size += (SysStringLen(entry->value) - length);

            return hr;
        }
    }

    entry = heap_alloc(sizeof(*entry));
    if (!entry) return E_OUTOFMEMORY;

    /* new header */
    entry->header = SysAllocString(header);
    entry->value  = SysAllocString(value);

    /* header length including null terminator */
    This->reqheader_size += SysStringLen(entry->header) + sizeof(colspaceW)/sizeof(WCHAR) +
                            SysStringLen(entry->value)  + sizeof(crlfW)/sizeof(WCHAR) - 1;

    list_add_head(&This->reqheaders, &entry->entry);

    return S_OK;
}
Exemplo n.º 7
0
static void loadURL(BSTR urlBStr)
{
    IWebFrame* frame = 0;
    IWebMutableURLRequest* request = 0;

    static BSTR methodBStr = SysAllocString(TEXT("GET"));

    if (urlBStr && urlBStr[0] && (PathFileExists(urlBStr) || PathIsUNC(urlBStr))) {
        TCHAR fileURL[INTERNET_MAX_URL_LENGTH];
        DWORD fileURLLength = sizeof(fileURL)/sizeof(fileURL[0]);

        if (SUCCEEDED(UrlCreateFromPath(urlBStr, fileURL, &fileURLLength, 0)))
            SysReAllocString(&urlBStr, fileURL);
    }

    HRESULT hr = gWebView->mainFrame(&frame);
    if (FAILED(hr))
        goto exit;

    hr = WebKitCreateInstance(CLSID_WebMutableURLRequest, 0, IID_IWebMutableURLRequest, (void**)&request);
    if (FAILED(hr))
        goto exit;

    hr = request->initWithURL(urlBStr, WebURLRequestUseProtocolCachePolicy, 60);
    if (FAILED(hr))
        goto exit;

    hr = request->setHTTPMethod(methodBStr);
    if (FAILED(hr))
        goto exit;

    hr = frame->loadRequest(request);
    if (FAILED(hr))
        goto exit;

    SetFocus(gViewWindow);

exit:
    if (frame)
        frame->Release();
    if (request)
        request->Release();
}
Exemplo n.º 8
0
wxBasicString& wxBasicString::operator=(const wxBasicString& src)
{
    SysReAllocString(&m_bstrBuf, src);
    return *this;
}
Exemplo n.º 9
0
STDMETHODIMP CoCat::SetName(BSTR name)
{
	SysReAllocString(&name_, name);
	return S_OK;
}