MCPcopy Create free account
hub / github.com/RHVoice/RHVoice / SetObjectToken

Method SetObjectToken

src/sapi/ISpTTSEngineImpl.cpp:25–52  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23 namespace sapi
24 {
25 STDMETHODIMP ISpTTSEngineImpl::SetObjectToken(ISpObjectToken *pToken)
26 {
27 if(pToken==0)
28 return E_INVALIDARG;
29 try
30 {
31 ISpDataKeyPtr attr;
32 if(FAILED(pToken->OpenKey(L"Attributes",&attr)))
33 return E_INVALIDARG;
34 utils::out_ptr<wchar_t> name(CoTaskMemFree);
35 if(FAILED(attr->GetStringValue(L"Name",name.address())))
36 return E_INVALIDARG;
37 voice_profile new_profile=get_engine()->create_voice_profile(utils::wstring_to_string(name.get()));
38 if(new_profile.empty())
39 return E_INVALIDARG;
40 profile=new_profile;
41 token=pToken;
42 return S_OK;
43 }
44 catch(const std::bad_alloc&)
45 {
46 return E_OUTOFMEMORY;
47 }
48 catch(...)
49 {
50 return E_UNEXPECTED;
51 }
52 }
53
54 STDMETHODIMP ISpTTSEngineImpl::GetObjectToken(ISpObjectToken **ppToken)
55 {

Callers

nothing calls this directly

Calls 7

wstring_to_stringFunction · 0.85
GetStringValueMethod · 0.80
addressMethod · 0.80
create_voice_profileMethod · 0.80
OpenKeyMethod · 0.45
getMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected