Add even more of the source
This should be about everything needed to build so far?
This commit is contained in:
parent
af3619d4fa
commit
849723c9cf
547 changed files with 149239 additions and 0 deletions
188
Server.tproj/GenerateXMLPrefs.cpp
Normal file
188
Server.tproj/GenerateXMLPrefs.cpp
Normal file
|
@ -0,0 +1,188 @@
|
|||
/*
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_START@
|
||||
*
|
||||
* Copyright (c) 1999-2008 Apple Inc. All Rights Reserved.
|
||||
*
|
||||
* This file contains Original Code and/or Modifications of Original Code
|
||||
* as defined in and that are subject to the Apple Public Source License
|
||||
* Version 2.0 (the 'License'). You may not use this file except in
|
||||
* compliance with the License. Please obtain a copy of the License at
|
||||
* http://www.opensource.apple.com/apsl/ and read it before using this
|
||||
* file.
|
||||
*
|
||||
* The Original Code and all software distributed under the License are
|
||||
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
|
||||
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
|
||||
* Please see the License for the specific language governing rights and
|
||||
* limitations under the License.
|
||||
*
|
||||
* @APPLE_LICENSE_HEADER_END@
|
||||
*
|
||||
*/
|
||||
/*
|
||||
File: GenerateXMLPrefs.h
|
||||
|
||||
Contains: Routine that updates a QTSS 1.x 2.x PrefsSource to the new XMLPrefsSource.
|
||||
|
||||
*/
|
||||
|
||||
#include "GenerateXMLPrefs.h"
|
||||
#include "QTSSDataConverter.h"
|
||||
#include "QTSS.h"
|
||||
|
||||
struct PrefConversionInfo
|
||||
{
|
||||
char* fPrefName;
|
||||
char* fModuleName;
|
||||
QTSS_AttrDataType fPrefType;
|
||||
};
|
||||
|
||||
static const PrefConversionInfo kPrefs[] =
|
||||
{
|
||||
{ "rtsp_timeout", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "real_rtsp_timeout", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "rtp_timeout", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "maximum_connections", NULL, qtssAttrDataTypeSInt32 },
|
||||
{ "maximum_bandwidth", NULL, qtssAttrDataTypeSInt32 },
|
||||
{ "movie_folder", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "bind_ip_addr", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "break_on_assert", NULL, qtssAttrDataTypeBool16 },
|
||||
{ "auto_restart", NULL, qtssAttrDataTypeBool16 },
|
||||
{ "total_bytes_update", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "average_bandwidth_update", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "safe_play_duration", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "module_folder", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "error_logfile_name", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "error_logfile_dir", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "error_logfile_interval", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "error_logfile_size", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "error_logfile_verbosity", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "screen_logging", NULL, qtssAttrDataTypeBool16 },
|
||||
{ "error_logging", NULL, qtssAttrDataTypeBool16 },
|
||||
{ "drop_all_video_delay", NULL, qtssAttrDataTypeSInt32 },
|
||||
{ "start_thinning_delay", NULL, qtssAttrDataTypeSInt32 },
|
||||
{ "large_window_size", NULL, qtssAttrDataTypeSInt32 },
|
||||
{ "window_size_threshold", NULL, qtssAttrDataTypeSInt32 },
|
||||
{ "min_tcp_buffer_size", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "max_tcp_buffer_size", NULL, qtssAttrDataTypeUInt32 },
|
||||
{ "tcp_seconds_to_buffer", NULL, qtssAttrDataTypeFloat32 },
|
||||
{ "do_report_http_connection_ip_address", NULL, qtssAttrDataTypeBool16 },
|
||||
{ "default_authorization_realm", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "run_user_name", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "run_group_name", NULL, qtssAttrDataTypeCharArray },
|
||||
{ "append_source_addr_in_transport", NULL, qtssAttrDataTypeBool16 },
|
||||
{ "rtsp_port", NULL, qtssAttrDataTypeUInt16 },
|
||||
|
||||
{ "request_logging", "QTSSAccessLogModule", qtssAttrDataTypeBool16 },
|
||||
{ "request_logfile_name", "QTSSAccessLogModule", qtssAttrDataTypeCharArray },
|
||||
{ "request_logfile_dir", "QTSSAccessLogModule", qtssAttrDataTypeCharArray },
|
||||
{ "request_logfile_size", "QTSSAccessLogModule", qtssAttrDataTypeUInt32 },
|
||||
{ "request_logfile_interval", "QTSSAccessLogModule", qtssAttrDataTypeUInt32 },
|
||||
|
||||
{ "history_update_interval", "QTSSSvrControlModule", qtssAttrDataTypeUInt32 },
|
||||
|
||||
{ "buffer_seconds", "QTSSFileModule", qtssAttrDataTypeUInt32 },
|
||||
{ "sdp_url", "QTSSFileModule", qtssAttrDataTypeCharArray },
|
||||
{ "admin_email", "QTSSFileModule", qtssAttrDataTypeCharArray },
|
||||
{ "max_advance_send_time", "QTSSFileModule", qtssAttrDataTypeUInt32 },
|
||||
|
||||
{ "reflector_delay", "QTSSReflectorModule", qtssAttrDataTypeUInt32 },
|
||||
{ "reflector_bucket_size", "QTSSReflectorModule", qtssAttrDataTypeUInt32 },
|
||||
|
||||
{ "web_stats_url", "QTSSWebStatsModule", qtssAttrDataTypeCharArray },
|
||||
|
||||
{ "loss_thin_tolerance", "QTSSFlowControlModule", qtssAttrDataTypeUInt32 },
|
||||
{ "num_losses_to_thin", "QTSSFlowControlModule", qtssAttrDataTypeUInt32 },
|
||||
{ "loss_thick_tolerance", "QTSSFlowControlModule", qtssAttrDataTypeUInt32 },
|
||||
{ "num_losses_to_thick", "QTSSFlowControlModule", qtssAttrDataTypeUInt32 },
|
||||
{ "num_worses_to_thin", "QTSSFlowControlModule", qtssAttrDataTypeUInt32 },
|
||||
|
||||
{ "relay_stats_url", "QTSSRelayModule", qtssAttrDataTypeCharArray },
|
||||
{ "relay_prefs_file", "QTSSRelayModule", qtssAttrDataTypeCharArray },
|
||||
|
||||
{ "num_conns_per_ip_addr", "QTSSSpamDefenseModule", qtssAttrDataTypeUInt32 },
|
||||
|
||||
{ "modAccess_usersfilepath", "QTSSAccessModule", qtssAttrDataTypeCharArray },
|
||||
{ "modAccess_groupsfilepath", "QTSSAccessModule", qtssAttrDataTypeCharArray },
|
||||
{ "modAccess_qtaccessfilename", "QTSSAccessModule", qtssAttrDataTypeCharArray },
|
||||
|
||||
//
|
||||
// This element will be used if the pref is something we don't know about.
|
||||
// Just have unknown prefs default to be server prefs with a type of char
|
||||
{ NULL, NULL, qtssAttrDataTypeCharArray }
|
||||
};
|
||||
|
||||
int GenerateAllXMLPrefs(FilePrefsSource* inPrefsSource, XMLPrefsParser* inXMLPrefs)
|
||||
{
|
||||
for (UInt32 x = 0; x < inPrefsSource->GetNumKeys(); x++)
|
||||
{
|
||||
//
|
||||
// Get the name of this pref
|
||||
char* thePrefName = inPrefsSource->GetKeyAtIndex(x);
|
||||
|
||||
//
|
||||
// Find the information corresponding to this pref in the above array
|
||||
UInt32 y = 0;
|
||||
for ( ; kPrefs[y].fPrefName != NULL; y++)
|
||||
if (::strcmp(thePrefName, kPrefs[y].fPrefName) == 0)
|
||||
break;
|
||||
|
||||
char* theTypeString = (char*)QTSSDataConverter::TypeToTypeString(kPrefs[y].fPrefType);
|
||||
ContainerRef module = inXMLPrefs->GetRefForModule(kPrefs[y].fModuleName);
|
||||
ContainerRef pref = inXMLPrefs->AddPref(module, thePrefName, theTypeString);
|
||||
|
||||
char* theValue = inPrefsSource->GetValueAtIndex(x);
|
||||
|
||||
static char* kTrue = "true";
|
||||
static char* kFalse = "false";
|
||||
|
||||
//
|
||||
// If the pref is a Bool16, the new pref format uses "true" & "false",
|
||||
// the old one uses "enabled" and "disabled", so we have to explicitly convert.
|
||||
if (kPrefs[y].fPrefType == qtssAttrDataTypeBool16)
|
||||
{
|
||||
if (::strcmp(theValue, "enabled") == 0)
|
||||
theValue = kTrue;
|
||||
else
|
||||
theValue = kFalse;
|
||||
}
|
||||
inXMLPrefs->AddPrefValue(pref, theValue);
|
||||
}
|
||||
|
||||
return inXMLPrefs->WritePrefsFile();
|
||||
}
|
||||
|
||||
int GenerateStandardXMLPrefs(PrefsSource* inPrefsSource, XMLPrefsParser* inXMLPrefs)
|
||||
{
|
||||
char thePrefBuf[1024];
|
||||
|
||||
for (UInt32 x = 0; kPrefs[x].fPrefName != NULL; x++)
|
||||
{
|
||||
char* theTypeString = (char*)QTSSDataConverter::TypeToTypeString(kPrefs[x].fPrefType);
|
||||
ContainerRef module = inXMLPrefs->GetRefForModule(kPrefs[x].fModuleName);
|
||||
ContainerRef pref = inXMLPrefs->AddPref(module, kPrefs[x].fPrefName, theTypeString);
|
||||
|
||||
for (UInt32 y = 0; true; y++)
|
||||
{
|
||||
if (inPrefsSource->GetValueByIndex(kPrefs[x].fPrefName, y, thePrefBuf) == 0)
|
||||
break;
|
||||
|
||||
//
|
||||
// If the pref is a Bool16, the new pref format uses "true" & "false",
|
||||
// the old one uses "enabled" and "disabled", so we have to explicitly convert.
|
||||
if (kPrefs[x].fPrefType == qtssAttrDataTypeBool16)
|
||||
{
|
||||
if (::strcmp(thePrefBuf, "enabled") == 0)
|
||||
::strcpy(thePrefBuf, "true");
|
||||
else
|
||||
::strcpy(thePrefBuf, "false");
|
||||
}
|
||||
inXMLPrefs->AddPrefValue(pref, thePrefBuf);
|
||||
}
|
||||
}
|
||||
|
||||
return inXMLPrefs->WritePrefsFile();
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue