Audacity 3.2.0
Public Member Functions | Private Attributes | List of all members
audacity::cloud::audiocom::ServiceConfig Class Referencefinal

Configuration for the audio.com. More...

#include <ServiceConfig.h>

Collaboration diagram for audacity::cloud::audiocom::ServiceConfig:
[legend]

Public Member Functions

 ServiceConfig ()
 
std::string GetAPIEndpoint () const
 API endpoint. More...
 
std::string GetOAuthLoginPage (AudiocomTrace) const
 Page to open in browser to initiate OAuth. More...
 
std::string GetOAuthClientID () const
 OAuth2 client ID. More...
 
std::string GetOAuthClientSecret () const
 OAuth2 client secret. More...
 
std::string GetOAuthRedirectURL () const
 OAuth2 redirect URL. Only used to satisfy the protocol. More...
 
std::string GetAuthWithRedirectURL () const
 Audio.com authorization API to automatically login current user. More...
 
std::string GetAPIUrl (std::string_view apiURI) const
 Helper to construct the full URLs for the API. More...
 
std::string GetFinishUploadPage (std::string_view audioID, std::string_view token, AudiocomTrace) const
 Helper to construct the page URL for the anonymous upload last stage. More...
 
std::string GetAudioURL (std::string_view userSlug, std::string_view audioSlug, AudiocomTrace) const
 Helper to construct the page URL for the authorised upload. More...
 
std::chrono::milliseconds GetProgressCallbackTimeout () const
 Timeout between progress callbacks. More...
 
std::vector< std::string > GetPreferredAudioFormats (bool preferLossless=true) const
 Preferred audio format. More...
 
rapidjson::Document GetExportConfig (const std::string &exporterName) const
 Export configuration suitable for the mime type provided. More...
 
std::string GetDownloadMime () const
 
std::string GetAcceptLanguageValue () const
 Returns the preferred language. More...
 
std::string GetCreateProjectUrl () const
 
std::string GetCreateSnapshotUrl (std::string_view projectId) const
 
std::string GetSnapshotSyncUrl (std::string_view projectId, std::string_view snapshotId) const
 
std::string GetProjectsUrl (int page, int pageSize, std::string_view searchTerm) const
 
std::string GetProjectInfoUrl (std::string_view projectId) const
 
std::string GetSnapshotInfoUrl (std::string_view projectId, std::string_view snapshotId) const
 
std::string GetDeleteSnapshotUrl (std::string_view projectId, std::string_view snapshotId) const
 
std::string GetNetworkStatsUrl (std::string_view projectId) const
 
std::string GetProjectPagePath (std::string_view userSlug, std::string_view projectSlug, AudiocomTrace) const
 
std::string GetProjectsPagePath (std::string_view userSlug, AudiocomTrace) const
 

Private Attributes

std::string mApiEndpoint
 
std::string mOAuthClientID
 
std::string mOAuthClientSecret
 
std::string mOAuthRedirectURL
 
std::string mOAuthLoginPage
 
std::string mAuthWithRedirectURL
 
std::string mFinishUploadPage
 
std::string mFrontendURL
 
std::string mPreferredMimeType
 

Detailed Description

Configuration for the audio.com.

Definition at line 24 of file ServiceConfig.h.

Constructor & Destructor Documentation

◆ ServiceConfig()

audacity::cloud::audiocom::ServiceConfig::ServiceConfig ( )

Definition at line 127 of file ServiceConfig.cpp.

128{
138}
bool Read(T *pVar) const
overload of Read returning a boolean that is true if the value was previously defined *‍/
Definition: Prefs.h:207
std::string ToUTF8(const std::wstring &wstr)

References audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComApiEndpoint, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComAudioDownloadMimeType, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComAuthWithRedirectURL, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComFinishUploadPage, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComFrontendURL, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComOAuthClientID, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComOAuthClientSecret, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComOAuthLoginPage, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::audioComOAuthRedirectURL, mApiEndpoint, mAuthWithRedirectURL, mFinishUploadPage, mFrontendURL, mOAuthClientID, mOAuthClientSecret, mOAuthLoginPage, mOAuthRedirectURL, mPreferredMimeType, Setting< T >::Read(), and audacity::ToUTF8().

Here is the call graph for this function:

Member Function Documentation

◆ GetAcceptLanguageValue()

std::string audacity::cloud::audiocom::ServiceConfig::GetAcceptLanguageValue ( ) const

Returns the preferred language.

Definition at line 260 of file ServiceConfig.cpp.

261{
262 auto language = Languages::GetLang();
263
264 if (language.Contains(L"-") && language.Length() > 2)
265 return wxString::Format(
266 "%s;q=1.0, %s;q=0.7, *;q=0.5", language, language.Left(2))
267 .ToStdString();
268 else
269 return wxString::Format("%s;q=1.0, *;q=0.5", language).ToStdString();
270}
wxString GetLang()
Definition: Languages.cpp:395

References Languages::GetLang().

Referenced by audacity::cloud::audiocom::SetCommonHeaders(), audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::AudiocomUploadOperation::SetRequiredHeaders(), and audacity::cloud::audiocom::sync::LocalProjectSnapshot::UpdateProjectSnapshot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAPIEndpoint()

std::string audacity::cloud::audiocom::ServiceConfig::GetAPIEndpoint ( ) const

API endpoint.

Definition at line 140 of file ServiceConfig.cpp.

141{
142 return mApiEndpoint;
143}

References mApiEndpoint.

◆ GetAPIUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetAPIUrl ( std::string_view  apiURI) const

Helper to construct the full URLs for the API.

Definition at line 174 of file ServiceConfig.cpp.

175{
176 return mApiEndpoint + std::string(apiURI);
177}

References mApiEndpoint.

Referenced by audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::AudiocomUploadOperation::DiscardResult(), audacity::cloud::audiocom::OAuthService::DoAuthorise(), GetCreateProjectUrl(), and audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::AudiocomUploadOperation::InitiateUpload().

Here is the caller graph for this function:

◆ GetAudioURL()

std::string audacity::cloud::audiocom::ServiceConfig::GetAudioURL ( std::string_view  userSlug,
std::string_view  audioSlug,
AudiocomTrace  trace 
) const

Helper to construct the page URL for the authorised upload.

Definition at line 191 of file ServiceConfig.cpp.

194{
195 return Substitute(
196 "{frontend_url}/{user_slug}/audio/{audio_slug}/edit?" MTM_CAMPAIGN,
197 { { "frontend_url", mFrontendURL },
198 { "user_slug", userSlug },
199 { "audio_slug", audioSlug },
200 { "version_number", audacity::ToUTF8(AUDACITY_VERSION_STRING) },
201 { "button_name", GetButtonName(trace) } });
202}
#define MTM_CAMPAIGN
std::string Substitute(std::string pattern, std::initializer_list< std::pair< std::string_view, std::string_view > > substitutions)

References audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::GetButtonName(), mFrontendURL, MTM_CAMPAIGN, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute(), and audacity::ToUTF8().

Referenced by audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::AudiocomUploadOperation::CompletePromise().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetAuthWithRedirectURL()

std::string audacity::cloud::audiocom::ServiceConfig::GetAuthWithRedirectURL ( ) const

Audio.com authorization API to automatically login current user.

Definition at line 169 of file ServiceConfig.cpp.

170{
172}

References mAuthWithRedirectURL.

◆ GetCreateProjectUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetCreateProjectUrl ( ) const

Definition at line 272 of file ServiceConfig.cpp.

273{
274 return GetAPIUrl("/project");
275}
std::string GetAPIUrl(std::string_view apiURI) const
Helper to construct the full URLs for the API.

References GetAPIUrl().

Referenced by audacity::cloud::audiocom::sync::LocalProjectSnapshot::UpdateProjectSnapshot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetCreateSnapshotUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetCreateSnapshotUrl ( std::string_view  projectId) const

Definition at line 278 of file ServiceConfig.cpp.

279{
280 return Substitute(
281 "{api_url}/project/{project_id}/snapshot",
282 { { "api_url", mApiEndpoint }, { "project_id", projectId } });
283}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Referenced by audacity::cloud::audiocom::sync::LocalProjectSnapshot::UpdateProjectSnapshot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDeleteSnapshotUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetDeleteSnapshotUrl ( std::string_view  projectId,
std::string_view  snapshotId 
) const

Definition at line 334 of file ServiceConfig.cpp.

336{
337 return Substitute(
338 "{api_url}/project/{project_id}/snapshot/{snapshot_id}",
339 {
340 { "api_url", mApiEndpoint },
341 { "project_id", projectId },
342 { "snapshot_id", snapshotId },
343 });
344}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Referenced by audacity::cloud::audiocom::sync::LocalProjectSnapshot::DeleteSnapshot().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetDownloadMime()

std::string audacity::cloud::audiocom::ServiceConfig::GetDownloadMime ( ) const

Return the mime type server should store the file. This is a requirement from audiocom

Definition at line 255 of file ServiceConfig.cpp.

256{
257 return mPreferredMimeType;
258}

References mPreferredMimeType.

Referenced by audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::GetUploadRequestPayload().

Here is the caller graph for this function:

◆ GetExportConfig()

rapidjson::Document audacity::cloud::audiocom::ServiceConfig::GetExportConfig ( const std::string &  exporterName) const

Export configuration suitable for the mime type provided.

Definition at line 219 of file ServiceConfig.cpp.

220{
221 if (mimeType == "audio/x-wavpack")
222 {
223 rapidjson::Document config;
224 config.SetObject();
225 config.AddMember("quality", rapidjson::Value(2), config.GetAllocator());
226 config.AddMember("bit_rate", rapidjson::Value(40), config.GetAllocator());
227 config.AddMember("bit_depth", 24, config.GetAllocator());
228 config.AddMember("hybrid_mode", false, config.GetAllocator());
229 return config;
230 }
231 else if (mimeType == "audio/x-flac")
232 {
233 rapidjson::Document config;
234 config.SetObject();
235 config.AddMember(
236 "bit_depth", rapidjson::Value(24), config.GetAllocator());
237 config.AddMember("level", rapidjson::Value(5), config.GetAllocator());
238 }
239 else if (mimeType == "audio/x-wav")
240 {
241 return {};
242 }
243 else if (mimeType == "audio/mpeg")
244 {
245 rapidjson::Document config;
246 config.SetObject();
247 config.AddMember("mode", rapidjson::Value("VBR"), config.GetAllocator());
248 config.AddMember("quality", rapidjson::Value(5), config.GetAllocator());
249 return config;
250 }
251
252 throw std::invalid_argument("unknown mime-type");
253}

Referenced by audacity::cloud::audiocom::sync::MixdownUploader::ExportProject(), and audacity::cloud::audiocom::ShareAudioDialog::ExportProject().

Here is the caller graph for this function:

◆ GetFinishUploadPage()

std::string audacity::cloud::audiocom::ServiceConfig::GetFinishUploadPage ( std::string_view  audioID,
std::string_view  token,
AudiocomTrace  trace 
) const

Helper to construct the page URL for the anonymous upload last stage.

Definition at line 179 of file ServiceConfig.cpp.

181{
182 return Substitute(
184 { { "audio_id", audioID },
185 { "auth_token", token },
186 { "auth_client_id", mOAuthClientID },
187 { "version_number", audacity::ToUTF8(AUDACITY_VERSION_STRING) },
188 { "button_name", GetButtonName(trace) } });
189}

References audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::GetButtonName(), mFinishUploadPage, mOAuthClientID, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute(), and audacity::ToUTF8().

Referenced by audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::AudiocomUploadOperation::CompletePromise().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetNetworkStatsUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetNetworkStatsUrl ( std::string_view  projectId) const

Definition at line 346 of file ServiceConfig.cpp.

347{
348 return Substitute(
349 "{api_url}/project/{project_id}/network-stats",
350 {
351 { "api_url", mApiEndpoint },
352 { "project_id", projectId },
353 });
354}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Here is the call graph for this function:

◆ GetOAuthClientID()

std::string audacity::cloud::audiocom::ServiceConfig::GetOAuthClientID ( ) const

OAuth2 client ID.

Definition at line 154 of file ServiceConfig.cpp.

155{
156 return mOAuthClientID;
157}

References mOAuthClientID.

Referenced by GetOAuthLoginPage(), and audacity::cloud::audiocom::anonymous_namespace{OAuthService.cpp}::WriteClientFields().

Here is the caller graph for this function:

◆ GetOAuthClientSecret()

std::string audacity::cloud::audiocom::ServiceConfig::GetOAuthClientSecret ( ) const

OAuth2 client secret.

Definition at line 159 of file ServiceConfig.cpp.

160{
161 return mOAuthClientSecret;
162}

References mOAuthClientSecret.

Referenced by audacity::cloud::audiocom::anonymous_namespace{OAuthService.cpp}::WriteClientFields().

Here is the caller graph for this function:

◆ GetOAuthLoginPage()

std::string audacity::cloud::audiocom::ServiceConfig::GetOAuthLoginPage ( AudiocomTrace  trace) const

Page to open in browser to initiate OAuth.

Definition at line 145 of file ServiceConfig.cpp.

146{
147 return Substitute(
149 { { "auth_client_id", GetOAuthClientID() },
150 { "version_number", audacity::ToUTF8(AUDACITY_VERSION_STRING) },
151 { "button_name", GetButtonName(trace) } });
152}
std::string GetOAuthClientID() const
OAuth2 client ID.

References audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::GetButtonName(), GetOAuthClientID(), mOAuthLoginPage, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute(), and audacity::ToUTF8().

Here is the call graph for this function:

◆ GetOAuthRedirectURL()

std::string audacity::cloud::audiocom::ServiceConfig::GetOAuthRedirectURL ( ) const

OAuth2 redirect URL. Only used to satisfy the protocol.

Definition at line 164 of file ServiceConfig.cpp.

165{
166 return mOAuthRedirectURL;
167}

References mOAuthRedirectURL.

Referenced by audacity::cloud::audiocom::OAuthService::AuthoriseCode().

Here is the caller graph for this function:

◆ GetPreferredAudioFormats()

std::vector< std::string > audacity::cloud::audiocom::ServiceConfig::GetPreferredAudioFormats ( bool  preferLossless = true) const

Preferred audio format.

Definition at line 210 of file ServiceConfig.cpp.

211{
212 if (preferLossless)
213 return { "audio/x-wavpack", "audio/x-flac", "audio/x-wav" };
214 else
215 return { "audio/mpeg" };
216}

◆ GetProgressCallbackTimeout()

std::chrono::milliseconds audacity::cloud::audiocom::ServiceConfig::GetProgressCallbackTimeout ( ) const

Timeout between progress callbacks.

Definition at line 204 of file ServiceConfig.cpp.

205{
206 return std::chrono::seconds(3);
207}

Referenced by audacity::cloud::audiocom::anonymous_namespace{UploadService.cpp}::AudiocomUploadOperation::HandleUploadProgress().

Here is the caller graph for this function:

◆ GetProjectInfoUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetProjectInfoUrl ( std::string_view  projectId) const

Definition at line 313 of file ServiceConfig.cpp.

314{
315 return Substitute(
316 "{api_url}/project/{project_id}", {
317 { "api_url", mApiEndpoint },
318 { "project_id", projectId },
319 });
320}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Referenced by audacity::cloud::audiocom::anonymous_namespace{CloudSyncService.cpp}::GetProjectInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetProjectPagePath()

std::string audacity::cloud::audiocom::ServiceConfig::GetProjectPagePath ( std::string_view  userSlug,
std::string_view  projectSlug,
AudiocomTrace  trace 
) const

Definition at line 356 of file ServiceConfig.cpp.

359{
360 return Substitute(
361 "/{user_slug}/projects/{project_slug}&" MTM_CAMPAIGN,
362 {
363 { "user_slug", userSlug },
364 { "project_slug", projectSlug },
365 { "version_number", audacity::ToUTF8(AUDACITY_VERSION_STRING) },
366 { "button_name", GetButtonName(trace) },
367 });
368}

References audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::GetButtonName(), MTM_CAMPAIGN, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute(), and audacity::ToUTF8().

Here is the call graph for this function:

◆ GetProjectsPagePath()

std::string audacity::cloud::audiocom::ServiceConfig::GetProjectsPagePath ( std::string_view  userSlug,
AudiocomTrace  trace 
) const

Definition at line 370 of file ServiceConfig.cpp.

372{
373 return Substitute(
374 "/{user_slug}/projects?" MTM_CAMPAIGN,
375 {
376 { "user_slug", userSlug },
377 { "version_number", audacity::ToUTF8(AUDACITY_VERSION_STRING) },
378 { "button_name", GetButtonName(trace) },
379 });
380}

References audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::GetButtonName(), MTM_CAMPAIGN, audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute(), and audacity::ToUTF8().

Here is the call graph for this function:

◆ GetProjectsUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetProjectsUrl ( int  page,
int  pageSize,
std::string_view  searchTerm 
) const

Definition at line 295 of file ServiceConfig.cpp.

297{
298 if (searchTerm.empty())
299 return Substitute(
300 "{api_url}/project?page={page}&per-page={page_size}",
301 { { "api_url", mApiEndpoint },
302 { "page", std::to_string(page) },
303 { "page_size", std::to_string(pageSize) }, });
304
305 return Substitute(
306 "{api_url}/project?page={page}&per-page={page_size}&q={search_term}",
307 { { "api_url", mApiEndpoint },
308 { "page", std::to_string(page) },
309 { "page_size", std::to_string(pageSize) },
310 { "search_term", searchTerm }, });
311}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Here is the call graph for this function:

◆ GetSnapshotInfoUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetSnapshotInfoUrl ( std::string_view  projectId,
std::string_view  snapshotId 
) const

Definition at line 322 of file ServiceConfig.cpp.

324{
325 return Substitute(
326 "{api_url}/project/{project_id}/snapshot/{snapshot_id}?expand=blocks,file_url",
327 {
328 { "api_url", mApiEndpoint },
329 { "project_id", projectId },
330 { "snapshot_id", snapshotId },
331 });
332}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Referenced by audacity::cloud::audiocom::anonymous_namespace{CloudSyncService.cpp}::GetSnapshotInfo().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GetSnapshotSyncUrl()

std::string audacity::cloud::audiocom::ServiceConfig::GetSnapshotSyncUrl ( std::string_view  projectId,
std::string_view  snapshotId 
) const

Definition at line 285 of file ServiceConfig.cpp.

287{
288 return Substitute(
289 "{api_url}/project/{project_id}/snapshot/{snapshot_id}/sync",
290 { { "api_url", mApiEndpoint },
291 { "project_id", projectId },
292 { "snapshot_id", snapshotId } });
293}

References mApiEndpoint, and audacity::cloud::audiocom::anonymous_namespace{ServiceConfig.cpp}::Substitute().

Referenced by audacity::cloud::audiocom::sync::LocalProjectSnapshot::MarkSnapshotSynced(), audacity::cloud::audiocom::sync::anonymous_namespace{ResumedSnaphotUploadOperation.cpp}::ResumedSnaphotUploadOperation::RefreshUrls(), and audacity::cloud::audiocom::sync::LocalProjectSnapshot::StorePendingSnapshot().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ mApiEndpoint

std::string audacity::cloud::audiocom::ServiceConfig::mApiEndpoint
private

◆ mAuthWithRedirectURL

std::string audacity::cloud::audiocom::ServiceConfig::mAuthWithRedirectURL
private

Definition at line 87 of file ServiceConfig.h.

Referenced by GetAuthWithRedirectURL(), and ServiceConfig().

◆ mFinishUploadPage

std::string audacity::cloud::audiocom::ServiceConfig::mFinishUploadPage
private

Definition at line 88 of file ServiceConfig.h.

Referenced by GetFinishUploadPage(), and ServiceConfig().

◆ mFrontendURL

std::string audacity::cloud::audiocom::ServiceConfig::mFrontendURL
private

Definition at line 89 of file ServiceConfig.h.

Referenced by GetAudioURL(), and ServiceConfig().

◆ mOAuthClientID

std::string audacity::cloud::audiocom::ServiceConfig::mOAuthClientID
private

Definition at line 83 of file ServiceConfig.h.

Referenced by GetFinishUploadPage(), GetOAuthClientID(), and ServiceConfig().

◆ mOAuthClientSecret

std::string audacity::cloud::audiocom::ServiceConfig::mOAuthClientSecret
private

Definition at line 84 of file ServiceConfig.h.

Referenced by GetOAuthClientSecret(), and ServiceConfig().

◆ mOAuthLoginPage

std::string audacity::cloud::audiocom::ServiceConfig::mOAuthLoginPage
private

Definition at line 86 of file ServiceConfig.h.

Referenced by GetOAuthLoginPage(), and ServiceConfig().

◆ mOAuthRedirectURL

std::string audacity::cloud::audiocom::ServiceConfig::mOAuthRedirectURL
private

Definition at line 85 of file ServiceConfig.h.

Referenced by GetOAuthRedirectURL(), and ServiceConfig().

◆ mPreferredMimeType

std::string audacity::cloud::audiocom::ServiceConfig::mPreferredMimeType
private

Definition at line 90 of file ServiceConfig.h.

Referenced by GetDownloadMime(), and ServiceConfig().


The documentation for this class was generated from the following files: