diff --git a/CMakeLists.txt b/CMakeLists.txt index 19932aa56..b6144be09 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -118,7 +118,7 @@ if(ENABLE_TUNNEL) set(ENABLE_TUNNEL OFF CACHE BOOL "Enable tunnel support." FORCE) endif() endif() -if(SQLITE_STORAGE_ENABLED) +if(ENABLE_SQLITE_STORAGE) find_package(Sqlite3 REQUIRED) endif() if(ENABLE_NOTIFY) @@ -204,7 +204,7 @@ if(ZLIB_FOUND) endif() if(SQLITE3_FOUND) include_directories(${SQLITE3_INCLUDE_DIRS}) - if(SQLITE_STORAGE_ENABLED) + if(ENABLE_SQLITE_STORAGE) add_definitions("-DSQLITE_STORAGE_ENABLED") endif() endif() diff --git a/NEWS b/NEWS index 4bc7aace8..67738b71e 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +linphone-3.10.0 -- May xxth, 2016 + * Video conference support through a conference server (SDK only) + * Disable dummy STUN packets sending when ICE is activated. + * Signal AVPF support as AVP : Enable rtcp feedback on RTP/AVP by default + * Adding linphone daemon + * gtk - Show links to files received in chat by file transfer + * gtk - Debug window now stores “scroll to end” preference + * gtk - Added button to take screenshot of video call +  * Fix - gtk : Fixed issue busy presence not displayed in red + * Fix 0002832: Date/time of calls not shown in call history on Windows. + * Fix 0002690: Bad SDP when no audio codec has been enabled + * Fix 0000750: DTMF RFC2833 event always goes up in the same LinphoneCoreListener + linphone-3.9.1 -- November 16th, 2015 * Fix crash when recording video calls with the VP8 codec * Fix H.264 codec support in Mac OS X package diff --git a/build/windows10/liblinphone-tester/App.xaml b/build/windows10/liblinphone-tester/App.xaml deleted file mode 100644 index 8ed2e3f95..000000000 --- a/build/windows10/liblinphone-tester/App.xaml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - diff --git a/build/windows10/liblinphone-tester/App.xaml.cs b/build/windows10/liblinphone-tester/App.xaml.cs deleted file mode 100644 index f3c4d0801..000000000 --- a/build/windows10/liblinphone-tester/App.xaml.cs +++ /dev/null @@ -1,132 +0,0 @@ -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.ApplicationModel; -using Windows.ApplicationModel.Activation; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; - -// The Blank Application template is documented at http://go.microsoft.com/fwlink/?LinkId=402347&clcid=0x409 - -namespace liblinphone_tester -{ - /// - /// Provides application-specific behavior to supplement the default Application class. - /// - sealed partial class App : Application - { - /// - /// Allows tracking page views, exceptions and other telemetry through the Microsoft Application Insights service. - /// - public static Microsoft.ApplicationInsights.TelemetryClient TelemetryClient; - - /// - /// Initializes the singleton application object. This is the first line of authored code - /// executed, and as such is the logical equivalent of main() or WinMain(). - /// - public App() - { - TelemetryClient = new Microsoft.ApplicationInsights.TelemetryClient(); - - this.InitializeComponent(); - this.Suspending += OnSuspending; - } - - /// - /// Invoked when the application is launched normally by the end user. Other entry points - /// will be used such as when the application is launched to open a specific file. - /// - /// Details about the launch request and process. - protected override void OnLaunched(LaunchActivatedEventArgs e) - { - -#if DEBUG - if (System.Diagnostics.Debugger.IsAttached) - { - this.DebugSettings.EnableFrameRateCounter = true; - } -#endif - - Frame rootFrame = Window.Current.Content as Frame; - - // Do not repeat app initialization when the Window already has content, - // just ensure that the window is active - if (rootFrame == null) - { - // Create a Frame to act as the navigation context and navigate to the first page - rootFrame = new Frame(); - - rootFrame.NavigationFailed += OnNavigationFailed; - - if (e.PreviousExecutionState == ApplicationExecutionState.Terminated) - { - //TODO: Load state from previously suspended application - } - - // Place the frame in the current Window - Window.Current.Content = rootFrame; - } - - if (rootFrame.Content == null) - { - // When the navigation stack isn't restored navigate to the first page, - // configuring the new page by passing required information as a navigation - // parameter - rootFrame.Navigate(typeof(MainPage), e.Arguments); - } - // Ensure the current window is active - Window.Current.Activate(); - } - - /// - /// Invoked when Navigation to a certain page fails - /// - /// The Frame which failed navigation - /// Details about the navigation failure - void OnNavigationFailed(object sender, NavigationFailedEventArgs e) - { - throw new Exception("Failed to load Page " + e.SourcePageType.FullName); - } - - /// - /// Invoked when application execution is being suspended. Application state is saved - /// without knowing whether the application will be terminated or resumed with the contents - /// of memory still intact. - /// - /// The source of the suspend request. - /// Details about the suspend request. - private void OnSuspending(object sender, SuspendingEventArgs e) - { - var deferral = e.SuspendingOperation.GetDeferral(); - //TODO: Save application state and stop any background activity - deferral.Complete(); - } - - protected override void OnActivated(IActivatedEventArgs args) - { - if (args.Kind == ActivationKind.Protocol) - { - var protocolArgs = (ProtocolActivatedEventArgs)args; - var uri = protocolArgs.Uri; - Frame rootFrame = Window.Current.Content as Frame; - if (rootFrame == null) - rootFrame = new Frame(); - - rootFrame.NavigationFailed += OnNavigationFailed; - rootFrame.Navigate(typeof(MainPage), uri); - Window.Current.Content = rootFrame; - Window.Current.Activate(); - } - base.OnActivated(args); - } - } -} diff --git a/build/windows10/liblinphone-tester/ApplicationInsights.config b/build/windows10/liblinphone-tester/ApplicationInsights.config deleted file mode 100644 index 8a6452a34..000000000 --- a/build/windows10/liblinphone-tester/ApplicationInsights.config +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/build/windows10/liblinphone-tester/Assets/Logo.png b/build/windows10/liblinphone-tester/Assets/Logo.png deleted file mode 100644 index ecfbad551..000000000 Binary files a/build/windows10/liblinphone-tester/Assets/Logo.png and /dev/null differ diff --git a/build/windows10/liblinphone-tester/Assets/SmallLogo.png b/build/windows10/liblinphone-tester/Assets/SmallLogo.png deleted file mode 100644 index 18c25f038..000000000 Binary files a/build/windows10/liblinphone-tester/Assets/SmallLogo.png and /dev/null differ diff --git a/build/windows10/liblinphone-tester/Assets/SplashScreen.png b/build/windows10/liblinphone-tester/Assets/SplashScreen.png deleted file mode 100644 index 0d83a7980..000000000 Binary files a/build/windows10/liblinphone-tester/Assets/SplashScreen.png and /dev/null differ diff --git a/build/windows10/liblinphone-tester/Assets/StoreLogo.png b/build/windows10/liblinphone-tester/Assets/StoreLogo.png deleted file mode 100644 index bdbfc51e2..000000000 Binary files a/build/windows10/liblinphone-tester/Assets/StoreLogo.png and /dev/null differ diff --git a/build/windows10/liblinphone-tester/Assets/WideLogo.png b/build/windows10/liblinphone-tester/Assets/WideLogo.png deleted file mode 100644 index 85fd4db8f..000000000 Binary files a/build/windows10/liblinphone-tester/Assets/WideLogo.png and /dev/null differ diff --git a/build/windows10/liblinphone-tester/DataModel/UnitTestDataSource.cs b/build/windows10/liblinphone-tester/DataModel/UnitTestDataSource.cs deleted file mode 100644 index a5bc5bdc3..000000000 --- a/build/windows10/liblinphone-tester/DataModel/UnitTestDataSource.cs +++ /dev/null @@ -1,251 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using liblinphone_tester_runtime_component; -using System.Collections.ObjectModel; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Media; -using System.ComponentModel; -using Windows.UI; -using Windows.UI.Xaml.Documents; -using Windows.UI.Core; - -namespace liblinphone_tester.DataModel -{ - public class OutputTrace - { - public OutputTrace(String lev, String msg) - { - Level = lev; - Msg = msg; - } - - public String Level { get; private set; } - public String Msg { get; private set; } - } - - public class UnitTestSuite - { - public UnitTestSuite(string name) - { - Name = name; - Cases = new ObservableCollection(); - Selected = false; - } - - public string Name { get; private set; } - public bool Selected - { - get { return Cases.All(x => x.Selected); } - set - { - foreach (UnitTestCase c in Cases) - { - c.Selected = value; - } - } - } - public ObservableCollection Cases { get; private set; } - } - - public enum UnitTestCaseState - { - NotRun, - Success, - Failure - } - - public class UnitTestCase : INotifyPropertyChanged - { - public UnitTestCase(UnitTestSuite suite, string name) - { - _suite = new WeakReference(suite); - Name = name; - Selected = false; - State = UnitTestCaseState.NotRun; - Traces = new ObservableCollection(); - } - - public UnitTestSuite Suite - { - get { return _suite.Target as UnitTestSuite; } - } - public string Name { get; private set; } - public bool Selected - { - get { return _selected; } - set - { - _selected = value; - RaisePropertyChanged("Selected"); - } - } - public UnitTestCaseState State - { - get { return _state; } - set - { - _state = value; - RaisePropertyChanged("State"); - } - } - public ObservableCollection Traces - { - get { return _traces; } - set - { - _traces = value; - RaisePropertyChanged("Traces"); - } - } - public CoreDispatcher Dispatcher { get; set; } - - public event PropertyChangedEventHandler PropertyChanged; - - protected void RaisePropertyChanged(string name) - { - if (PropertyChanged != null) - { - PropertyChanged(this, new PropertyChangedEventArgs(name)); - } - } - - private WeakReference _suite; - private bool _selected; - private UnitTestCaseState _state; - private ObservableCollection _traces; - } - - public sealed class UnitTestDataSource - { - private static UnitTestDataSource _unitTestDataSource = new UnitTestDataSource(); - private ObservableCollection _suites = new ObservableCollection(); - - public ObservableCollection Suites - { - get { return this._suites; } - } - - public static IEnumerable GetSuites(LibLinphoneTester tester) - { - return _unitTestDataSource.FillSuites(tester); - } - - private IEnumerable FillSuites(LibLinphoneTester tester) - { - if (this.Suites.Count != 0) return this.Suites; - for (int i = 0; i < tester.nbTestSuites(); i++) - { - UnitTestSuite suite = new UnitTestSuite(tester.testSuiteName(i)); - for (int j = 0; j < tester.nbTests(suite.Name); j++) - { - suite.Cases.Add(new UnitTestCase(suite, tester.testName(suite.Name, j))); - } - this.Suites.Add(suite); - } - return this.Suites; - } - } - - public sealed class UnitTestCaseStateToSymbolConverter : IValueConverter - { - object IValueConverter.Convert(object value, Type targetType, object parametr, string language) - { - if (!value.GetType().Equals(typeof(UnitTestCaseState))) - { - throw new ArgumentException("Only UnitTestCaseState is supported"); - } - if (targetType.Equals(typeof(Symbol))) - { - switch ((UnitTestCaseState)value) - { - case UnitTestCaseState.Success: - return Symbol.Like; - case UnitTestCaseState.Failure: - return Symbol.Dislike; - case UnitTestCaseState.NotRun: - default: - return Symbol.Help; - } - } - else - { - throw new ArgumentException(string.Format("Unsupported type {0}", targetType.FullName)); - } - } - - object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language) - { - throw new NotImplementedException(); - } - } - - public sealed class UnitTestCaseStateToSymbolColorConverter : IValueConverter - { - object IValueConverter.Convert(object value, Type targetType, object parameter, string language) - { - if (!value.GetType().Equals(typeof(UnitTestCaseState))) - { - throw new ArgumentException("Only UnitTestCaseState is supported"); - } - if (targetType.Equals(typeof(Brush))) - { - switch ((UnitTestCaseState)value) - { - case UnitTestCaseState.Success: - return new SolidColorBrush(Colors.ForestGreen); - case UnitTestCaseState.Failure: - return new SolidColorBrush(Colors.IndianRed); - case UnitTestCaseState.NotRun: - default: - return new SolidColorBrush(Colors.LightGray); - } - } - else - { - throw new ArgumentException(string.Format("Unsupported format {0}", targetType.FullName)); - } - } - - object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language) - { - throw new NotImplementedException(); - } - } - - public sealed class OutputTraceLevelToColorConverter : IValueConverter - { - object IValueConverter.Convert(object value, Type targetType, object parameter, string language) - { - if (!value.GetType().Equals(typeof(String))) - { - throw new ArgumentException("Only String is supported"); - } - if (targetType.Equals(typeof(Brush))) - { - if ((String)value == "Error") - { - return new SolidColorBrush(Colors.IndianRed); - } - else if ((String)value == "Warning") - { - return new SolidColorBrush(Colors.Orange); - } - return new SolidColorBrush(Colors.Black); - } - else - { - throw new ArgumentException(string.Format("Unsupported format {0}", targetType.FullName)); - } - } - - object IValueConverter.ConvertBack(object value, Type targetType, object parameter, string language) - { - throw new NotImplementedException(); - } - } -} diff --git a/build/windows10/liblinphone-tester/MainPage.xaml b/build/windows10/liblinphone-tester/MainPage.xaml deleted file mode 100644 index 2cdea219c..000000000 --- a/build/windows10/liblinphone-tester/MainPage.xaml +++ /dev/null @@ -1,128 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build/windows10/liblinphone-tester/MainPage.xaml.cs b/build/windows10/liblinphone-tester/MainPage.xaml.cs deleted file mode 100644 index 930e6d5eb..000000000 --- a/build/windows10/liblinphone-tester/MainPage.xaml.cs +++ /dev/null @@ -1,200 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.IO; -using System.Linq; -using System.Runtime.InteropServices.WindowsRuntime; -using Windows.Foundation; -using Windows.Foundation.Collections; -using Windows.UI.Xaml; -using Windows.UI.Xaml.Controls; -using Windows.UI.Xaml.Controls.Primitives; -using Windows.UI.Xaml.Data; -using Windows.UI.Xaml.Input; -using Windows.UI.Xaml.Media; -using Windows.UI.Xaml.Navigation; -using liblinphone_tester.DataModel; -using liblinphone_tester_runtime_component; -using System.Threading.Tasks; -using Windows.UI.Core; -using Windows.UI.Xaml.Documents; -using Windows.Storage; - -// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x409 - -namespace liblinphone_tester -{ - /// - /// An empty page that can be used on its own or navigated to within a Frame. - /// - public sealed partial class MainPage : Page, OutputTraceListener - { - public MainPage() - { - this.InitializeComponent(); - } - - protected override void OnNavigatedTo(NavigationEventArgs e) - { - base.OnNavigatedTo(e); - if ((e.Parameter is Uri) && (e.Parameter.ToString().Equals("liblinphone-tester:autolaunch"))) - { - AutoLaunch(); - } - else - { - LibLinphoneTester.Instance.initialize(ApplicationData.Current.LocalFolder, true); - _suites = UnitTestDataSource.GetSuites(LibLinphoneTester.Instance); - } - } - - public IEnumerable Suites - { - get { return _suites; } - } - - private IEnumerable _suites; - - private void SelectAll_Click(object sender, RoutedEventArgs e) - { - bool allSelected = Suites.All(x => x.Selected); - foreach (UnitTestSuite suite in Suites) - { - suite.Selected = !allSelected; - } - } - - private void RunSelected_Click(object sender, RoutedEventArgs e) - { - int nbCases = 0; - foreach (UnitTestSuite suite in Suites) - { - foreach (UnitTestCase c in suite.Cases) - { - if (c.Selected) nbCases++; - } - } - if (nbCases == 0) return; - - PrepareRun(nbCases); - - var tup = new Tuple, bool?>(Suites, Verbose.IsChecked); - var t = Task.Factory.StartNew(async (object parameters) => - { - var p = parameters as Tuple, bool?>; - IEnumerable suites = p.Item1; - bool verbose = p.Item2 != null ? (bool)p.Item2 : false; - foreach (UnitTestSuite suite in suites) - { - foreach (UnitTestCase c in suite.Cases) - { - if (c.Selected) - { - await RunUnitTestCase(c, verbose); - } - } - } - }, tup); - } - - private void RunSingle_Click(object sender, RoutedEventArgs e) - { - PrepareRun(1); - - var tup = new Tuple(DisplayedTestCase, Verbose.IsChecked); - var t = Task.Factory.StartNew(async (object parameters) => - { - var p = parameters as Tuple; - UnitTestCase c = p.Item1; - bool verbose = p.Item2 != null ? (bool)p.Item2 : false; - await RunUnitTestCase(c, verbose); - }, tup); - } - - private void PrepareRun(int nbCases) - { - CommandBar.IsEnabled = false; - ProgressIndicator.IsEnabled = true; - ProgressIndicator.Minimum = 0; - ProgressIndicator.Maximum = nbCases; - ProgressIndicator.Value = 0; - LibLinphoneTester.Instance.setOutputTraceListener(this); - } - - private async Task RunUnitTestCase(UnitTestCase c, bool verbose) - { - UnitTestCaseState newState = UnitTestCaseState.NotRun; - await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => - { - RunningTestCase = c; - }); - await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => - { - c.Traces.Clear(); - }); - c.Dispatcher = Dispatcher; - if (LibLinphoneTester.Instance.run(c.Suite.Name, c.Name, verbose)) - { - newState = UnitTestCaseState.Failure; - } - else - { - newState = UnitTestCaseState.Success; - } - await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => - { - c.State = newState; - ProgressIndicator.Value += 1; - if (ProgressIndicator.Value == ProgressIndicator.Maximum) - { - UnprepareRun(); - } - }); - } - - private void UnprepareRun() - { - LibLinphoneTester.Instance.setOutputTraceListener(null); - RunningTestCase = null; - ProgressIndicator.IsEnabled = false; - CommandBar.IsEnabled = true; - } - - private void UnitTestCase_Click(object sender, ItemClickEventArgs e) - { - DisplayedTestCase = (e.ClickedItem as UnitTestCase); - TestResultPage.DataContext = DisplayedTestCase; - TestResultState.Visibility = Visibility.Visible; - TestResultRun.Visibility = Visibility.Visible; - } - - public async void outputTrace(String lev, String msg) - { - await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => - { - if (RunningTestCase != null) - { - RunningTestCase.Traces.Add(new OutputTrace(lev, msg)); - } - }); - } - - private void AutoLaunch() - { - CommandBar.IsEnabled = false; - ProgressIndicator.IsIndeterminate = true; - ProgressIndicator.IsEnabled = true; - LibLinphoneTester.Instance.initialize(ApplicationData.Current.LocalFolder, false); - LibLinphoneTester.Instance.runAllToXml(); - if (LibLinphoneTester.Instance.AsyncAction != null) - { - LibLinphoneTester.Instance.AsyncAction.Completed += (asyncInfo, asyncStatus) => { - App.Current.Exit(); - }; - } - } - - private UnitTestCase RunningTestCase; - private UnitTestCase DisplayedTestCase; - } -} diff --git a/build/windows10/liblinphone-tester/Package.appxmanifest b/build/windows10/liblinphone-tester/Package.appxmanifest deleted file mode 100644 index b8acf8233..000000000 --- a/build/windows10/liblinphone-tester/Package.appxmanifest +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - liblinphone-tester - Belledonne Communications - Assets\StoreLogo.png - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/build/windows10/liblinphone-tester/Properties/AssemblyInfo.cs b/build/windows10/liblinphone-tester/Properties/AssemblyInfo.cs deleted file mode 100644 index d4b2a0c81..000000000 --- a/build/windows10/liblinphone-tester/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("liblinphone-tester")] -[assembly: AssemblyDescription("LibLinphone tester for Windows 10")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Belledonne Communications")] -[assembly: AssemblyProduct("liblinphone-tester-windows10")] -[assembly: AssemblyCopyright("Copyright © 2015 Belledonne Communications")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] -[assembly: ComVisible(false)] \ No newline at end of file diff --git a/build/windows10/liblinphone-tester/Properties/Default.rd.xml b/build/windows10/liblinphone-tester/Properties/Default.rd.xml deleted file mode 100644 index 80a960ce3..000000000 --- a/build/windows10/liblinphone-tester/Properties/Default.rd.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/build/windows10/liblinphone-tester/liblinphone-tester-runtime-component/liblinphone-tester-runtime-component.vcxproj b/build/windows10/liblinphone-tester/liblinphone-tester-runtime-component/liblinphone-tester-runtime-component.vcxproj deleted file mode 100644 index c1c1fa623..000000000 --- a/build/windows10/liblinphone-tester/liblinphone-tester-runtime-component/liblinphone-tester-runtime-component.vcxproj +++ /dev/null @@ -1,142 +0,0 @@ - - - - - Debug - ARM - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - Win32 - - - Release - x64 - - - - - - - - - - - {acf5ea95-d647-4d0c-8f97-2cd9aae8a2e0} - - - {74cad9d0-d8ae-4896-b71b-b2d9b48f30aa} - - - {8c1bc968-c5c8-4d4b-9ef3-d6a065fc7c97} - - - {6a18bbb9-08d1-41a8-be57-17fc992cc36f} - - - {bb8ebb21-f22c-4a68-99cb-67fa36c495e3} - - - {b84d5c3b-6de5-49c8-b3dd-5eb67b01a527} - - - {266b769a-c04e-424c-9033-7209f0425bc0} - - - {878cf9d3-9761-479e-a715-a1de9f99cb78} - - - {2d0e44c4-e51d-4911-b876-345d1e5e5209} - - - {a34f450d-392d-4660-9618-810bd695b3b0} - - - {545f846d-7f19-4d6d-a50b-172a7c9b61e7} - - - {9eb3fe8d-2d91-4d29-a3bb-98ddb51d45b7} - - - - {1ce10f06-8fad-437f-b3d7-3b7a8909a190} - WindowsRuntimeComponent - liblinphone-tester-runtime-component - liblinphone_tester_runtime_component - en-US - 14.0 - true - Windows Store - 10 - 10.0.10240.0 - 10.0.10069.0 - - - - DynamicLibrary - true - v140 - - - DynamicLibrary - false - true - v140 - - - - - - - - - - - - false - $(SolutionDir)$(Platform)\$(Configuration)\ - - - - NotUsing - IN_LINPHONE;_WINRT_DLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - $(ProjectDir)..\..\..\..\coreapi;$(ProjectDir)..\..\..\..\tester\common;$(ProjectDir)..\..\..\..\mediastreamer2\include;$(ProjectDir)..\..\..\..\oRTP\include;%(AdditionalIncludeDirectories) - - - Console - false - - - - - NotUsing - IN_LINPHONE;_WINRT_DLL;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - $(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories) - /bigobj %(AdditionalOptions) - 28204 - $(ProjectDir)..\..\..\..\coreapi;$(ProjectDir)..\..\..\..\tester\common;$(ProjectDir)..\..\..\..\mediastreamer2\include;$(ProjectDir)..\..\..\..\oRTP\include;%(AdditionalIncludeDirectories) - - - Console - false - - - - - - \ No newline at end of file diff --git a/build/windows10/liblinphone-tester/liblinphone-tester-static/liblinphone-tester-static.vcxproj b/build/windows10/liblinphone-tester/liblinphone-tester-static/liblinphone-tester-static.vcxproj deleted file mode 100644 index b5cb1b46c..000000000 --- a/build/windows10/liblinphone-tester/liblinphone-tester-static/liblinphone-tester-static.vcxproj +++ /dev/null @@ -1,130 +0,0 @@ - - - - - Debug - ARM - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - Win32 - - - Release - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {b6cdf482-7da3-43d4-9b12-70150106c191} - - - {025e28a8-9dfb-4015-ad56-19896aa6cc9b} - - - {88e3c241-eb6f-4c84-80dc-89b8961daf80} - - - {2e56b851-9d8d-40e5-84bb-e4ee63b71d25} - - - {c7139899-d8bc-48a3-a437-6844a8baabef} - - - - {9eb3fe8d-2d91-4d29-a3bb-98ddb51d45b7} - StaticLibrary - liblinphone-tester-static - liblinphone_tester_static - en-US - 14.0 - true - Windows Store - 10 - 10.0.10240.0 - 10.0.10069.0 - - - - StaticLibrary - true - v140 - - - StaticLibrary - false - true - v140 - - - - - - - - - - - - false - $(SolutionDir)$(Platform)\$(Configuration)\ - - - - NotUsing - false - true - $(SolutionDir)$(Platform)\$(Configuration)\include;$(ProjectDir)..\..\..\..\tester;$(ProjectDir)..\..\..\..\tester\common;$(ProjectDir)..\..\liblinphone;$(ProjectDir)..\..\..\..\coreapi;$(ProjectDir)..\..\..\..\include;$(ProjectDir)..\..\..\..\mediastreamer2\include;$(ProjectDir)..\..\..\..\oRTP\include;$(ProjectDir)..\..\..\..\..\belle-sip\include;$(ProjectDir)..\..\..\..\..\sqlite;$(ProjectDir)..\..\..\..\..\zlib;$(ProjectDir)..\..\..\..\..\cunit\build\windows10\cunit\$(Platform)\$(Configuration);%(AdditionalIncludeDirectories) - BC_CONFIG_FILE="config.h";IN_LINPHONE;MSG_STORAGE_ENABLED;VIDEO_ENABLED;HAVE_CU_GET_SUITE;HAVE_ZLIB;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) - - - Console - false - false - - - - - - \ No newline at end of file diff --git a/build/windows10/liblinphone-tester/liblinphone-tester.csproj b/build/windows10/liblinphone-tester/liblinphone-tester.csproj deleted file mode 100644 index 7cf0be904..000000000 --- a/build/windows10/liblinphone-tester/liblinphone-tester.csproj +++ /dev/null @@ -1,328 +0,0 @@ - - - - - Debug - x86 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5} - AppContainerExe - Properties - liblinphone_tester - liblinphone-tester - en-US - UAP - 10.0.10240.0 - 10.0.10069.0 - 14 - true - 512 - {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - liblinphone-tester_TemporaryKey.pfx - - - true - bin\ARM\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - ARM - false - prompt - true - - - bin\ARM\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - ARM - false - prompt - true - true - - - true - bin\x64\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x64 - false - prompt - true - - - bin\x64\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x64 - false - prompt - true - true - - - true - bin\x86\Debug\ - DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP - ;2008 - full - x86 - false - prompt - true - - - bin\x86\Release\ - TRACE;NETFX_CORE;WINDOWS_UWP - true - ;2008 - pdbonly - x86 - false - prompt - true - true - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - - App.xaml - - - - MainPage.xaml - - - - - - Designer - - - - - - - - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - - - {1ce10f06-8fad-437f-b3d7-3b7a8909a190} - liblinphone-tester-runtime-component - - - - - 14.0 - - - - XCopy /I /Y $(ProjectDir)..\..\..\tester\messages.db $(ProjectDir)Assets\ -XCopy /I /Y $(ProjectDir)..\..\..\tester\tester_hosts $(ProjectDir)Assets\ -XCopy /I /Y $(ProjectDir)..\..\..\tester\certificates\altname $(ProjectDir)Assets\certificates\altname -XCopy /I /Y $(ProjectDir)..\..\..\tester\certificates\cn $(ProjectDir)Assets\certificates\cn -XCopy /I /Y $(ProjectDir)..\..\..\tester\images $(ProjectDir)Assets\images -XCopy /I /Y $(ProjectDir)..\..\..\tester\rcfiles $(ProjectDir)Assets\rcfiles -XCopy /I /Y $(ProjectDir)..\..\..\tester\sounds $(ProjectDir)Assets\sounds -XCopy /I /Y $(ProjectDir)..\..\..\tester\common $(ProjectDir)Assets\common - - - diff --git a/build/windows10/liblinphone-tester/liblinphone-tester.sln b/build/windows10/liblinphone-tester/liblinphone-tester.sln deleted file mode 100644 index 376919bff..000000000 --- a/build/windows10/liblinphone-tester/liblinphone-tester.sln +++ /dev/null @@ -1,488 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.23107.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "liblinphone-tester", "liblinphone-tester.csproj", "{EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinphone-tester-static", "liblinphone-tester-static\liblinphone-tester-static.vcxproj", "{9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinphone", "..\liblinphone\liblinphone.vcxproj", "{C7139899-D8BC-48A3-A437-6844A8BAABEF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mediastreamer2", "..\..\..\mediastreamer2\build\windows10\mediastreamer2\mediastreamer2.vcxproj", "{88E3C241-EB6F-4C84-80DC-89B8961DAF80}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ortp", "..\..\..\oRTP\build\windows10\ortp\ortp.vcxproj", "{2E56B851-9D8D-40E5-84BB-E4EE63B71D25}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "srtp", "..\..\..\..\srtp\build\windows10\srtp\srtp.vcxproj", "{59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml2", "..\..\..\..\build\xml2\xml2.vcxproj", "{2B04DE79-4D33-4405-AC01-C89E0593A71D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "polarssl", "..\..\..\..\polarssl\build\windows10\polarssl\polarssl.vcxproj", "{88768DD9-5110-4AC8-8B0E-41CD7713E1A2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speex", "..\..\..\..\speex\build\windows10\speex\speex.vcxproj", "{971DD379-1C2D-44D2-9285-FDA556C48176}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexdsp", "..\..\..\..\speex\build\windows10\speexdsp\speexdsp.vcxproj", "{104BF91B-8314-4328-A996-90B8DF6052AF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opus", "..\..\..\..\opus\build\windows10\opus\opus.vcxproj", "{81AF1025-E0EE-4AD6-988D-2EF162778693}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzrtp", "..\..\..\..\bzrtp\build\windows10\bzrtp\bzrtp.vcxproj", "{45C7723D-3107-4906-9633-F43ABE8A7147}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsm", "..\..\..\..\gsm\build\windows10\gsm\gsm.vcxproj", "{EF1103C7-8AAC-464B-BA31-86B87246FA72}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "belle-sip", "..\..\..\..\belle-sip\build\windows10\belle-sip\belle-sip.vcxproj", "{B6CDF482-7DA3-43D4-9B12-70150106C191}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "antlr3c", "..\..\..\..\antlr3\runtime\C\build\windows10\antlr3c\antlr3c.vcxproj", "{01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\..\..\zlib\build\windows10\zlib\zlib.vcxproj", "{A34F450D-392D-4660-9618-810BD695B3B0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "..\..\..\..\build\sqlite\sqlite.vcxproj", "{74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinphone-tester-runtime-component", "liblinphone-tester-runtime-component\liblinphone-tester-runtime-component.vcxproj", "{1CE10F06-8FAD-437F-B3D7-3B7A8909A190}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cunit", "..\..\..\..\cunit\build\windows10\cunit\cunit.vcxproj", "{025E28A8-9DFB-4015-AD56-19896AA6CC9B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmsamr", "..\..\..\..\msamr\build\windows10\libmsamr\libmsamr.vcxproj", "{8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmsilbc", "..\..\..\..\msilbc\build\windows10\libmsilbc\libmsilbc.vcxproj", "{6A18BBB9-08D1-41A8-BE57-17FC992CC36F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmssilk", "..\..\..\..\mssilk\build\windows10\libmssilk\libmssilk.vcxproj", "{B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmswasapi", "..\..\..\..\mswasapi\windows10\libmswasapi\libmswasapi.vcxproj", "{266B769A-C04E-424C-9033-7209F0425BC0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmswebrtc", "..\..\..\..\mswebrtc\build\windows10\libmswebrtc\libmswebrtc.vcxproj", "{878CF9D3-9761-479E-A715-A1DE9F99CB78}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ilbc", "..\..\..\..\libilbc-rfc3951\build\windows10\ilbc\ilbc.vcxproj", "{995B01AF-C568-453E-9E5F-8AE81FB79B4B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencore_amrnb", "..\..\..\..\msamr\build\windows10\opencore_amrnb\opencore_amrnb.vcxproj", "{71A5F1C8-F76D-4297-95AA-75E1C967DC79}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opencore_amrwb", "..\..\..\..\msamr\build\windows10\opencore_amrwb\opencore_amrwb.vcxproj", "{3CC91899-3E98-49FD-BED5-FA290A9A5C8E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vo-amrwbenc", "..\..\..\..\msamr\build\windows10\vo-amrwbenc\vo-amrwbenc.vcxproj", "{D829672F-3775-4718-A991-1ABC42CBA67C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webrtc", "..\..\..\..\mswebrtc\webrtc\build\windows10\webrtc\webrtc.vcxproj", "{C5895B75-BDCF-406C-B803-9CB954E90F0C}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmsbcg729", "..\..\..\..\bcg729\build\windows10\libmsbcg729\libmsbcg729.vcxproj", "{ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmsopenh264", "..\..\..\..\msopenh264\build\windows10\libmsopenh264\libmsopenh264.vcxproj", "{BB8EBB21-F22C-4A68-99CB-67FA36C495E3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmswinrtvid", "..\..\..\..\mswinrtvid\windows10\libmswinrtvid\libmswinrtvid.vcxproj", "{2D0E44C4-E51D-4911-B876-345D1E5E5209}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mswinrtjpeg2yuv", "..\..\..\mediastreamer2\build\windows10\mswinrtjpeg2yuv\mswinrtjpeg2yuv.vcxproj", "{545F846D-7F19-4D6D-A50B-172A7C9B61E7}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM = Debug|ARM - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM = Release|ARM - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|ARM.ActiveCfg = Debug|ARM - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|ARM.Build.0 = Debug|ARM - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|ARM.Deploy.0 = Debug|ARM - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|x64.ActiveCfg = Debug|x64 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|x64.Build.0 = Debug|x64 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|x64.Deploy.0 = Debug|x64 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|x86.ActiveCfg = Debug|x86 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|x86.Build.0 = Debug|x86 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Debug|x86.Deploy.0 = Debug|x86 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|ARM.ActiveCfg = Release|ARM - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|ARM.Build.0 = Release|ARM - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|ARM.Deploy.0 = Release|ARM - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|x64.ActiveCfg = Release|x64 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|x64.Build.0 = Release|x64 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|x64.Deploy.0 = Release|x64 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|x86.ActiveCfg = Release|x86 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|x86.Build.0 = Release|x86 - {EC78E1D3-6FD8-4CAF-8D3F-6F4F97093BE5}.Release|x86.Deploy.0 = Release|x86 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Debug|ARM.ActiveCfg = Debug|ARM - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Debug|ARM.Build.0 = Debug|ARM - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Debug|x64.ActiveCfg = Debug|x64 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Debug|x64.Build.0 = Debug|x64 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Debug|x86.ActiveCfg = Debug|Win32 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Debug|x86.Build.0 = Debug|Win32 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Release|ARM.ActiveCfg = Release|ARM - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Release|ARM.Build.0 = Release|ARM - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Release|x64.ActiveCfg = Release|x64 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Release|x64.Build.0 = Release|x64 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Release|x86.ActiveCfg = Release|Win32 - {9EB3FE8D-2D91-4D29-A3BB-98DDB51D45B7}.Release|x86.Build.0 = Release|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|ARM.ActiveCfg = Debug|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|ARM.Build.0 = Debug|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x64.ActiveCfg = Debug|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x64.Build.0 = Debug|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x86.ActiveCfg = Debug|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x86.Build.0 = Debug|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|ARM.ActiveCfg = Release|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|ARM.Build.0 = Release|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x64.ActiveCfg = Release|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x64.Build.0 = Release|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x86.ActiveCfg = Release|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x86.Build.0 = Release|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|ARM.ActiveCfg = Debug|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|ARM.Build.0 = Debug|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x64.ActiveCfg = Debug|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x64.Build.0 = Debug|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x86.ActiveCfg = Debug|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x86.Build.0 = Debug|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|ARM.ActiveCfg = Release|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|ARM.Build.0 = Release|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x64.ActiveCfg = Release|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x64.Build.0 = Release|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x86.ActiveCfg = Release|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x86.Build.0 = Release|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|ARM.ActiveCfg = Debug|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|ARM.Build.0 = Debug|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x64.ActiveCfg = Debug|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x64.Build.0 = Debug|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x86.ActiveCfg = Debug|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x86.Build.0 = Debug|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|ARM.ActiveCfg = Release|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|ARM.Build.0 = Release|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x64.ActiveCfg = Release|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x64.Build.0 = Release|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x86.ActiveCfg = Release|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x86.Build.0 = Release|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|ARM.ActiveCfg = Debug|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|ARM.Build.0 = Debug|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x64.ActiveCfg = Debug|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x64.Build.0 = Debug|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x86.ActiveCfg = Debug|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x86.Build.0 = Debug|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|ARM.ActiveCfg = Release|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|ARM.Build.0 = Release|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x64.ActiveCfg = Release|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x64.Build.0 = Release|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x86.ActiveCfg = Release|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x86.Build.0 = Release|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|ARM.ActiveCfg = Debug|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|ARM.Build.0 = Debug|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x64.ActiveCfg = Debug|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x64.Build.0 = Debug|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x86.ActiveCfg = Debug|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x86.Build.0 = Debug|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|ARM.ActiveCfg = Release|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|ARM.Build.0 = Release|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x64.ActiveCfg = Release|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x64.Build.0 = Release|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x86.ActiveCfg = Release|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x86.Build.0 = Release|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|ARM.ActiveCfg = Debug|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|ARM.Build.0 = Debug|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x64.ActiveCfg = Debug|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x64.Build.0 = Debug|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x86.ActiveCfg = Debug|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x86.Build.0 = Debug|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|ARM.ActiveCfg = Release|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|ARM.Build.0 = Release|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x64.ActiveCfg = Release|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x64.Build.0 = Release|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x86.ActiveCfg = Release|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x86.Build.0 = Release|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|ARM.ActiveCfg = Debug|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|ARM.Build.0 = Debug|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x64.ActiveCfg = Debug|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x64.Build.0 = Debug|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x86.ActiveCfg = Debug|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x86.Build.0 = Debug|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|ARM.ActiveCfg = Release|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|ARM.Build.0 = Release|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x64.ActiveCfg = Release|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x64.Build.0 = Release|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x86.ActiveCfg = Release|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x86.Build.0 = Release|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|ARM.ActiveCfg = Debug|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|ARM.Build.0 = Debug|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x64.ActiveCfg = Debug|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x64.Build.0 = Debug|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x86.ActiveCfg = Debug|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x86.Build.0 = Debug|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|ARM.ActiveCfg = Release|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|ARM.Build.0 = Release|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x64.ActiveCfg = Release|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x64.Build.0 = Release|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x86.ActiveCfg = Release|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x86.Build.0 = Release|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|ARM.ActiveCfg = Debug|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|ARM.Build.0 = Debug|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x64.ActiveCfg = Debug|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x64.Build.0 = Debug|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x86.ActiveCfg = Debug|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x86.Build.0 = Debug|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|ARM.ActiveCfg = Release|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|ARM.Build.0 = Release|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x64.ActiveCfg = Release|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x64.Build.0 = Release|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x86.ActiveCfg = Release|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x86.Build.0 = Release|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|ARM.ActiveCfg = Debug|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|ARM.Build.0 = Debug|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x64.ActiveCfg = Debug|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x64.Build.0 = Debug|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x86.ActiveCfg = Debug|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x86.Build.0 = Debug|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|ARM.ActiveCfg = Release|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|ARM.Build.0 = Release|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x64.ActiveCfg = Release|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x64.Build.0 = Release|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x86.ActiveCfg = Release|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x86.Build.0 = Release|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|ARM.ActiveCfg = Debug|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|ARM.Build.0 = Debug|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x64.ActiveCfg = Debug|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x64.Build.0 = Debug|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x86.ActiveCfg = Debug|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x86.Build.0 = Debug|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|ARM.ActiveCfg = Release|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|ARM.Build.0 = Release|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x64.ActiveCfg = Release|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x64.Build.0 = Release|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x86.ActiveCfg = Release|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x86.Build.0 = Release|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|ARM.ActiveCfg = Debug|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|ARM.Build.0 = Debug|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x64.ActiveCfg = Debug|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x64.Build.0 = Debug|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x86.ActiveCfg = Debug|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x86.Build.0 = Debug|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|ARM.ActiveCfg = Release|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|ARM.Build.0 = Release|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x64.ActiveCfg = Release|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x64.Build.0 = Release|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x86.ActiveCfg = Release|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x86.Build.0 = Release|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|ARM.ActiveCfg = Debug|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|ARM.Build.0 = Debug|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x64.ActiveCfg = Debug|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x64.Build.0 = Debug|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x86.ActiveCfg = Debug|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x86.Build.0 = Debug|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|ARM.ActiveCfg = Release|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|ARM.Build.0 = Release|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x64.ActiveCfg = Release|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x64.Build.0 = Release|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x86.ActiveCfg = Release|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x86.Build.0 = Release|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|ARM.ActiveCfg = Debug|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|ARM.Build.0 = Debug|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x64.ActiveCfg = Debug|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x64.Build.0 = Debug|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x86.ActiveCfg = Debug|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x86.Build.0 = Debug|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|ARM.ActiveCfg = Release|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|ARM.Build.0 = Release|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x64.ActiveCfg = Release|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x64.Build.0 = Release|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x86.ActiveCfg = Release|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x86.Build.0 = Release|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|ARM.ActiveCfg = Debug|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|ARM.Build.0 = Debug|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x64.ActiveCfg = Debug|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x64.Build.0 = Debug|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x86.ActiveCfg = Debug|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x86.Build.0 = Debug|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|ARM.ActiveCfg = Release|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|ARM.Build.0 = Release|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x64.ActiveCfg = Release|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x64.Build.0 = Release|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x86.ActiveCfg = Release|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x86.Build.0 = Release|Win32 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Debug|ARM.ActiveCfg = Debug|ARM - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Debug|ARM.Build.0 = Debug|ARM - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Debug|x64.ActiveCfg = Debug|x64 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Debug|x64.Build.0 = Debug|x64 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Debug|x86.ActiveCfg = Debug|Win32 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Debug|x86.Build.0 = Debug|Win32 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Release|ARM.ActiveCfg = Release|ARM - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Release|ARM.Build.0 = Release|ARM - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Release|x64.ActiveCfg = Release|x64 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Release|x64.Build.0 = Release|x64 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Release|x86.ActiveCfg = Release|Win32 - {1CE10F06-8FAD-437F-B3D7-3B7A8909A190}.Release|x86.Build.0 = Release|Win32 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Debug|ARM.ActiveCfg = Debug|ARM - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Debug|ARM.Build.0 = Debug|ARM - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Debug|x64.ActiveCfg = Debug|x64 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Debug|x64.Build.0 = Debug|x64 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Debug|x86.ActiveCfg = Debug|Win32 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Debug|x86.Build.0 = Debug|Win32 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Release|ARM.ActiveCfg = Release|ARM - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Release|ARM.Build.0 = Release|ARM - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Release|x64.ActiveCfg = Release|x64 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Release|x64.Build.0 = Release|x64 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Release|x86.ActiveCfg = Release|Win32 - {025E28A8-9DFB-4015-AD56-19896AA6CC9B}.Release|x86.Build.0 = Release|Win32 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Debug|ARM.ActiveCfg = Debug|ARM - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Debug|ARM.Build.0 = Debug|ARM - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Debug|x64.ActiveCfg = Debug|x64 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Debug|x64.Build.0 = Debug|x64 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Debug|x86.ActiveCfg = Debug|Win32 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Debug|x86.Build.0 = Debug|Win32 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Release|ARM.ActiveCfg = Release|ARM - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Release|ARM.Build.0 = Release|ARM - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Release|x64.ActiveCfg = Release|x64 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Release|x64.Build.0 = Release|x64 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Release|x86.ActiveCfg = Release|Win32 - {8C1BC968-C5C8-4D4B-9EF3-D6A065FC7C97}.Release|x86.Build.0 = Release|Win32 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Debug|ARM.ActiveCfg = Debug|ARM - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Debug|ARM.Build.0 = Debug|ARM - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Debug|x64.ActiveCfg = Debug|x64 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Debug|x64.Build.0 = Debug|x64 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Debug|x86.ActiveCfg = Debug|Win32 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Debug|x86.Build.0 = Debug|Win32 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Release|ARM.ActiveCfg = Release|ARM - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Release|ARM.Build.0 = Release|ARM - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Release|x64.ActiveCfg = Release|x64 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Release|x64.Build.0 = Release|x64 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Release|x86.ActiveCfg = Release|Win32 - {6A18BBB9-08D1-41A8-BE57-17FC992CC36F}.Release|x86.Build.0 = Release|Win32 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Debug|ARM.ActiveCfg = Debug|ARM - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Debug|ARM.Build.0 = Debug|ARM - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Debug|x64.ActiveCfg = Debug|x64 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Debug|x64.Build.0 = Debug|x64 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Debug|x86.ActiveCfg = Debug|Win32 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Debug|x86.Build.0 = Debug|Win32 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Release|ARM.ActiveCfg = Release|ARM - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Release|ARM.Build.0 = Release|ARM - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Release|x64.ActiveCfg = Release|x64 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Release|x64.Build.0 = Release|x64 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Release|x86.ActiveCfg = Release|Win32 - {B84D5C3B-6DE5-49C8-B3DD-5EB67B01A527}.Release|x86.Build.0 = Release|Win32 - {266B769A-C04E-424C-9033-7209F0425BC0}.Debug|ARM.ActiveCfg = Debug|ARM - {266B769A-C04E-424C-9033-7209F0425BC0}.Debug|ARM.Build.0 = Debug|ARM - {266B769A-C04E-424C-9033-7209F0425BC0}.Debug|x64.ActiveCfg = Debug|x64 - {266B769A-C04E-424C-9033-7209F0425BC0}.Debug|x64.Build.0 = Debug|x64 - {266B769A-C04E-424C-9033-7209F0425BC0}.Debug|x86.ActiveCfg = Debug|Win32 - {266B769A-C04E-424C-9033-7209F0425BC0}.Debug|x86.Build.0 = Debug|Win32 - {266B769A-C04E-424C-9033-7209F0425BC0}.Release|ARM.ActiveCfg = Release|ARM - {266B769A-C04E-424C-9033-7209F0425BC0}.Release|ARM.Build.0 = Release|ARM - {266B769A-C04E-424C-9033-7209F0425BC0}.Release|x64.ActiveCfg = Release|x64 - {266B769A-C04E-424C-9033-7209F0425BC0}.Release|x64.Build.0 = Release|x64 - {266B769A-C04E-424C-9033-7209F0425BC0}.Release|x86.ActiveCfg = Release|Win32 - {266B769A-C04E-424C-9033-7209F0425BC0}.Release|x86.Build.0 = Release|Win32 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Debug|ARM.ActiveCfg = Debug|ARM - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Debug|ARM.Build.0 = Debug|ARM - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Debug|x64.ActiveCfg = Debug|x64 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Debug|x64.Build.0 = Debug|x64 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Debug|x86.ActiveCfg = Debug|Win32 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Debug|x86.Build.0 = Debug|Win32 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Release|ARM.ActiveCfg = Release|ARM - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Release|ARM.Build.0 = Release|ARM - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Release|x64.ActiveCfg = Release|x64 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Release|x64.Build.0 = Release|x64 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Release|x86.ActiveCfg = Release|Win32 - {878CF9D3-9761-479E-A715-A1DE9F99CB78}.Release|x86.Build.0 = Release|Win32 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Debug|ARM.ActiveCfg = Debug|ARM - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Debug|ARM.Build.0 = Debug|ARM - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Debug|x64.ActiveCfg = Debug|x64 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Debug|x64.Build.0 = Debug|x64 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Debug|x86.ActiveCfg = Debug|Win32 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Debug|x86.Build.0 = Debug|Win32 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Release|ARM.ActiveCfg = Release|ARM - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Release|ARM.Build.0 = Release|ARM - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Release|x64.ActiveCfg = Release|x64 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Release|x64.Build.0 = Release|x64 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Release|x86.ActiveCfg = Release|Win32 - {995B01AF-C568-453E-9E5F-8AE81FB79B4B}.Release|x86.Build.0 = Release|Win32 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Debug|ARM.ActiveCfg = Debug|ARM - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Debug|ARM.Build.0 = Debug|ARM - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Debug|x64.ActiveCfg = Debug|x64 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Debug|x64.Build.0 = Debug|x64 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Debug|x86.ActiveCfg = Debug|Win32 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Debug|x86.Build.0 = Debug|Win32 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Release|ARM.ActiveCfg = Release|ARM - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Release|ARM.Build.0 = Release|ARM - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Release|x64.ActiveCfg = Release|x64 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Release|x64.Build.0 = Release|x64 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Release|x86.ActiveCfg = Release|Win32 - {71A5F1C8-F76D-4297-95AA-75E1C967DC79}.Release|x86.Build.0 = Release|Win32 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Debug|ARM.ActiveCfg = Debug|ARM - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Debug|ARM.Build.0 = Debug|ARM - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Debug|x64.ActiveCfg = Debug|x64 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Debug|x64.Build.0 = Debug|x64 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Debug|x86.ActiveCfg = Debug|Win32 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Debug|x86.Build.0 = Debug|Win32 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Release|ARM.ActiveCfg = Release|ARM - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Release|ARM.Build.0 = Release|ARM - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Release|x64.ActiveCfg = Release|x64 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Release|x64.Build.0 = Release|x64 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Release|x86.ActiveCfg = Release|Win32 - {3CC91899-3E98-49FD-BED5-FA290A9A5C8E}.Release|x86.Build.0 = Release|Win32 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Debug|ARM.ActiveCfg = Debug|ARM - {D829672F-3775-4718-A991-1ABC42CBA67C}.Debug|ARM.Build.0 = Debug|ARM - {D829672F-3775-4718-A991-1ABC42CBA67C}.Debug|x64.ActiveCfg = Debug|x64 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Debug|x64.Build.0 = Debug|x64 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Debug|x86.ActiveCfg = Debug|Win32 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Debug|x86.Build.0 = Debug|Win32 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Release|ARM.ActiveCfg = Release|ARM - {D829672F-3775-4718-A991-1ABC42CBA67C}.Release|ARM.Build.0 = Release|ARM - {D829672F-3775-4718-A991-1ABC42CBA67C}.Release|x64.ActiveCfg = Release|x64 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Release|x64.Build.0 = Release|x64 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Release|x86.ActiveCfg = Release|Win32 - {D829672F-3775-4718-A991-1ABC42CBA67C}.Release|x86.Build.0 = Release|Win32 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Debug|ARM.ActiveCfg = Debug|ARM - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Debug|ARM.Build.0 = Debug|ARM - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Debug|x64.ActiveCfg = Debug|x64 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Debug|x64.Build.0 = Debug|x64 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Debug|x86.ActiveCfg = Debug|Win32 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Debug|x86.Build.0 = Debug|Win32 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Release|ARM.ActiveCfg = Release|ARM - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Release|ARM.Build.0 = Release|ARM - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Release|x64.ActiveCfg = Release|x64 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Release|x64.Build.0 = Release|x64 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Release|x86.ActiveCfg = Release|Win32 - {C5895B75-BDCF-406C-B803-9CB954E90F0C}.Release|x86.Build.0 = Release|Win32 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Debug|ARM.ActiveCfg = Debug|ARM - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Debug|ARM.Build.0 = Debug|ARM - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Debug|x64.ActiveCfg = Debug|x64 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Debug|x64.Build.0 = Debug|x64 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Debug|x86.ActiveCfg = Debug|Win32 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Debug|x86.Build.0 = Debug|Win32 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Release|ARM.ActiveCfg = Release|ARM - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Release|ARM.Build.0 = Release|ARM - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Release|x64.ActiveCfg = Release|x64 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Release|x64.Build.0 = Release|x64 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Release|x86.ActiveCfg = Release|Win32 - {ACF5EA95-D647-4D0C-8F97-2CD9AAE8A2E0}.Release|x86.Build.0 = Release|Win32 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Debug|ARM.ActiveCfg = Debug|ARM - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Debug|ARM.Build.0 = Debug|ARM - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Debug|x64.ActiveCfg = Debug|x64 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Debug|x64.Build.0 = Debug|x64 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Debug|x86.ActiveCfg = Debug|Win32 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Debug|x86.Build.0 = Debug|Win32 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Release|ARM.ActiveCfg = Release|ARM - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Release|ARM.Build.0 = Release|ARM - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Release|x64.ActiveCfg = Release|x64 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Release|x64.Build.0 = Release|x64 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Release|x86.ActiveCfg = Release|Win32 - {BB8EBB21-F22C-4A68-99CB-67FA36C495E3}.Release|x86.Build.0 = Release|Win32 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Debug|ARM.ActiveCfg = Debug|ARM - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Debug|ARM.Build.0 = Debug|ARM - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Debug|x64.ActiveCfg = Debug|x64 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Debug|x64.Build.0 = Debug|x64 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Debug|x86.ActiveCfg = Debug|Win32 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Debug|x86.Build.0 = Debug|Win32 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Release|ARM.ActiveCfg = Release|ARM - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Release|ARM.Build.0 = Release|ARM - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Release|x64.ActiveCfg = Release|x64 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Release|x64.Build.0 = Release|x64 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Release|x86.ActiveCfg = Release|Win32 - {2D0E44C4-E51D-4911-B876-345D1E5E5209}.Release|x86.Build.0 = Release|Win32 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Debug|ARM.ActiveCfg = Debug|ARM - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Debug|ARM.Build.0 = Debug|ARM - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Debug|x64.ActiveCfg = Debug|x64 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Debug|x64.Build.0 = Debug|x64 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Debug|x86.ActiveCfg = Debug|Win32 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Debug|x86.Build.0 = Debug|Win32 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Release|ARM.ActiveCfg = Release|ARM - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Release|ARM.Build.0 = Release|ARM - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Release|x64.ActiveCfg = Release|x64 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Release|x64.Build.0 = Release|x64 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Release|x86.ActiveCfg = Release|Win32 - {545F846D-7F19-4D6D-A50B-172A7C9B61E7}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build/windows10/liblinphone-tester/liblinphone-tester_TemporaryKey.pfx b/build/windows10/liblinphone-tester/liblinphone-tester_TemporaryKey.pfx deleted file mode 100644 index 3aeb9f3b9..000000000 Binary files a/build/windows10/liblinphone-tester/liblinphone-tester_TemporaryKey.pfx and /dev/null differ diff --git a/build/windows10/liblinphone-tester/project.json b/build/windows10/liblinphone-tester/project.json deleted file mode 100644 index e3b2dba25..000000000 --- a/build/windows10/liblinphone-tester/project.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "dependencies": { - "Microsoft.ApplicationInsights": "1.0.0", - "Microsoft.ApplicationInsights.PersistenceChannel": "1.0.0", - "Microsoft.ApplicationInsights.WindowsApps": "1.0.0", - "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0" - }, - "frameworks": { - "uap10.0": {} - }, - "runtimes": { - "win10-arm": {}, - "win10-arm-aot": {}, - "win10-x86": {}, - "win10-x86-aot": {}, - "win10-x64": {}, - "win10-x64-aot": {} - } -} \ No newline at end of file diff --git a/build/windows10/liblinphone/liblinphone.sln b/build/windows10/liblinphone/liblinphone.sln deleted file mode 100644 index abfa15a85..000000000 --- a/build/windows10/liblinphone/liblinphone.sln +++ /dev/null @@ -1,230 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.22823.1 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "liblinphone", "liblinphone.vcxproj", "{C7139899-D8BC-48A3-A437-6844A8BAABEF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mediastreamer2", "..\..\..\mediastreamer2\build\windows10\mediastreamer2\mediastreamer2.vcxproj", "{88E3C241-EB6F-4C84-80DC-89B8961DAF80}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ortp", "..\..\..\oRTP\build\windows10\ortp\ortp.vcxproj", "{2E56B851-9D8D-40E5-84BB-E4EE63B71D25}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "srtp", "..\..\..\..\srtp\build\windows10\srtp\srtp.vcxproj", "{59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xml2", "..\..\..\..\build\xml2\xml2.vcxproj", "{2B04DE79-4D33-4405-AC01-C89E0593A71D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "polarssl", "..\..\..\..\polarssl\build\windows10\polarssl\polarssl.vcxproj", "{88768DD9-5110-4AC8-8B0E-41CD7713E1A2}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speex", "..\..\..\..\speex\build\windows10\speex\speex.vcxproj", "{971DD379-1C2D-44D2-9285-FDA556C48176}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "speexdsp", "..\..\..\..\speex\build\windows10\speexdsp\speexdsp.vcxproj", "{104BF91B-8314-4328-A996-90B8DF6052AF}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "opus", "..\..\..\..\opus\build\windows10\opus\opus.vcxproj", "{81AF1025-E0EE-4AD6-988D-2EF162778693}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzrtp", "..\..\..\..\bzrtp\build\windows10\bzrtp\bzrtp.vcxproj", "{45C7723D-3107-4906-9633-F43ABE8A7147}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gsm", "..\..\..\..\gsm\build\windows10\gsm\gsm.vcxproj", "{EF1103C7-8AAC-464B-BA31-86B87246FA72}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "belle-sip", "..\..\..\..\belle-sip\build\windows10\belle-sip\belle-sip.vcxproj", "{B6CDF482-7DA3-43D4-9B12-70150106C191}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "antlr3c", "..\..\..\..\antlr3\runtime\C\build\windows10\antlr3c\antlr3c.vcxproj", "{01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "..\..\..\..\zlib\build\windows10\zlib\zlib.vcxproj", "{A34F450D-392D-4660-9618-810BD695B3B0}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sqlite", "..\..\..\..\build\sqlite\sqlite.vcxproj", "{74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|ARM = Debug|ARM - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|ARM = Release|ARM - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|ARM.ActiveCfg = Debug|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|ARM.Build.0 = Debug|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x64.ActiveCfg = Debug|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x64.Build.0 = Debug|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x86.ActiveCfg = Debug|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Debug|x86.Build.0 = Debug|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|ARM.ActiveCfg = Release|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|ARM.Build.0 = Release|ARM - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x64.ActiveCfg = Release|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x64.Build.0 = Release|x64 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x86.ActiveCfg = Release|Win32 - {C7139899-D8BC-48A3-A437-6844A8BAABEF}.Release|x86.Build.0 = Release|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|ARM.ActiveCfg = Debug|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|ARM.Build.0 = Debug|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x64.ActiveCfg = Debug|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x64.Build.0 = Debug|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x86.ActiveCfg = Debug|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Debug|x86.Build.0 = Debug|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|ARM.ActiveCfg = Release|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|ARM.Build.0 = Release|ARM - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x64.ActiveCfg = Release|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x64.Build.0 = Release|x64 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x86.ActiveCfg = Release|Win32 - {88E3C241-EB6F-4C84-80DC-89B8961DAF80}.Release|x86.Build.0 = Release|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|ARM.ActiveCfg = Debug|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|ARM.Build.0 = Debug|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x64.ActiveCfg = Debug|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x64.Build.0 = Debug|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x86.ActiveCfg = Debug|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Debug|x86.Build.0 = Debug|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|ARM.ActiveCfg = Release|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|ARM.Build.0 = Release|ARM - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x64.ActiveCfg = Release|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x64.Build.0 = Release|x64 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x86.ActiveCfg = Release|Win32 - {2E56B851-9D8D-40E5-84BB-E4EE63B71D25}.Release|x86.Build.0 = Release|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|ARM.ActiveCfg = Debug|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|ARM.Build.0 = Debug|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x64.ActiveCfg = Debug|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x64.Build.0 = Debug|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x86.ActiveCfg = Debug|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Debug|x86.Build.0 = Debug|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|ARM.ActiveCfg = Release|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|ARM.Build.0 = Release|ARM - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x64.ActiveCfg = Release|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x64.Build.0 = Release|x64 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x86.ActiveCfg = Release|Win32 - {59104E4F-A087-442E-ABD4-BCD2A1F0B0FE}.Release|x86.Build.0 = Release|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|ARM.ActiveCfg = Debug|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|ARM.Build.0 = Debug|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x64.ActiveCfg = Debug|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x64.Build.0 = Debug|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x86.ActiveCfg = Debug|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Debug|x86.Build.0 = Debug|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|ARM.ActiveCfg = Release|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|ARM.Build.0 = Release|ARM - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x64.ActiveCfg = Release|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x64.Build.0 = Release|x64 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x86.ActiveCfg = Release|Win32 - {2B04DE79-4D33-4405-AC01-C89E0593A71D}.Release|x86.Build.0 = Release|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|ARM.ActiveCfg = Debug|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|ARM.Build.0 = Debug|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x64.ActiveCfg = Debug|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x64.Build.0 = Debug|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x86.ActiveCfg = Debug|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Debug|x86.Build.0 = Debug|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|ARM.ActiveCfg = Release|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|ARM.Build.0 = Release|ARM - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x64.ActiveCfg = Release|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x64.Build.0 = Release|x64 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x86.ActiveCfg = Release|Win32 - {88768DD9-5110-4AC8-8B0E-41CD7713E1A2}.Release|x86.Build.0 = Release|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|ARM.ActiveCfg = Debug|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|ARM.Build.0 = Debug|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x64.ActiveCfg = Debug|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x64.Build.0 = Debug|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x86.ActiveCfg = Debug|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Debug|x86.Build.0 = Debug|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|ARM.ActiveCfg = Release|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|ARM.Build.0 = Release|ARM - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x64.ActiveCfg = Release|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x64.Build.0 = Release|x64 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x86.ActiveCfg = Release|Win32 - {971DD379-1C2D-44D2-9285-FDA556C48176}.Release|x86.Build.0 = Release|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|ARM.ActiveCfg = Debug|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|ARM.Build.0 = Debug|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x64.ActiveCfg = Debug|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x64.Build.0 = Debug|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x86.ActiveCfg = Debug|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Debug|x86.Build.0 = Debug|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|ARM.ActiveCfg = Release|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|ARM.Build.0 = Release|ARM - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x64.ActiveCfg = Release|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x64.Build.0 = Release|x64 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x86.ActiveCfg = Release|Win32 - {104BF91B-8314-4328-A996-90B8DF6052AF}.Release|x86.Build.0 = Release|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|ARM.ActiveCfg = Debug|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|ARM.Build.0 = Debug|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x64.ActiveCfg = Debug|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x64.Build.0 = Debug|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x86.ActiveCfg = Debug|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Debug|x86.Build.0 = Debug|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|ARM.ActiveCfg = Release|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|ARM.Build.0 = Release|ARM - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x64.ActiveCfg = Release|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x64.Build.0 = Release|x64 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x86.ActiveCfg = Release|Win32 - {81AF1025-E0EE-4AD6-988D-2EF162778693}.Release|x86.Build.0 = Release|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|ARM.ActiveCfg = Debug|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|ARM.Build.0 = Debug|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x64.ActiveCfg = Debug|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x64.Build.0 = Debug|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x86.ActiveCfg = Debug|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Debug|x86.Build.0 = Debug|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|ARM.ActiveCfg = Release|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|ARM.Build.0 = Release|ARM - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x64.ActiveCfg = Release|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x64.Build.0 = Release|x64 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x86.ActiveCfg = Release|Win32 - {45C7723D-3107-4906-9633-F43ABE8A7147}.Release|x86.Build.0 = Release|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|ARM.ActiveCfg = Debug|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|ARM.Build.0 = Debug|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x64.ActiveCfg = Debug|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x64.Build.0 = Debug|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x86.ActiveCfg = Debug|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Debug|x86.Build.0 = Debug|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|ARM.ActiveCfg = Release|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|ARM.Build.0 = Release|ARM - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x64.ActiveCfg = Release|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x64.Build.0 = Release|x64 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x86.ActiveCfg = Release|Win32 - {EF1103C7-8AAC-464B-BA31-86B87246FA72}.Release|x86.Build.0 = Release|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|ARM.ActiveCfg = Debug|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|ARM.Build.0 = Debug|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x64.ActiveCfg = Debug|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x64.Build.0 = Debug|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x86.ActiveCfg = Debug|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Debug|x86.Build.0 = Debug|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|ARM.ActiveCfg = Release|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|ARM.Build.0 = Release|ARM - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x64.ActiveCfg = Release|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x64.Build.0 = Release|x64 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x86.ActiveCfg = Release|Win32 - {B6CDF482-7DA3-43D4-9B12-70150106C191}.Release|x86.Build.0 = Release|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|ARM.ActiveCfg = Debug|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|ARM.Build.0 = Debug|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x64.ActiveCfg = Debug|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x64.Build.0 = Debug|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x86.ActiveCfg = Debug|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Debug|x86.Build.0 = Debug|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|ARM.ActiveCfg = Release|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|ARM.Build.0 = Release|ARM - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x64.ActiveCfg = Release|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x64.Build.0 = Release|x64 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x86.ActiveCfg = Release|Win32 - {01CCCCC9-CA0C-4528-92BC-5B8BE1D02D6D}.Release|x86.Build.0 = Release|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|ARM.ActiveCfg = Debug|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|ARM.Build.0 = Debug|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x64.ActiveCfg = Debug|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x64.Build.0 = Debug|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x86.ActiveCfg = Debug|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Debug|x86.Build.0 = Debug|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|ARM.ActiveCfg = Release|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|ARM.Build.0 = Release|ARM - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x64.ActiveCfg = Release|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x64.Build.0 = Release|x64 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x86.ActiveCfg = Release|Win32 - {A34F450D-392D-4660-9618-810BD695B3B0}.Release|x86.Build.0 = Release|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|ARM.ActiveCfg = Debug|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|ARM.Build.0 = Debug|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x64.ActiveCfg = Debug|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x64.Build.0 = Debug|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x86.ActiveCfg = Debug|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Debug|x86.Build.0 = Debug|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|ARM.ActiveCfg = Release|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|ARM.Build.0 = Release|ARM - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x64.ActiveCfg = Release|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x64.Build.0 = Release|x64 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x86.ActiveCfg = Release|Win32 - {74CAD9D0-D8AE-4896-B71B-B2D9B48F30AA}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/build/windows10/liblinphone/liblinphone.vcxproj b/build/windows10/liblinphone/liblinphone.vcxproj deleted file mode 100644 index b5922519b..000000000 --- a/build/windows10/liblinphone/liblinphone.vcxproj +++ /dev/null @@ -1,192 +0,0 @@ - - - - - Debug - ARM - - - Debug - Win32 - - - Debug - x64 - - - Release - ARM - - - Release - Win32 - - - Release - x64 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - {b6cdf482-7da3-43d4-9b12-70150106c191} - - - {74cad9d0-d8ae-4896-b71b-b2d9b48f30aa} - - - {2b04de79-4d33-4405-ac01-c89e0593a71d} - - - {a34f450d-392d-4660-9618-810bd695b3b0} - - - {88e3c241-eb6f-4c84-80dc-89b8961daf80} - - - {2e56b851-9d8d-40e5-84bb-e4ee63b71d25} - - - - {c7139899-d8bc-48a3-a437-6844a8baabef} - DynamicLibrary - liblinphone - liblinphone - en-US - 14.0 - true - Windows Store - 10 - 10.0.10240.0 - 10.0.10069.0 - - - - DynamicLibrary - true - v140 - - - DynamicLibrary - false - true - v140 - - - - - - - - - - - - false - false - $(SolutionDir)$(Platform)\$(Configuration)\ - - - - NotUsing - false - $(SolutionDir)$(Platform)\$(Configuration)\include;$(ProjectDir)..\..\..\include;$(ProjectDir)..\..\..\coreapi;$(ProjectDir)..\..\..\mediastreamer2\include;$(ProjectDir)..\..\..\..\belle-sip\include;$(ProjectDir)..\..\..\oRTP\include;$(ProjectDir)..\..\..\..\sqlite;$(ProjectDir)..\..\..\..\zlib;%(AdditionalIncludeDirectories) - HAVE_CONFIG_H;HAVE_ZLIB;MSG_STORAGE_ENABLED;VIDEO_ENABLED;IN_LINPHONE;LINPHONE_PLUGINS_DIR="\\linphone\\plugins";_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions) - 4996 - - - Console - false - false - - - version.bat - - - Batch script to get the git version - - - - - - \ No newline at end of file diff --git a/build/windows10/liblinphone/version.bat b/build/windows10/liblinphone/version.bat deleted file mode 100644 index c015636e2..000000000 --- a/build/windows10/liblinphone/version.bat +++ /dev/null @@ -1,22 +0,0 @@ -@ECHO off - -SET gitlog= -FOR /f "delims=" %%a IN ('git log -1 "--pretty=format:%%H" ../../../configure.ac') DO SET gitlog=%%a - -IF [%gitlog%] == [] GOTO UnknownGitVersion - -FOR /f "delims=" %%a IN ('git describe --always') DO SET gitdescribe=%%a -GOTO End - -:UnknownGitVersion -SET gitdescribe=unknown - -:End -ECHO #define LIBLINPHONE_GIT_VERSION "%gitdescribe%" > liblinphone_gitversion.h - - -FOR /F "delims=" %%a IN ('findstr /B AC_INIT ..\..\..\configure.ac') DO ( - FOR /F "tokens=1,2,3 delims=[,]" %%1 IN ("%%a") DO ( - ECHO #define LIBLINPHONE_VERSION "%%3" > config.h - ) -) diff --git a/coreapi/Makefile.am b/coreapi/Makefile.am index 3b12d4132..97ba75460 100644 --- a/coreapi/Makefile.am +++ b/coreapi/Makefile.am @@ -44,6 +44,7 @@ linphone_include_HEADERS=\ lpconfig.h \ nat_policy.h \ sipsetup.h \ + sqlite3_bctbx_vfs.h \ xml2lpc.h \ xmlrpc.h \ vcard.h \ diff --git a/coreapi/bellesip_sal/sal_impl.c b/coreapi/bellesip_sal/sal_impl.c index 7f58094e2..acaaf6c0a 100644 --- a/coreapi/bellesip_sal/sal_impl.c +++ b/coreapi/bellesip_sal/sal_impl.c @@ -292,7 +292,7 @@ static void process_request_event(void *ud, const belle_sip_request_event_t *eve belle_sip_provider_send_response(sal->prov,resp); return; }else if (sal->enable_test_features && strcmp("PUBLISH",method)==0) { - resp=belle_sip_response_create_from_request(req,200);/*out of dialog BYE */ + resp=belle_sip_response_create_from_request(req,200);/*out of dialog PUBLISH */ belle_sip_message_add_header((belle_sip_message_t*)resp,belle_sip_header_create("SIP-Etag","4441929FFFZQOA")); belle_sip_provider_send_response(sal->prov,resp); return; diff --git a/coreapi/bellesip_sal/sal_op_call.c b/coreapi/bellesip_sal/sal_op_call.c index 7ff099f72..f8e42e211 100644 --- a/coreapi/bellesip_sal/sal_op_call.c +++ b/coreapi/bellesip_sal/sal_op_call.c @@ -68,9 +68,10 @@ static void sdp_process(SalOp *h){ if(h->cnx_ip_to_0000_if_sendonly_enabled && sal_media_description_has_dir(h->result,SalStreamSendOnly)) { set_addr_to_0000(h->result->addr); for(i=0;iresult->streams[i].dir == SalStreamSendOnly) - set_addr_to_0000(h->result->streams[i].rtp_addr); - set_addr_to_0000(h->result->streams[i].rtcp_addr); + if (h->result->streams[i].dir == SalStreamSendOnly) { + set_addr_to_0000(h->result->streams[i].rtp_addr); + set_addr_to_0000(h->result->streams[i].rtcp_addr); + } } } h->sdp_answer=(belle_sdp_session_description_t *)belle_sip_object_ref(media_description_to_sdp(h->result)); diff --git a/coreapi/bellesip_sal/sal_op_events.c b/coreapi/bellesip_sal/sal_op_events.c index a6d11b2aa..f1f6d20b1 100644 --- a/coreapi/bellesip_sal/sal_op_events.c +++ b/coreapi/bellesip_sal/sal_op_events.c @@ -61,7 +61,22 @@ static void subscribe_refresher_listener (belle_sip_refresher_t* refresher } static void subscribe_process_io_error(void *user_ctx, const belle_sip_io_error_event_t *event){ - ms_error("subscribe_process_io_error not implemented yet"); + SalOp *op = (SalOp*)user_ctx; + belle_sip_object_t *src = belle_sip_io_error_event_get_source(event); + if (BELLE_SIP_OBJECT_IS_INSTANCE_OF(src, belle_sip_client_transaction_t)){ + belle_sip_client_transaction_t *tr = BELLE_SIP_CLIENT_TRANSACTION(src); + belle_sip_request_t* req = belle_sip_transaction_get_request((belle_sip_transaction_t*)tr); + const char *method=belle_sip_request_get_method(req); + + if (!op->dialog) { + /*this is handling outgoing out-of-dialog notifies*/ + if (strcmp(method,"NOTIFY")==0){ + SalErrorInfo *ei=&op->error_info; + sal_error_info_set(ei,SalReasonIOError,0,NULL,NULL); + op->base.root->callbacks.on_notify_response(op); + } + } + } } static void subscribe_process_dialog_terminated(void *ctx, const belle_sip_dialog_terminated_event_t *event) { @@ -83,9 +98,41 @@ static void subscribe_process_dialog_terminated(void *ctx, const belle_sip_dialo } static void subscribe_response_event(void *op_base, const belle_sip_response_event_t *event){ + SalOp *op = (SalOp*)op_base; + belle_sip_request_t * req; + const char *method; + belle_sip_client_transaction_t *tr = belle_sip_response_event_get_client_transaction(event); + + if (!tr) return; + req = belle_sip_transaction_get_request((belle_sip_transaction_t*)tr); + method = belle_sip_request_get_method(req); + + if (!op->dialog) { + if (strcmp(method,"NOTIFY")==0){ + sal_op_set_error_info_from_response(op,belle_sip_response_event_get_response(event)); + op->base.root->callbacks.on_notify_response(op); + } + } } static void subscribe_process_timeout(void *user_ctx, const belle_sip_timeout_event_t *event) { + SalOp *op = (SalOp*)user_ctx; + belle_sip_request_t * req; + const char *method; + belle_sip_client_transaction_t *tr = belle_sip_timeout_event_get_client_transaction(event); + + if (!tr) return; + req = belle_sip_transaction_get_request((belle_sip_transaction_t*)tr); + method = belle_sip_request_get_method(req); + + if (!op->dialog) { + /*this is handling outgoing out-of-dialog notifies*/ + if (strcmp(method,"NOTIFY")==0){ + SalErrorInfo *ei=&op->error_info; + sal_error_info_set(ei,SalReasonRequestTimeout,0,NULL,NULL); + op->base.root->callbacks.on_notify_response(op); + } + } } static void subscribe_process_transaction_terminated(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { @@ -236,11 +283,7 @@ int sal_subscribe(SalOp *op, const char *from, const char *to, const char *event if( req == NULL ) { return -1; } - if (eventname){ - if (op->event) belle_sip_object_unref(op->event); - op->event=belle_sip_header_event_create(eventname); - belle_sip_object_ref(op->event); - } + sal_op_set_event(op, eventname); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(op->event)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_expires_create(expires))); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(body_handler)); @@ -309,14 +352,20 @@ int sal_subscribe_decline(SalOp *op, SalReason reason){ int sal_notify(SalOp *op, const SalBodyHandler *body_handler){ belle_sip_request_t* notify; - if (!op->dialog) return -1; - - if (!(notify=belle_sip_dialog_create_queued_request(op->dialog,"NOTIFY"))) return -1; + if (op->dialog){ + if (!(notify=belle_sip_dialog_create_queued_request(op->dialog,"NOTIFY"))) return -1; + }else{ + sal_op_subscribe_fill_cbs(op); + notify = sal_op_build_request(op, "NOTIFY"); + } if (op->event) belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify),BELLE_SIP_HEADER(op->event)); belle_sip_message_add_header(BELLE_SIP_MESSAGE(notify) - ,BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_ACTIVE,600))); + ,op->dialog ? + BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_ACTIVE,600)) : + BELLE_SIP_HEADER(belle_sip_header_subscription_state_create(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,0)) + ); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(notify), BELLE_SIP_BODY_HANDLER(body_handler)); return sal_op_send_request(op,notify); } diff --git a/coreapi/bellesip_sal/sal_op_impl.c b/coreapi/bellesip_sal/sal_op_impl.c index b58be0f2b..51b7d23a5 100644 --- a/coreapi/bellesip_sal/sal_op_impl.c +++ b/coreapi/bellesip_sal/sal_op_impl.c @@ -799,3 +799,13 @@ int sal_op_refresh(SalOp *op) { ms_warning("sal_refresh on op [%p] of type [%s] no refresher",op,sal_op_type_to_string(op->type)); return -1; } + +void sal_op_set_event(SalOp *op, const char *eventname){ + belle_sip_header_event_t *header = NULL; + if (op->event) belle_sip_object_unref(op->event); + if (eventname){ + header = belle_sip_header_event_create(eventname); + belle_sip_object_ref(header); + } + op->event = header; +} diff --git a/coreapi/call_log.c b/coreapi/call_log.c index b90afcf74..1e8a3786c 100644 --- a/coreapi/call_log.c +++ b/coreapi/call_log.c @@ -373,8 +373,6 @@ void linphone_core_call_log_storage_init(LinphoneCore *lc) { int ret; const char *errmsg; sqlite3 *db; - - sqlite3_bctbx_vfs_register(1); linphone_core_call_log_storage_close(lc); diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index 8f9f50690..9cb4572e6 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -1315,8 +1315,8 @@ static void notify(SalOp *op, SalSubscribeStatus st, const char *eventname, SalB LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); bool_t out_of_dialog = (lev==NULL); if (out_of_dialog) { - /*out of subscribe notify */ - lev=linphone_event_new_with_out_of_dialog_op(lc,op,LinphoneSubscriptionOutgoing,eventname); + /*out of dialog notify */ + lev = linphone_event_new_with_out_of_dialog_op(lc,op,LinphoneSubscriptionOutgoing,eventname); } { LinphoneContent *ct=linphone_content_from_sal_body_handler(body_handler); @@ -1325,14 +1325,12 @@ static void notify(SalOp *op, SalSubscribeStatus st, const char *eventname, SalB linphone_content_unref(ct); } } - if (st!=SalSubscribeNone){ + if (out_of_dialog){ + /*out of dialog NOTIFY do not create an implicit subscription*/ + linphone_event_set_state(lev, LinphoneSubscriptionTerminated); + }else if (st!=SalSubscribeNone){ linphone_event_set_state(lev,linphone_subscription_state_from_sal(st)); } - - if (out_of_dialog) { - linphone_event_unref(lev); - } - } static void subscribe_received(SalOp *op, const char *eventname, const SalBodyHandler *body_handler){ @@ -1373,6 +1371,7 @@ static void on_publish_response(SalOp* op){ } } + static void on_expire(SalOp *op){ LinphoneEvent *lev=(LinphoneEvent*)sal_op_get_user_pointer(op); @@ -1385,6 +1384,25 @@ static void on_expire(SalOp *op){ } } +static void on_notify_response(SalOp *op){ + LinphoneEvent *lev=(LinphoneEvent*)sal_op_get_user_pointer(op); + + if (lev==NULL) return; + /*this is actually handling out of dialogs notify - for the moment*/ + if (!lev->is_out_of_dialog_op) return; + switch (linphone_event_get_subscription_state(lev)){ + case LinphoneSubscriptionIncomingReceived: + if (sal_op_get_error_info(op)->reason == SalReasonNone){ + linphone_event_set_state(lev, LinphoneSubscriptionTerminated); + }else{ + linphone_event_set_state(lev, LinphoneSubscriptionError); + } + break; + default: + ms_warning("Unhandled on_notify_response() case %s", linphone_subscription_state_to_string(linphone_event_get_subscription_state(lev))); + } +} + SalCallbacks linphone_sal_callbacks={ call_received, call_ringing, @@ -1417,7 +1435,8 @@ SalCallbacks linphone_sal_callbacks={ auth_requested, info_received, on_publish_response, - on_expire + on_expire, + on_notify_response }; diff --git a/coreapi/chat.c b/coreapi/chat.c index 061e14fc6..1f8df2a14 100644 --- a/coreapi/chat.c +++ b/coreapi/chat.c @@ -27,6 +27,7 @@ #include "lpconfig.h" #include "belle-sip/belle-sip.h" #include "ortp/b64.h" +#include "lime.h" #include #include @@ -264,8 +265,48 @@ LinphoneChatRoom *linphone_core_get_chat_room_from_uri(LinphoneCore *lc, const c return _linphone_core_get_or_create_chat_room(lc, to); } -bool_t linphone_chat_room_lime_enabled(LinphoneChatRoom *cr) { - return linphone_core_lime_enabled(cr->lc) != LinphoneLimeDisabled/*&& TODO: check that cr->peer_url has a verified token */; +bool_t linphone_chat_room_lime_available(LinphoneChatRoom *cr) { + if (cr) { + switch (linphone_core_lime_enabled(cr->lc)) { + case LinphoneLimeDisabled: return FALSE; + case LinphoneLimeMandatory: return TRUE; + case LinphoneLimePreferred: { + FILE *CACHEFD = NULL; + if (cr->lc->zrtp_secrets_cache != NULL) { + CACHEFD = fopen(cr->lc->zrtp_secrets_cache, "rb+"); + if (CACHEFD) { + size_t cacheSize; + xmlDocPtr cacheXml; + char *cacheString=ms_load_file_content(CACHEFD, &cacheSize); + if (!cacheString){ + ms_warning("Unable to load content of ZRTP ZID cache to decrypt message"); + return FALSE; + } + cacheString[cacheSize] = '\0'; + cacheSize += 1; + fclose(CACHEFD); + cacheXml = xmlParseDoc((xmlChar*)cacheString); + ms_free(cacheString); + if (cacheXml) { + bool_t res; + limeURIKeys_t associatedKeys; + /* retrieve keys associated to the peer URI */ + associatedKeys.peerURI = (uint8_t *)malloc(strlen(cr->peer)+1); + strcpy((char *)(associatedKeys.peerURI), cr->peer); + associatedKeys.associatedZIDNumber = 0; + associatedKeys.peerKeys = NULL; + + res = (lime_getCachedSndKeysByURI(cacheXml, &associatedKeys) == 0 && associatedKeys.associatedZIDNumber != 0); + lime_freeKeys(associatedKeys); + xmlFreeDoc(cacheXml); + return res; + } + } + } + } + } + } + return FALSE; } static void linphone_chat_room_delete_composing_idle_timer(LinphoneChatRoom *cr) { @@ -380,7 +421,7 @@ void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatMessage char *peer_uri = linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr)); const char *content_type; - if (linphone_chat_room_lime_enabled(cr)) { + if (linphone_chat_room_lime_available(cr)) { /* ref the msg or it may be destroyed by callback if the encryption failed */ if (msg->content_type && strcmp(msg->content_type, "application/vnd.gsma.rcs-ft-http+xml") == 0) { /* it's a file transfer, content type shall be set to @@ -877,7 +918,7 @@ void linphone_core_real_time_text_received(LinphoneCore *lc, LinphoneChatRoom *c msg->state = LinphoneChatMessageStateDelivered; msg->is_read = FALSE; msg->dir = LinphoneChatMessageIncoming; - + if (lp_config_get_int(lc->config, "misc", "store_rtt_messages", 1) == 1) { msg->storage_id = linphone_chat_message_store(msg); } @@ -924,7 +965,7 @@ int linphone_chat_message_put_char(LinphoneChatMessage *msg, uint32_t character) if (!call || !call->textstream) { return -1; } - + if (character == new_line || character == crlf || character == lf) { if (lc && lp_config_get_int(lc->config, "misc", "store_rtt_messages", 1) == 1) { ms_debug("New line sent, forge a message with content %s", msg->message); @@ -944,7 +985,7 @@ int linphone_chat_message_put_char(LinphoneChatMessage *msg, uint32_t character) ms_debug("Sent RTT character: %s (%lu), pending text is %s", value, (unsigned long)character, msg->message); ms_free(value); } - + text_stream_putchar32(call->textstream, character); return 0; } diff --git a/coreapi/chat_file_transfer.c b/coreapi/chat_file_transfer.c index e64839e35..21d003450 100644 --- a/coreapi/chat_file_transfer.c +++ b/coreapi/chat_file_transfer.c @@ -155,7 +155,7 @@ static int linphone_chat_message_file_transfer_on_send_body(belle_sip_user_body_ static void linphone_chat_message_process_response_from_post_file(void *data, const belle_http_response_event_t *event) { LinphoneChatMessage *msg = (LinphoneChatMessage *)data; - + if (msg->http_request && !file_transfer_in_progress_and_valid(msg)) { ms_warning("Cancelled request for %s msg [%p], ignoring %s", msg->chat_room?"":"ORPHAN", msg, __FUNCTION__); _release_http_request(msg); @@ -172,7 +172,7 @@ static void linphone_chat_message_process_response_from_post_file(void *data, belle_sip_body_handler_t *first_part_bh; /* shall we encrypt the file */ - if (linphone_chat_room_lime_enabled(msg->chat_room) && + if (linphone_chat_room_lime_available(msg->chat_room) && linphone_core_lime_for_file_sharing_enabled(msg->chat_room->lc)) { char keyBuffer [FILE_TRANSFER_KEY_SIZE]; /* temporary storage of generated key: 192 bits of key + 64 bits of @@ -317,22 +317,22 @@ static void on_recv_body(belle_sip_user_body_handler_t *bh, belle_sip_message_t const uint8_t *buffer, size_t size) { LinphoneChatMessage *msg = (LinphoneChatMessage *)data; LinphoneCore *lc; - + if (!msg->chat_room) { linphone_chat_message_cancel_file_transfer(msg); return; } lc = msg->chat_room->lc; - + if (lc == NULL){ return; /*might happen during linphone_core_destroy()*/ } - + if (!msg->http_request || belle_http_request_is_cancelled(msg->http_request)) { ms_warning("Cancelled request for msg [%p], ignoring %s", msg, __FUNCTION__); return; } - + /* first call may be with a zero size, ignore it */ if (size == 0) { return; diff --git a/coreapi/event.c b/coreapi/event.c index 2d6e7eaf5..79d3845b3 100644 --- a/coreapi/event.c +++ b/coreapi/event.c @@ -161,13 +161,21 @@ LinphoneEvent *linphone_core_create_subscribe(LinphoneCore *lc, const LinphoneAd return lev; } +LinphoneEvent *linphone_core_create_notify(LinphoneCore *lc, const LinphoneAddress *resource, const char *event){ + LinphoneEvent *lev=linphone_event_new(lc, LinphoneSubscriptionIncoming, event, -1); + linphone_configure_op(lc,lev->op,resource,NULL,TRUE); + lev->subscription_state = LinphoneSubscriptionIncomingReceived; + sal_op_set_event(lev->op, event); + lev->is_out_of_dialog_op = TRUE; + return lev; +} + LinphoneEvent *linphone_core_subscribe(LinphoneCore *lc, const LinphoneAddress *resource, const char *event, int expires, const LinphoneContent *body){ LinphoneEvent *lev=linphone_core_create_subscribe(lc,resource,event,expires); linphone_event_send_subscribe(lev,body); return lev; } - int linphone_event_send_subscribe(LinphoneEvent *lev, const LinphoneContent *body){ SalBodyHandler *body_handler; int err; @@ -241,7 +249,7 @@ int linphone_event_deny_subscription(LinphoneEvent *lev, LinphoneReason reason){ int linphone_event_notify(LinphoneEvent *lev, const LinphoneContent *body){ SalBodyHandler *body_handler; - if (lev->subscription_state!=LinphoneSubscriptionActive){ + if (lev->subscription_state!=LinphoneSubscriptionActive && lev->subscription_state!=LinphoneSubscriptionIncomingReceived){ ms_error("linphone_event_notify(): cannot notify if subscription is not active."); return -1; } @@ -392,7 +400,7 @@ const char *linphone_event_get_name(const LinphoneEvent *lev){ } const LinphoneAddress *linphone_event_get_from(const LinphoneEvent *lev){ - if (lev->is_out_of_dialog_op){ + if (lev->is_out_of_dialog_op && lev->dir == LinphoneSubscriptionOutgoing){ return (LinphoneAddress*)sal_op_get_to_address(lev->op); }else{ return (LinphoneAddress*)sal_op_get_from_address(lev->op); @@ -400,7 +408,7 @@ const LinphoneAddress *linphone_event_get_from(const LinphoneEvent *lev){ } const LinphoneAddress *linphone_event_get_resource(const LinphoneEvent *lev){ - if (lev->is_out_of_dialog_op){ + if (lev->is_out_of_dialog_op && lev->dir == LinphoneSubscriptionOutgoing){ return (LinphoneAddress*)sal_op_get_from_address(lev->op); }else{ return (LinphoneAddress*)sal_op_get_to_address(lev->op); diff --git a/coreapi/event.h b/coreapi/event.h index d84d6d180..0c8c16215 100644 --- a/coreapi/event.h +++ b/coreapi/event.h @@ -129,6 +129,18 @@ LINPHONE_PUBLIC LinphoneEvent *linphone_core_subscribe(LinphoneCore *lc, const L **/ LINPHONE_PUBLIC LinphoneEvent *linphone_core_create_subscribe(LinphoneCore *lc, const LinphoneAddress *resource, const char *event, int expires); + +/** + * Create an out-of-dialog notification, specifying the destination resource, the event name. + * The notification can be send with linphone_event_notify(). + * @param lc the #LinphoneCore + * @param resource the destination resource + * @param event the event name + * @return a LinphoneEvent holding the context of the notification. +**/ +LinphoneEvent *linphone_core_create_notify(LinphoneCore *lc, const LinphoneAddress *resource, const char *event); + + /** * Send a subscription previously created by linphone_core_create_subscribe(). * @param ev the LinphoneEvent diff --git a/coreapi/friend.c b/coreapi/friend.c index d9d5bbe7c..2251b370c 100644 --- a/coreapi/friend.c +++ b/coreapi/friend.c @@ -1138,7 +1138,7 @@ void linphone_core_friends_storage_init(LinphoneCore *lc) { const char *errmsg; sqlite3 *db; const MSList *friends_lists = NULL; - sqlite3_bctbx_vfs_register(1); + linphone_core_friends_storage_close(lc); ret = _linphone_sqlite3_open(lc->friends_db_file, &db); diff --git a/coreapi/lime.h b/coreapi/lime.h index a5da93e34..1b5101018 100644 --- a/coreapi/lime.h +++ b/coreapi/lime.h @@ -69,7 +69,7 @@ LINPHONE_PUBLIC int lime_getCachedRcvKeyByZid(xmlDocPtr cacheBuffer, limeKey_t * * * @param[out] cacheBuffer The xmlDoc containing current cache to be updated * @param[in/out] associatedKey Structure containing the key and ZID to identify the peer node to be updated - * @param[in] role Can be LIME_SENDER or LIME_RECEIVER, specify which key we want to update + * @param[in] role Can be LIME_SENDER or LIME_RECEIVER, specify which key we want to update * * @return 0 on success, error code otherwise */ @@ -87,7 +87,7 @@ LINPHONE_PUBLIC void lime_freeKeys(limeURIKeys_t associatedKeys); /** * @brief encrypt a message with the given key - * + * * @param[in] key Key to use: first 192 bits are used as key, last 64 bits as init vector * @param[in] message The string to be encrypted * @param[in] messageLength The length in bytes of the message to be encrypted @@ -96,7 +96,7 @@ LINPHONE_PUBLIC void lime_freeKeys(limeURIKeys_t associatedKeys); * Authentication tag is set at the begining of the encrypted Message * * @return 0 on success, error code otherwise - * + * */ LINPHONE_PUBLIC int lime_encryptMessage(limeKey_t *key, uint8_t *plainMessage, uint32_t messageLength, uint8_t selfZID[12], uint8_t *encryptedMessage); @@ -130,7 +130,7 @@ LINPHONE_PUBLIC int lime_decryptFile(void **cryptoContext, unsigned char *key, s /** * @brief decrypt and authentify a message with the given key - * + * * @param[in] key Key to use: first 192 bits are used as key, last 64 bits as init vector * @param[in] message The string to be decrypted * @param[in] messageLength The length in bytes of the message to be decrypted (this include the 16 bytes tag at the begining of the message) @@ -139,7 +139,7 @@ LINPHONE_PUBLIC int lime_decryptFile(void **cryptoContext, unsigned char *key, s * Authentication tag is retrieved at the begining of the encrypted Message * * @return 0 on success, error code otherwise - * + * */ LINPHONE_PUBLIC int lime_decryptMessage(limeKey_t *key, uint8_t *encryptedMessage, uint32_t messageLength, uint8_t selfZID[12], uint8_t *plainMessage); diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index d766d9855..eb4cab7e9 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -26,6 +26,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "lime.h" #include "conference_private.h" +#ifdef SQLITE_STORAGE_ENABLED +#include "sqlite3_bctbx_vfs.h" +#endif + #include #include #include @@ -946,7 +950,10 @@ static void sip_config_read(LinphoneCore *lc) const char *tmpstr; LCSipTransports tr; int i,tmp; - int ipv6; + int ipv6_default = FALSE; +#if TARGET_OS_IPHONE + ipv6_default=TRUE; +#endif if (lp_config_get_int(lc->config,"sip","use_session_timers",0)==1){ sal_use_session_timers(lc->sal,200); @@ -955,11 +962,16 @@ static void sip_config_read(LinphoneCore *lc) sal_use_no_initial_route(lc->sal,lp_config_get_int(lc->config,"sip","use_no_initial_route",0)); sal_use_rport(lc->sal,lp_config_get_int(lc->config,"sip","use_rport",1)); - ipv6=lp_config_get_int(lc->config,"sip","use_ipv6",-1); - if (ipv6==-1){ - ipv6=0; +#if TARGET_OS_IPHONE + if (!lp_config_get_int(lc->config,"sip","ipv6_migration_done",FALSE) && lp_config_has_entry(lc->config,"sip","use_ipv6")) { + lp_config_clean_entry(lc->config,"sip","use_ipv6"); + lp_config_set_int(lc->config, "sip", "ipv6_migration_done", TRUE); + ms_message("IPV6 settings migration done."); } - linphone_core_enable_ipv6(lc,ipv6); +#endif + + lc->sip_conf.ipv6_enabled=lp_config_get_int(lc->config,"sip","use_ipv6",ipv6_default); + memset(&tr,0,sizeof(tr)); tr.udp_port=lp_config_get_int(lc->config,"sip","sip_port",5060); @@ -1270,6 +1282,38 @@ static MSList *add_missing_supported_codecs(LinphoneCore *lc, const MSList *defa return newlist; } +/* + * This function adds missing codecs, if required by configuration. + * This 'l' list is entirely destroyed and a new list is returned. + */ +static MSList *handle_missing_codecs(LinphoneCore *lc, const MSList *default_list, MSList *l, MSFormatType ft){ + const char *name = "unknown"; + int add_missing; + MSList *ret; + + switch(ft){ + case MSAudio: + name = "add_missing_audio_codecs"; + break; + case MSVideo: + name = "add_missing_video_codecs"; + break; + case MSText: + name = "add_missing_text_codecs"; + break; + case MSUnknownMedia: + break; + } + add_missing = lp_config_get_int(lc->config, "misc", name, 1); + if (add_missing){ + ret = add_missing_supported_codecs(lc, default_list, l); + }else{ + ret = ms_list_copy_with_data(l,(void *(*)(void*))payload_type_clone); + ms_list_free(l); + } + return ret; +} + static MSList *codec_append_if_new(MSList *l, PayloadType *pt){ MSList *elem; for (elem=l;elem!=NULL;elem=elem->next){ @@ -1281,8 +1325,7 @@ static MSList *codec_append_if_new(MSList *l, PayloadType *pt){ return l; } -static void codecs_config_read(LinphoneCore *lc) -{ +static void codecs_config_read(LinphoneCore *lc){ int i; PayloadType *pt; MSList *audio_codecs=NULL; @@ -1297,18 +1340,15 @@ static void codecs_config_read(LinphoneCore *lc) audio_codecs=codec_append_if_new(audio_codecs, pt); } } - if( lp_config_get_int(lc->config, "misc", "add_missing_audio_codecs", 1) == 1 ){ - audio_codecs=add_missing_supported_codecs(lc, lc->default_audio_codecs,audio_codecs); - } + audio_codecs = handle_missing_codecs(lc, lc->default_audio_codecs,audio_codecs, MSAudio); for (i=0;get_codec(lc,SalVideo,i,&pt);i++){ if (pt){ video_codecs=codec_append_if_new(video_codecs, pt); } } - if( lp_config_get_int(lc->config, "misc", "add_missing_video_codecs", 1) == 1 ){ - video_codecs=add_missing_supported_codecs(lc, lc->default_video_codecs,video_codecs); - } + + video_codecs = handle_missing_codecs(lc, lc->default_video_codecs, video_codecs, MSVideo); for (i=0;get_codec(lc,SalText,i,&pt);i++){ if (pt){ @@ -1787,6 +1827,9 @@ static void linphone_core_init(LinphoneCore * lc, const LinphoneCoreVTable *vtab if (remote_provisioning_uri == NULL) { linphone_configuring_terminated(lc, LinphoneConfiguringSkipped, NULL); } // else linphone_core_start will be called after the remote provisioning (see linphone_core_iterate) +#ifdef SQLITE_STORAGE_ENABLED + sqlite3_bctbx_vfs_register(0); +#endif } LinphoneCore *linphone_core_new(const LinphoneCoreVTable *vtable, @@ -2518,9 +2561,6 @@ bool_t linphone_core_ipv6_enabled(LinphoneCore *lc){ * * @ingroup network_parameters * - * @note IPv6 support is exclusive with IPv4 in liblinphone: - * when IPv6 is turned on, IPv4 calls won't be possible anymore. - * By default IPv6 support is off. **/ void linphone_core_enable_ipv6(LinphoneCore *lc, bool_t val){ if (lc->sip_conf.ipv6_enabled!=val){ @@ -6392,7 +6432,6 @@ void sip_config_uninit(LinphoneCore *lc) lp_config_set_int(lc->config,"sip","inc_timeout",config->inc_timeout); lp_config_set_int(lc->config,"sip","in_call_timeout",config->in_call_timeout); lp_config_set_int(lc->config,"sip","delayed_timeout",config->delayed_timeout); - lp_config_set_int(lc->config,"sip","use_ipv6",config->ipv6_enabled); lp_config_set_int(lc->config,"sip","register_only_when_network_is_up",config->register_only_when_network_is_up); lp_config_set_int(lc->config,"sip","register_only_when_upnp_is_ok",config->register_only_when_upnp_is_ok); @@ -6684,24 +6723,35 @@ static void linphone_core_uninit(LinphoneCore *lc) ms_factory_destroy(lc->factory); } +static void stop_refreshing_proxy_config(bool_t is_sip_reachable, LinphoneProxyConfig* cfg) { + if (linphone_proxy_config_register_enabled(cfg) ) { + if (!is_sip_reachable) { + linphone_proxy_config_stop_refreshing(cfg); + linphone_proxy_config_set_state(cfg, LinphoneRegistrationNone,"Registration impossible (network down)"); + }else{ + cfg->commit=TRUE; + } + } +} static void set_sip_network_reachable(LinphoneCore* lc,bool_t is_sip_reachable, time_t curtime){ // second get the list of available proxies - const MSList *elem=linphone_core_get_proxy_config_list(lc); + const MSList *elem = NULL; if (lc->sip_network_reachable==is_sip_reachable) return; // no change, ignore. lc->network_reachable_to_be_notified=TRUE; ms_message("SIP network reachability state is now [%s]",is_sip_reachable?"UP":"DOWN"); - for(;elem!=NULL;elem=elem->next){ + for(elem=linphone_core_get_proxy_config_list(lc);elem!=NULL;elem=elem->next){ LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)elem->data; - if (linphone_proxy_config_register_enabled(cfg) ) { - if (!is_sip_reachable) { - linphone_proxy_config_stop_refreshing(cfg); - linphone_proxy_config_set_state(cfg, LinphoneRegistrationNone,"Registration impossible (network down)"); - }else{ - cfg->commit=TRUE; - } - } + stop_refreshing_proxy_config(is_sip_reachable, cfg); } + for(elem=lc->sip_conf.deleted_proxies;elem!=NULL;elem=elem->next){ + LinphoneProxyConfig *deleted_cfg=(LinphoneProxyConfig*)elem->data; + stop_refreshing_proxy_config(is_sip_reachable, deleted_cfg); + } + + + + lc->netup_time=curtime; lc->sip_network_reachable=is_sip_reachable; diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 343b088f8..3c1d2e93a 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -25,7 +25,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "mediastreamer2/msvideo.h" #include "mediastreamer2/mediastream.h" #include "mediastreamer2/bitratecontrol.h" -#include "sqlite3_bctbx_vfs.h" #ifdef IN_LINPHONE #include "sipsetup.h" @@ -1516,6 +1515,13 @@ LINPHONE_PUBLIC LinphoneCore* linphone_chat_room_get_core(LinphoneChatRoom *cr); */ LINPHONE_PUBLIC uint32_t linphone_chat_room_get_char(const LinphoneChatRoom *cr); +/** + * Returns true if lime is available for given peer + * + * @return true if zrtp secrets have already been shared and ready to use + */ + LINPHONE_PUBLIC bool_t linphone_chat_room_lime_available(LinphoneChatRoom *cr); + /** * Returns an list of chat rooms * @param[in] lc #LinphoneCore object @@ -4413,6 +4419,7 @@ LINPHONE_PUBLIC bool_t linphone_core_video_multicast_enabled(const LinphoneCore * @param lc the LinphoneCore * @param params the parameters used for the network simulation. * @return 0 if successful, -1 otherwise. + * @ingroup media_parameters **/ LINPHONE_PUBLIC int linphone_core_set_network_simulator_params(LinphoneCore *lc, const OrtpNetworkSimulatorParams *params); @@ -4421,6 +4428,7 @@ LINPHONE_PUBLIC int linphone_core_set_network_simulator_params(LinphoneCore *lc, * Get the previously set network simulation parameters. * @see linphone_core_set_network_simulator_params * @return a OrtpNetworkSimulatorParams structure. + * @ingroup media_parameters **/ LINPHONE_PUBLIC const OrtpNetworkSimulatorParams *linphone_core_get_network_simulator_params(const LinphoneCore *lc); @@ -4428,6 +4436,7 @@ LINPHONE_PUBLIC const OrtpNetworkSimulatorParams *linphone_core_get_network_simu * Set the video preset to be used for video calls. * @param[in] lc LinphoneCore object * @param[in] preset The name of the video preset to be used (can be NULL to use the default video preset). + * @ingroup media_parameters */ LINPHONE_PUBLIC void linphone_core_set_video_preset(LinphoneCore *lc, const char *preset); @@ -4435,6 +4444,7 @@ LINPHONE_PUBLIC void linphone_core_set_video_preset(LinphoneCore *lc, const char * Get the video preset used for video calls. * @param[in] lc LinphoneCore object * @return The name of the video preset used for video calls (can be NULL if the default video preset is used). + * @ingroup media_parameters */ LINPHONE_PUBLIC const char * linphone_core_get_video_preset(const LinphoneCore *lc); @@ -4442,6 +4452,7 @@ LINPHONE_PUBLIC const char * linphone_core_get_video_preset(const LinphoneCore * * Gets if realtime text is enabled or not * @param[in] lc LinphoneCore object * @return true if realtime text is enabled, false otherwise + * @ingroup media_parameters */ LINPHONE_PUBLIC bool_t linphone_core_realtime_text_enabled(LinphoneCore *lc); @@ -4449,6 +4460,7 @@ LINPHONE_PUBLIC bool_t linphone_core_realtime_text_enabled(LinphoneCore *lc); * Set http proxy address to be used for signaling during next channel connection. Use #linphone_core_set_network_reachable FASLE/TRUE to force channel restart. * @param[in] lc LinphoneCore object * @param[in] hostname of IP adress of the http proxy (can be NULL to disable). + * @ingroup network_parameters */ LINPHONE_PUBLIC void linphone_core_set_http_proxy_host(LinphoneCore *lc, const char *host) ; @@ -4456,6 +4468,7 @@ LINPHONE_PUBLIC void linphone_core_set_http_proxy_host(LinphoneCore *lc, const c * Set http proxy port to be used for signaling. * @param[in] lc LinphoneCore object * @param[in] port of the http proxy. + * @ingroup network_parameters */ LINPHONE_PUBLIC void linphone_core_set_http_proxy_port(LinphoneCore *lc, int port) ; @@ -4463,6 +4476,7 @@ LINPHONE_PUBLIC void linphone_core_set_http_proxy_port(LinphoneCore *lc, int por * Get http proxy address to be used for signaling. * @param[in] lc LinphoneCore object * @return hostname of IP adress of the http proxy (can be NULL to disable). + * @ingroup network_parameters */ LINPHONE_PUBLIC const char *linphone_core_get_http_proxy_host(const LinphoneCore *lc); @@ -4470,6 +4484,7 @@ LINPHONE_PUBLIC const char *linphone_core_get_http_proxy_host(const LinphoneCore * Get http proxy port to be used for signaling. * @param[in] lc LinphoneCore object * @return port of the http proxy. + * @ingroup network_parameters */ LINPHONE_PUBLIC int linphone_core_get_http_proxy_port(const LinphoneCore *lc); diff --git a/coreapi/lpconfig.c b/coreapi/lpconfig.c index b466c4d7c..2f410e7b3 100644 --- a/coreapi/lpconfig.c +++ b/coreapi/lpconfig.c @@ -25,6 +25,7 @@ #define MAX_LEN 16384 #include "linphonecore.h" +#include "bctoolbox/bc_vfs.h" #include #include @@ -401,7 +402,7 @@ LpConfig *lp_config_new_with_factory(const char *config_filename, const char *fa bctbx_vfs_file_t* pFile = NULL; LpConfig *lpconfig=lp_new0(LpConfig,1); - bctbx_vfs_register(bc_create_vfs(),&lpconfig->g_bctbx_vfs); + lpconfig->g_bctbx_vfs = bctbx_vfs_get_default(); lpconfig->refcnt=1; if (config_filename!=NULL){ @@ -431,13 +432,13 @@ LpConfig *lp_config_new_with_factory(const char *config_filename, const char *fa #endif /*_WIN32*/ /*open with r+ to check if we can write on it later*/ - pFile = bctbx_file_create_and_open(lpconfig->g_bctbx_vfs,lpconfig->filename, "r+"); + pFile = bctbx_file_open(lpconfig->g_bctbx_vfs,lpconfig->filename, "r+"); fd = pFile->fd; lpconfig->pFile = pFile; #ifdef RENAME_REQUIRES_NONEXISTENT_NEW_PATH if (fd == -1){ - pFile = bctbx_filecreate_and_open(lpconfig->g_bctbx_vfs,lpconfig->tmpfilename, "r+"); + pFile = bctbx_file_open(lpconfig->g_bctbx_vfs,lpconfig->tmpfilename, "r+"); if (fd){ ms_warning("Could not open %s but %s works, app may have crashed during last sync.",lpconfig->filename,lpconfig->tmpfilename); } @@ -463,7 +464,7 @@ fail: int lp_config_read_file(LpConfig *lpconfig, const char *filename){ char* path = lp_realpath(filename, NULL); int fd=-1; - bctbx_vfs_file_t* pFile = bctbx_file_create_and_open(lpconfig->g_bctbx_vfs, path, "r"); + bctbx_vfs_file_t* pFile = bctbx_file_open(lpconfig->g_bctbx_vfs, path, "r"); fd = pFile->fd; if (fd != -1){ ms_message("Reading config information from %s", path); @@ -801,7 +802,7 @@ int lp_config_sync(LpConfig *lpconfig){ /* don't create group/world-accessible files */ (void) umask(S_IRWXG | S_IRWXO); #endif - pFile = bctbx_file_create_and_open(lpconfig->g_bctbx_vfs,lpconfig->tmpfilename, "w"); + pFile = bctbx_file_open(lpconfig->g_bctbx_vfs,lpconfig->tmpfilename, "w"); lpconfig->pFile = pFile; fd = pFile->fd; if (fd == -1 ){ @@ -942,7 +943,7 @@ bool_t lp_config_relative_file_exists(const LpConfig *lpconfig, const char *file if(realfilepath == NULL) return FALSE; - pFile = bctbx_file_create_and_open(lpconfig->g_bctbx_vfs,realfilepath, "r"); + pFile = bctbx_file_open(lpconfig->g_bctbx_vfs,realfilepath, "r"); ms_free(realfilepath); if (pFile->fd != -1) { bctbx_file_close(pFile); @@ -975,7 +976,7 @@ void lp_config_write_relative_file(const LpConfig *lpconfig, const char *filenam goto end; } - pFile = bctbx_file_create_and_open(lpconfig->g_bctbx_vfs,realfilepath, "w"); + pFile = bctbx_file_open(lpconfig->g_bctbx_vfs,realfilepath, "w"); fd = pFile->fd; if(fd == -1) { @@ -1011,7 +1012,7 @@ int lp_config_read_relative_file(const LpConfig *lpconfig, const char *filename, goto err; } - pFile = bctbx_file_create_and_open(lpconfig->g_bctbx_vfs,realfilepath,"r"); + pFile = bctbx_file_open(lpconfig->g_bctbx_vfs,realfilepath,"r"); if (pFile !=NULL) fd = pFile->fd; @@ -1096,3 +1097,24 @@ char* lp_config_dump(const LpConfig *lpconfig) { return buffer; } + +void lp_config_clean_entry(LpConfig *lpconfig, const char *section, const char *key) { + LpSection *sec; + LpItem *item; + sec=lp_config_find_section(lpconfig,section); + if (sec!=NULL){ + item=lp_section_find_item(sec,key); + if (item!=NULL) + lp_section_remove_item(sec,item); + } + return ; +} +int lp_config_has_entry(const LpConfig *lpconfig, const char *section, const char *key) { + LpSection *sec; + sec=lp_config_find_section(lpconfig,section); + if (sec!=NULL){ + return lp_section_find_item(sec,key) != NULL; + } else + return FALSE; + +} diff --git a/coreapi/lpconfig.h b/coreapi/lpconfig.h index feae2a88d..2e3a99d60 100644 --- a/coreapi/lpconfig.h +++ b/coreapi/lpconfig.h @@ -213,6 +213,26 @@ LINPHONE_PUBLIC int lp_config_has_section(const LpConfig *lpconfig, const char * **/ LINPHONE_PUBLIC void lp_config_clean_section(LpConfig *lpconfig, const char *section); +/** + * Returns 1 if a given section with a given key is present in the configuration. + * @param[in] lpconfig The LpConfig object + * @param[in] section + * @param[in] key + * + * @ingroup misc + **/ +LINPHONE_PUBLIC int lp_config_has_entry(const LpConfig *lpconfig, const char *section, const char *key); + +/** + * Removes entries for key,value in a section. + * @param[in] lpconfig The LpConfig object + * @param[in] section + * @param[in] key + * + * @ingroup misc + **/ +LINPHONE_PUBLIC void lp_config_clean_entry(LpConfig *lpconfig, const char *section, const char *key); + /** * Returns the list of sections' names in the LpConfig. * @param[in] lpconfig The LpConfig object diff --git a/coreapi/message_storage.c b/coreapi/message_storage.c index 7787734f4..997c7f108 100644 --- a/coreapi/message_storage.c +++ b/coreapi/message_storage.c @@ -28,8 +28,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #endif #ifndef _WIN32 -#if !defined(ANDROID) && !defined(__QNXNTO__) +#if !defined(__QNXNTO__) # include +# include # include # include #endif @@ -42,28 +43,19 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "sqlite3.h" #include -int _linphone_sqlite3_open(const char *db_file, sqlite3 **db) { - char* errmsg = NULL; - int ret; -#if defined(ANDROID) || defined(__QNXNTO__) - ret = sqlite3_open(db_file, db); -#elif TARGET_OS_IPHONE - /* the secured filesystem of the iPHone doesn't allow writing while the app is in background mode, which is problematic. - * We workaround by asking that the open is made with no protection*/ - ret = sqlite3_open_v2(db_file, db, SQLITE_OPEN_FILEPROTECTION_NONE|SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE, NULL); -#elif defined(_WIN32) - wchar_t db_file_utf16[MAX_PATH_SIZE]; - ret = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, db_file, -1, db_file_utf16, MAX_PATH_SIZE); - if(ret == 0) db_file_utf16[0] = '\0'; - ret = sqlite3_open16(db_file_utf16, db); +static char *utf8_convert(const char *filename){ + char db_file_utf8[MAX_PATH_SIZE] = ""; +#if defined(_WIN32) + wchar_t db_file_utf16[MAX_PATH_SIZE]={0}; + MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, filename, -1, db_file_utf16, MAX_PATH_SIZE); + WideCharToMultiByte(CP_UTF8, 0, db_file_utf16, -1, db_file_utf8, sizeof(db_file_utf8), NULL, NULL); #else char db_file_locale[MAX_PATH_SIZE] = {'\0'}; - char db_file_utf8[MAX_PATH_SIZE] = ""; char *inbuf=db_file_locale, *outbuf=db_file_utf8; size_t inbyteleft = MAX_PATH_SIZE, outbyteleft = MAX_PATH_SIZE; iconv_t cb; - strncpy(db_file_locale, db_file, MAX_PATH_SIZE-1); + strncpy(db_file_locale, filename, MAX_PATH_SIZE-1); cb = iconv_open("UTF-8", nl_langinfo(CODESET)); if(cb != (iconv_t)-1) { int ret; @@ -71,8 +63,26 @@ int _linphone_sqlite3_open(const char *db_file, sqlite3 **db) { if(ret == -1) db_file_utf8[0] = '\0'; iconv_close(cb); } - ret = sqlite3_open(db_file_utf8, db); #endif + return ms_strdup(db_file_utf8); +} + + +int _linphone_sqlite3_open(const char *db_file, sqlite3 **db) { + char* errmsg = NULL; + int ret; + int flags = SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE; + +#if TARGET_OS_IPHONE + /* the secured filesystem of the iPHone doesn't allow writing while the app is in background mode, which is problematic. + * We workaround by asking that the open is made with no protection*/ + flags |= SQLITE_OPEN_FILEPROTECTION_NONE; +#endif + + char *utf8_filename = utf8_convert(db_file); + ret = sqlite3_open_v2(utf8_filename, db, flags, LINPHONE_SQLITE3_VFS); + ms_free(utf8_filename); + if (ret != SQLITE_OK) return ret; // Some platforms do not provide a way to create temporary files which are needed // for transactions... so we work in memory only @@ -662,7 +672,7 @@ void linphone_core_message_storage_init(LinphoneCore *lc){ int ret; const char *errmsg; sqlite3 *db = NULL; - sqlite3_bctbx_vfs_register(1); + linphone_core_message_storage_close(lc); ret=_linphone_sqlite3_open(lc->chat_db_file,&db); diff --git a/coreapi/private.h b/coreapi/private.h index 365e0c9e4..3f614b16a 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -38,6 +38,7 @@ #include "vcard.h" #include +#include #include #include @@ -53,9 +54,6 @@ #include "upnp.h" #endif //BUILD_UPNP -#ifdef SQLITE_STORAGE_ENABLED -#include "sqlite3.h" -#endif #ifndef LIBLINPHONE_VERSION #define LIBLINPHONE_VERSION LINPHONE_VERSION @@ -123,6 +121,11 @@ #include #include + +#ifdef SQLITE_STORAGE_ENABLED +#include +#endif + #ifdef __cplusplus extern "C" { #endif @@ -589,7 +592,6 @@ int linphone_chat_room_upload_file(LinphoneChatMessage *msg); void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatMessage *msg); LinphoneChatMessageCbs *linphone_chat_message_cbs_new(void); LinphoneChatRoom *_linphone_core_create_chat_room_from_call(LinphoneCall *call); -bool_t linphone_chat_room_lime_enabled(LinphoneChatRoom *cr); /**/ struct _LinphoneProxyConfig @@ -1540,6 +1542,8 @@ int linphone_core_get_default_proxy_config_index(LinphoneCore *lc); char *linphone_presence_model_to_xml(LinphonePresenceModel *model) ; +#define LINPHONE_SQLITE3_VFS "sqlite3bctbx_vfs" + #ifdef __cplusplus } #endif diff --git a/coreapi/sqlite3_bctbx_vfs.c b/coreapi/sqlite3_bctbx_vfs.c index 940dfff2b..ae9d4e869 100644 --- a/coreapi/sqlite3_bctbx_vfs.c +++ b/coreapi/sqlite3_bctbx_vfs.c @@ -18,6 +18,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifdef SQLITE_STORAGE_ENABLED +#include "private.h" #include "sqlite3_bctbx_vfs.h" #include @@ -36,7 +37,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static int sqlite3bctbx_Close(sqlite3_file *p){ int ret; - sqlite3_bctbx_file *pFile = (sqlite3_bctbx_file*) p; + sqlite3_bctbx_file_t *pFile = (sqlite3_bctbx_file_t*) p; ret = bctbx_file_close(pFile->pbctbx_file); if (!ret){ @@ -64,18 +65,17 @@ static int sqlite3bctbx_Close(sqlite3_file *p){ */ static int sqlite3bctbx_Read(sqlite3_file *p, void *buf, int count, sqlite_int64 offset){ int ret; - sqlite3_bctbx_file *pFile = (sqlite3_bctbx_file*) p; + sqlite3_bctbx_file_t *pFile = (sqlite3_bctbx_file_t*) p; if (pFile){ ret = bctbx_file_read(pFile->pbctbx_file, buf, count, offset); if( ret==count ){ return SQLITE_OK; } else if( ret >= 0 ){ - + /*fill in unread portion of buffer, as requested by sqlite3 documentation*/ + memset(((uint8_t*)buf) + ret, 0, count-ret); return SQLITE_IOERR_SHORT_READ; - } - - else { + }else { return SQLITE_IOERR_READ; } @@ -93,7 +93,7 @@ static int sqlite3bctbx_Read(sqlite3_file *p, void *buf, int count, sqlite_int64 * @return SQLITE_OK on success, SQLITE_IOERR_WRITE if an error occurred. */ static int sqlite3bctbx_Write(sqlite3_file *p, const void *buf, int count, sqlite_int64 offset){ - sqlite3_bctbx_file *pFile = (sqlite3_bctbx_file*) p; + sqlite3_bctbx_file_t *pFile = (sqlite3_bctbx_file_t*) p; int ret; if (pFile ){ ret = bctbx_file_write(pFile->pbctbx_file, buf, count, offset); @@ -116,7 +116,7 @@ static int sqlite3bctbx_Write(sqlite3_file *p, const void *buf, int count, sqlit static int sqlite3bctbx_FileSize(sqlite3_file *p, sqlite_int64 *pSize){ int rc; /* Return code from fstat() call */ - sqlite3_bctbx_file *pFile = (sqlite3_bctbx_file*) p; + sqlite3_bctbx_file_t *pFile = (sqlite3_bctbx_file_t*) p; if (pFile->pbctbx_file){ rc = bctbx_file_size(pFile->pbctbx_file); if( rc < 0 ) { @@ -157,7 +157,9 @@ static int sqlite3bctbx_DeviceCharacteristics(sqlite3_file *p){ * @return SQLITE_OK on success, SALITE_NOTFOUND otherwise. */ static int sqlite3bctbx_FileControl(sqlite3_file *p, int op, void *pArg){ +#ifdef SQLITE_FCNTL_MMAP_SIZE if (op == SQLITE_FCNTL_MMAP_SIZE) return SQLITE_OK; +#endif return SQLITE_NOTFOUND; } @@ -205,13 +207,16 @@ static int sqlite3bctbx_nolockUnlock(sqlite3_file *pUnused, int unused){ * @return SQLITE_OK on success, SLITE_IOERR_FSYNC if an error occurred. */ static int sqlite3bctbx_Sync(sqlite3_file *p, int flags){ - sqlite3_bctbx_file *pFile = (sqlite3_bctbx_file*)p; - int rc; - - rc = fsync(pFile->pbctbx_file->fd); - return (rc==0 ? SQLITE_OK : SQLITE_IOERR_FSYNC); + sqlite3_bctbx_file_t *pFile = (sqlite3_bctbx_file_t*)p; +#if _WIN32 + return (FlushFileBuffers(pFile->pbctbx_file->fd) ? SQLITE_OK : SQLITE_IOERR_FSYNC); +#else + int rc = fsync(pFile->pbctbx_file->fd); + return (rc==0 ? SQLITE_OK : SQLITE_IOERR_FSYNC); +#endif } +/************************ END OF PLACE HOLDER FUNCTIONS ***********************/ /** * Opens the file fName and populates the structure pointed by p @@ -243,7 +248,7 @@ static int sqlite3bctbx_Open(sqlite3_vfs *pVfs, const char *fName, sqlite3_file sqlite3bctbx_DeviceCharacteristics, }; - sqlite3_bctbx_file * pFile = (sqlite3_bctbx_file*)p; /*File handle sqlite3_bctbx_file*/ + sqlite3_bctbx_file_t * pFile = (sqlite3_bctbx_file_t*)p; /*File handle sqlite3_bctbx_file_t*/ int openFlags = 0; @@ -258,7 +263,7 @@ static int sqlite3bctbx_Open(sqlite3_vfs *pVfs, const char *fName, sqlite3_file if( flags&SQLITE_OPEN_READONLY ) openFlags |= O_RDONLY; if( flags&SQLITE_OPEN_READWRITE ) openFlags |= O_RDWR; - pFile->pbctbx_file = bctbx_file_create_and_open2(bc_create_vfs(), fName, openFlags); + pFile->pbctbx_file = bctbx_file_open2(bctbx_vfs_get_default(), fName, openFlags); if( pFile->pbctbx_file == NULL){ return SQLITE_CANTOPEN; } @@ -267,40 +272,19 @@ static int sqlite3bctbx_Open(sqlite3_vfs *pVfs, const char *fName, sqlite3_file *pOutFlags = flags; } pFile->base.pMethods = &sqlite3_bctbx_io; - pFile->pbctbx_file->filename = (char*)fName; return SQLITE_OK; } -/** - * Returns a sqlite3_vfs pointer to the VFS named sqlite3bctbx_vfs - * implemented in this file. - * Methods not implemented: - * xDelete - * xAccess - * xFullPathname - * xDlOpen - * xDlError - * xDlSym - * xDlClose - * xRandomness - * xSleep - * xCurrentTime , xCurrentTimeInt64, - * xGetLastError - * xGetSystemCall - * xSetSystemCall - * xNextSystemCall - * To make the VFS available to SQLite - * @return Pointer to bctbx_vfs. - */ + sqlite3_vfs *sqlite3_bctbx_vfs_create(void){ static sqlite3_vfs bctbx_vfs = { 1, /* iVersion */ - sizeof(sqlite3_bctbx_file), /* szOsFile */ + sizeof(sqlite3_bctbx_file_t), /* szOsFile */ MAXPATHNAME, /* mxPathname */ 0, /* pNext */ - "sqlite3bctbx_vfs", /* zName */ + LINPHONE_SQLITE3_VFS, /* zName */ 0, /* pAppData */ sqlite3bctbx_Open, /* xOpen */ 0, /* xDelete */ @@ -318,17 +302,13 @@ sqlite3_vfs *sqlite3_bctbx_vfs_create(void){ } -/** - * Registers sqlite3bctbx_vfs to SQLite VFS. If makeDefault is 1, - * the VFS will be used by default. - * Methods not implemented by sqlite3_bctbx_vfs are initialized to the one - * used by the unix-none VFS where all locking file operations are no-ops. - * @param makeDefault set to 1 to make the newly registered VFS be the default one, set to 0 instead. - */ void sqlite3_bctbx_vfs_register( int makeDefault){ sqlite3_vfs* pVfsToUse = sqlite3_bctbx_vfs_create(); + #if _WIN32 + sqlite3_vfs* pDefault = sqlite3_vfs_find("win32"); + #else sqlite3_vfs* pDefault = sqlite3_vfs_find("unix-none"); - + #endif pVfsToUse->xAccess = pDefault->xAccess; pVfsToUse->xCurrentTime = pDefault->xCurrentTime; @@ -340,24 +320,21 @@ void sqlite3_bctbx_vfs_register( int makeDefault){ /*Functions below should not be a problem sincve we are declaring ourselves in version 1 */ - /* used in version 2 */ - pVfsToUse->xCurrentTimeInt64 = pDefault->xCurrentTimeInt64; - /* used in version 3 */ - pVfsToUse->xGetSystemCall = pDefault->xGetSystemCall; - pVfsToUse->xSetSystemCall = pDefault->xSetSystemCall; - pVfsToUse->xNextSystemCall = pDefault->xNextSystemCall; + /* used in version 2 + xCurrentTimeInt64;*/ + /* used in version 3 + xGetSystemCall + xSetSystemCall + xNextSystemCall*/ sqlite3_vfs_register(pVfsToUse, makeDefault); } -/** - * Unregisters sqlite3bctbx_vfs from SQLite. - */ void sqlite3_bctbx_vfs_unregister(void) { - sqlite3_vfs* pVfs = sqlite3_vfs_find("sqlite3bctbx_vfs"); + sqlite3_vfs* pVfs = sqlite3_vfs_find(LINPHONE_SQLITE3_VFS); sqlite3_vfs_unregister(pVfs); } diff --git a/coreapi/sqlite3_bctbx_vfs.h b/coreapi/sqlite3_bctbx_vfs.h index 001c1b142..0b1fb9d8a 100644 --- a/coreapi/sqlite3_bctbx_vfs.h +++ b/coreapi/sqlite3_bctbx_vfs.h @@ -1,5 +1,5 @@ /* -sqlite3_bctbx_vfs.h +sqlite3_bctbx_vfs_t.h Copyright (C) 2016 Belledonne Communications SARL This program is free software; you can redistribute it and/or @@ -17,15 +17,18 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef sqlite3_bctx_vfs_h +#define sqlite3_bctx_vfs_h + #include #include #include #include -#include -#include "sqlite3.h" #include +#include "sqlite3.h" + /* ** The maximum pathname length supported by this VFS. @@ -34,10 +37,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. /** - * sqlite3_bctbx_file VFS file structure. + * sqlite3_bctbx_file_t VFS file structure. */ -typedef struct sqlite3_bctbx_file sqlite3_bctbx_file; -struct sqlite3_bctbx_file { +typedef struct sqlite3_bctbx_file_t sqlite3_bctbx_file_t; +struct sqlite3_bctbx_file_t { sqlite3_file base; /* Base class. Must be first. */ bctbx_vfs_file_t* pbctbx_file; }; @@ -48,9 +51,9 @@ struct sqlite3_bctbx_file { * Very simple VFS structure based on sqlite3_vfs. * Only the Open function is implemented, */ -typedef struct sqlite3_bctbx_vfs sqlite3_bctbx_vfs; -struct sqlite3_bctbx_vfs { - sqlite3_bctbx_vfs *pNext; /* Next registered VFS */ +typedef struct sqlite3_bctbx_vfs_t sqlite3_bctbx_vfs_t; +struct sqlite3_bctbx_vfs_t { + sqlite3_bctbx_vfs_t *pNext; /* Next registered VFS */ const char *vfsName; /* Virtual file system name */ int (*xOpen)(sqlite3_vfs* pVfs, const char *fName, sqlite3_file *pFile,int flags, int *pOutFlags); @@ -60,6 +63,43 @@ struct sqlite3_bctbx_vfs { /**************************************************** VFS API to register this VFS to sqlite3 VFS *****************************************************/ + +/** + * Returns a sqlite3_vfs pointer to the VFS named sqlite3bctbx_vfs + * implemented in this file. + * Methods not implemented: + * xDelete + * xAccess + * xFullPathname + * xDlOpen + * xDlError + * xDlSym + * xDlClose + * xRandomness + * xSleep + * xCurrentTime , xCurrentTimeInt64, + * xGetLastError + * xGetSystemCall + * xSetSystemCall + * xNextSystemCall + * To make the VFS available to SQLite + * @return Pointer to bctbx_vfs. + */ sqlite3_vfs *sqlite3_bctbx_vfs_create(void); + +/** + * Registers sqlite3bctbx_vfs to SQLite VFS. If makeDefault is 1, + * the VFS will be used by default. + * Methods not implemented by sqlite3_bctbx_vfs_t are initialized to the one + * used by the unix-none VFS where all locking file operations are no-ops. + * @param makeDefault set to 1 to make the newly registered VFS be the default one, set to 0 instead. + */ void sqlite3_bctbx_vfs_register(int makeDefault); -void sqlite3_bctbx_vfs_unregister(void); \ No newline at end of file + + +/** + * Unregisters sqlite3bctbx_vfs from SQLite. + */ +void sqlite3_bctbx_vfs_unregister(void); + +#endif diff --git a/gtk/chat.c b/gtk/chat.c index 8b5e8b289..2a2287b2c 100644 --- a/gtk/chat.c +++ b/gtk/chat.c @@ -180,7 +180,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, g_object_set_data(G_OBJECT(w),"from_message",g_strdup(from_str)); } ms_free(from_str); - + if (!message) { const char *external_body_url = linphone_chat_message_get_external_body_url(msg); if (external_body_url) message = external_body_url; @@ -216,7 +216,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, if(tnow_day != tm->tm_yday || (tnow_day == tm->tm_yday && tnow_year != tm->tm_year)) { strftime(buf,80,"%a %x, %H:%M",tm); } else { - strftime(buf,80,"%H:%M",tm); + strftime(buf,80,"%H:%M:%S",tm); } gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,buf,-1,"status", me ? "me" : NULL, NULL); break; @@ -267,7 +267,7 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag case LinphoneChatMessageStateDelivered: t=time(NULL); tm=localtime(&t); - strftime(buf,80,"%H:%M",tm); + strftime(buf,80,"%H:%M:%S",tm); gtk_text_buffer_insert_with_tags_by_name(b,&iter,(gchar*)buf,-1,"status", "me", NULL); break; case LinphoneChatMessageStateNotDelivered: @@ -468,6 +468,15 @@ static gboolean copy_uri_into_clipboard_handler(GtkMenuItem *menuitem, gpointer return FALSE; } +static void refresh_lime_icon(GtkWidget* chat_view, LinphoneChatRoom*cr) { + GtkWidget *lime_icon = linphone_gtk_get_widget(chat_view, "lime_icon"); + if (linphone_chat_room_lime_available(cr)) { + gtk_widget_show(lime_icon); + } else { + gtk_widget_hide(lime_icon); + } +} + static gint linphone_gtk_window_focused(GtkWidget* widget, GdkEvent *event, gpointer user_data) { // if we are in a chat, mark it as read GtkWidget *main_window=linphone_gtk_get_main_window(); @@ -477,6 +486,7 @@ static gint linphone_gtk_window_focused(GtkWidget* widget, GdkEvent *event, gpoi if (cr) { linphone_gtk_mark_chat_read(cr); } + refresh_lime_icon(w, cr); return FALSE; } @@ -559,6 +569,8 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres gtk_signal_connect(GTK_OBJECT(main_window), "focus-in-event", GTK_SIGNAL_FUNC(linphone_gtk_window_focused), NULL); + refresh_lime_icon(chat_view, cr); + return chat_view; } @@ -595,6 +607,8 @@ void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri, gtk_text_buffer_get_end_iter(text_buffer,&end); gtk_text_view_scroll_to_iter(text_view,&end,0,FALSE,1.0,0); } + refresh_lime_icon(chat_view, cr); + ms_free(from_str); ms_free(uri_str); ms_free(uri_only); diff --git a/gtk/chatroom_frame.ui b/gtk/chatroom_frame.ui index 9f5b66ef7..d7b8137a3 100644 --- a/gtk/chatroom_frame.ui +++ b/gtk/chatroom_frame.ui @@ -37,6 +37,20 @@ True False + 10 + + + True + False + 16 + linphone-security-ok + + + False + False + 0 + + True @@ -51,7 +65,7 @@ True True - 0 + 1 @@ -94,7 +108,7 @@ False False - 1 + 2 diff --git a/include/sal/sal.h b/include/sal/sal.h index 0fa288ea0..b885cf6a1 100644 --- a/include/sal/sal.h +++ b/include/sal/sal.h @@ -508,6 +508,7 @@ typedef void (*SalOnSubscribePresenceClosed)(SalOp *salop, const char *from); typedef void (*SalOnPingReply)(SalOp *salop); typedef void (*SalOnInfoReceived)(SalOp *salop, SalBodyHandler *body); typedef void (*SalOnPublishResponse)(SalOp *salop); +typedef void (*SalOnNotifyResponse)(SalOp *salop); typedef void (*SalOnExpire)(SalOp *salop); /*allows sal implementation to access auth info if available, return TRUE if found*/ @@ -546,6 +547,7 @@ typedef struct SalCallbacks{ SalOnInfoReceived info_received; SalOnPublishResponse on_publish_response; SalOnExpire on_expire; + SalOnNotifyResponse on_notify_response; }SalCallbacks; @@ -700,6 +702,8 @@ void sal_error_info_set(SalErrorInfo *ei, SalReason reason, int code, const char /*entity tag used for publish (see RFC 3903)*/ const char *sal_op_get_entity_tag(const SalOp* op); void sal_op_set_entity_tag(SalOp *op, const char* entity_tag); +/*set the event header, for used with out of dialog SIP notify*/ +void sal_op_set_event(SalOp *op, const char *event); /*Call API*/ int sal_call_set_local_media_description(SalOp *h, SalMediaDescription *desc); diff --git a/mediastreamer2 b/mediastreamer2 index ba1083047..9dbf6cd97 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit ba1083047f6ec4e812fb3f6c13facb33ce4ab407 +Subproject commit 9dbf6cd9723f359b8b1bc0fe2a06a3de5100e2ad diff --git a/oRTP b/oRTP index 5d4738492..846174f90 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit 5d4738492a9fd1018ad2508c1b7729766e980b29 +Subproject commit 846174f901b264e50c6dfb0f8c81fffffed90c52 diff --git a/po/ar.po b/po/ar.po index 69b2dfb11..6fff00113 100644 --- a/po/ar.po +++ b/po/ar.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Arabic (http://www.transifex.com/belledonne-communications/linphone-gtk/language/ar/)\n" @@ -2047,16 +2047,16 @@ msgstr "خدمة غير متاحة، تجري الإعادة" msgid "Authentication token is %s" msgstr "شارة التحقق من الهوية هي %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "‫لم تُعدَّل معاملات المكالمات : %s.‬" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "عُدِّلت معاملات المكالمات بنجاج." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/cs.po b/po/cs.po index e099b19d2..70d394fa7 100644 --- a/po/cs.po +++ b/po/cs.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Czech (http://www.transifex.com/belledonne-communications/linphone-gtk/language/cs/)\n" @@ -2038,16 +2038,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "Klíč k ověření totožnosti je %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/de.po b/po/de.po index 4c99e91c5..50aef056b 100644 --- a/po/de.po +++ b/po/de.po @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: German (http://www.transifex.com/belledonne-communications/linphone-gtk/language/de/)\n" @@ -2038,16 +2038,16 @@ msgstr "Service nicht verfügbar, versuche erneut" msgid "Authentication token is %s" msgstr "Authentifizierungs-Token ist %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Anrufparameter konnten nicht geändert werden: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Anrufparameter wurden erfolgreich geändert." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/es.po b/po/es.po index 0d3cfb6af..d166e8cb1 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Spanish (http://www.transifex.com/belledonne-communications/linphone-gtk/language/es/)\n" @@ -2034,16 +2034,16 @@ msgstr "Servicio no disponible, reintentando" msgid "Authentication token is %s" msgstr "El tóken de autenticación es%s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Parámetros de llamada no pudieron ser modificados: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Parámetros de llamada modificados correctamente." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/fi.po b/po/fi.po index 3361e2d15..5f8ffbe18 100644 --- a/po/fi.po +++ b/po/fi.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Finnish (http://www.transifex.com/belledonne-communications/linphone-gtk/language/fi/)\n" @@ -2034,16 +2034,16 @@ msgstr "Palvelin saavuttamattomissa, uudelleen yritetään" msgid "Authentication token is %s" msgstr "Todennus merkki on %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Soiton raja-arvoja ei voitu muokata: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Soiton raja-arvot ovat onnistuneesti muokattu." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/fr.po b/po/fr.po index ad7beb948..0b8c6ae59 100644 --- a/po/fr.po +++ b/po/fr.po @@ -4,15 +4,15 @@ # # Translators: # Belledonne Communications , 2015-2016 -# Gautier Pelloux-Prayer , 2014 -# Gautier Pelloux-Prayer , 2014 -# Gautier Pelloux-Prayer , 2014-2016 +# Gautier Pelloux , 2014 +# Gautier Pelloux , 2014 +# Gautier Pelloux , 2014-2016 # Simon Morlat , 2001 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:59+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: French (http://www.transifex.com/belledonne-communications/linphone-gtk/language/fr/)\n" @@ -2038,16 +2038,16 @@ msgstr "Service indisponible, nouvelle tentative" msgid "Authentication token is %s" msgstr "Le jeton d'authentification est %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Les paramètres d'appel n'ont pas pu être modifiés : %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Les paramètres d'appel ont été modifiés avec succès." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/he.po b/po/he.po index 28b648bfe..bb53d7e06 100644 --- a/po/he.po +++ b/po/he.po @@ -4,7 +4,7 @@ # # Translators: # Eli Zaretskii , 2012 -# Gautier Pelloux-Prayer , 2015 +# Gautier Pelloux , 2015 # GenghisKhan , 2014 # GenghisKhan , 2014,2016 # GenghisKhan , 2012-2013 @@ -12,7 +12,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Hebrew (http://www.transifex.com/belledonne-communications/linphone-gtk/language/he/)\n" @@ -2038,16 +2038,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "אות האימות הינה %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/hu.po b/po/hu.po index daa8b8909..bee6d8fdf 100644 --- a/po/hu.po +++ b/po/hu.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Hungarian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/hu/)\n" @@ -2034,16 +2034,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "Hitelesítési jel: %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/it.po b/po/it.po index c22d60aac..63dc17acb 100644 --- a/po/it.po +++ b/po/it.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Italian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/it/)\n" @@ -2035,16 +2035,16 @@ msgstr "Servizio non disponibile, nuovo tentativo in corso" msgid "Authentication token is %s" msgstr "Il codice di autenticazione è %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "I parametri della chiamata sono stati modificati con successo: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "I parametri della chiamata sono stati modificati con successo." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/ja.po b/po/ja.po index dac47a32a..851003f4e 100644 --- a/po/ja.po +++ b/po/ja.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Japanese (http://www.transifex.com/belledonne-communications/linphone-gtk/language/ja/)\n" @@ -2032,16 +2032,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/lt.po b/po/lt.po index 8a9ead05e..70a798dbf 100644 --- a/po/lt.po +++ b/po/lt.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Lithuanian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/lt/)\n" @@ -2037,16 +2037,16 @@ msgstr "Paslauga neprieinama, bandoma iš naujo" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Nepavyko modifikuoti skambučio parametrų: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Skambučio parametrai buvo sėkmingai modifikuoti." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/nb_NO.po b/po/nb_NO.po index a080f28ff..87aff17c0 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/belledonne-communications/linphone-gtk/language/nb_NO/)\n" @@ -2034,16 +2034,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/nl.po b/po/nl.po index d6f2d22a9..a833e03b7 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Dutch (http://www.transifex.com/belledonne-communications/linphone-gtk/language/nl/)\n" @@ -2034,16 +2034,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/pl.po b/po/pl.po index f7b85227f..00d4e22cd 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Polish (http://www.transifex.com/belledonne-communications/linphone-gtk/language/pl/)\n" @@ -2036,16 +2036,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/pt_BR.po b/po/pt_BR.po index 840ff80e5..2fa82eac4 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/belledonne-communications/linphone-gtk/language/pt_BR/)\n" @@ -2033,16 +2033,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/ru.po b/po/ru.po index c89042ca3..294f2f35a 100644 --- a/po/ru.po +++ b/po/ru.po @@ -12,9 +12,9 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" -"PO-Revision-Date: 2016-05-10 09:58+0000\n" -"Last-Translator: Belledonne Communications \n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" +"PO-Revision-Date: 2016-05-10 12:36+0000\n" +"Last-Translator: AlexL \n" "Language-Team: Russian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -2044,16 +2044,16 @@ msgstr "Сервис недоступен, повтор" msgid "Authentication token is %s" msgstr "Маркер проверки подлинности: %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Параметры звонка не были изменены: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Параметры звонка были успешно изменены." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2099,4 +2099,4 @@ msgstr "Невозможно воспроизвести %s." #: ../gtk/videowindow.c:252 msgid "Take screenshot" -msgstr "" +msgstr "Сделать скриншот" diff --git a/po/sr.po b/po/sr.po index 5b81e540d..eb96493a2 100644 --- a/po/sr.po +++ b/po/sr.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Serbian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/sr/)\n" @@ -2037,16 +2037,16 @@ msgstr "Услуга није доступна, поново покушавам" msgid "Authentication token is %s" msgstr "Симбол потврђивања идентитета је „%s“" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Параметри позива не могу бити измењени: %s." -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Параметри позива су успешно измењени." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/sv.po b/po/sv.po index 03816e5ce..983966d5a 100644 --- a/po/sv.po +++ b/po/sv.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Swedish (http://www.transifex.com/belledonne-communications/linphone-gtk/language/sv/)\n" @@ -2035,16 +2035,16 @@ msgstr "Tjänst ej tillgänglig, försöker igen" msgid "Authentication token is %s" msgstr "Autentiseringstecken är %s" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "Samtalsparametrar kunde inte ändras: %s" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "Samtalsparametrar ändrades framgångsrikt." -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/tr.po b/po/tr.po index 8fb11ee8f..4b27eecfa 100644 --- a/po/tr.po +++ b/po/tr.po @@ -9,7 +9,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Turkish (http://www.transifex.com/belledonne-communications/linphone-gtk/language/tr/)\n" @@ -2035,16 +2035,16 @@ msgstr "Servis kullanımdışı, tekrar deneyin" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/zh_CN.po b/po/zh_CN.po index c52be6fd2..3ae8176a3 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Chinese (China) (http://www.transifex.com/belledonne-communications/linphone-gtk/language/zh_CN/)\n" @@ -2030,16 +2030,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/zh_TW.po b/po/zh_TW.po index 7c095bb7b..581911162 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2016-05-10 11:54+0200\n" +"POT-Creation-Date: 2016-05-19 14:01+0200\n" "PO-Revision-Date: 2016-05-10 09:58+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/belledonne-communications/linphone-gtk/language/zh_TW/)\n" @@ -2030,16 +2030,16 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1646 +#: ../coreapi/linphonecall.c:1663 #, c-format msgid "Call parameters could not be modified: %s." msgstr "" -#: ../coreapi/linphonecall.c:1648 +#: ../coreapi/linphonecall.c:1665 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:4619 +#: ../coreapi/linphonecall.c:4636 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/tester/call_tester.c b/tester/call_tester.c index 2cdfc4686..57cf3086f 100644 --- a/tester/call_tester.c +++ b/tester/call_tester.c @@ -5799,6 +5799,9 @@ static void _call_with_network_switch(bool_t use_ice, bool_t with_socket_refresh /*pauline shall be able to end the call without problem now*/ end_call(pauline, marie); end: + if (pauline_params) { + linphone_call_params_unref(pauline_params); + } ms_list_free(lcs); linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); diff --git a/tester/eventapi_tester.c b/tester/eventapi_tester.c index 170d749df..9ddf99ff6 100644 --- a/tester/eventapi_tester.c +++ b/tester/eventapi_tester.c @@ -39,7 +39,7 @@ void linphone_notify_received(LinphoneCore *lc, LinphoneEvent *lev, const char * LinphoneCoreManager *mgr; const char * ua = linphone_event_get_custom_header(lev, "User-Agent"); if (!BC_ASSERT_PTR_NOT_NULL(content)) return; - if (!linphone_content_is_multipart(content) && (!ua || !strstr(ua, "flexisip"))) { /*disable check for full presence serveur support*/ + if (!linphone_content_is_multipart(content) && (!ua || !strstr(ua, "flexisip"))) { /*disable check for full presence server support*/ /*hack to disable content checking for list notify */ BC_ASSERT_STRING_EQUAL(notify_content,(const char*)linphone_content_get_buffer(content)); } @@ -358,6 +358,35 @@ static void publish_without_expires(void){ publish_test_with_args(TRUE,-1); } +static void out_of_dialog_notify(void){ + LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); + LinphoneContent* content; + LinphoneEvent *lev; + MSList* lcs=ms_list_append(NULL,marie->lc); + lcs=ms_list_append(lcs,pauline->lc); + + content = linphone_core_create_content(marie->lc); + linphone_content_set_type(content,"application"); + linphone_content_set_subtype(content,"somexml"); + linphone_content_set_buffer(content,notify_content,strlen(notify_content)); + + lev = linphone_core_create_notify(marie->lc,pauline->identity,"dodo"); + linphone_event_ref(lev); + linphone_event_add_custom_header(lev,"CustomHeader","someValue"); + linphone_event_notify(lev,content); + + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_NotifyReceived,1,3000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionTerminated,1,3000)); + + linphone_event_unref(lev); + + linphone_content_unref(content); + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); +} + test_t event_tests[] = { TEST_ONE_TAG("Subscribe declined", subscribe_test_declined, "presence"), TEST_ONE_TAG("Subscribe terminated by subscriber", subscribe_test_terminated_by_subscriber, "presence"), @@ -367,7 +396,8 @@ test_t event_tests[] = { TEST_ONE_TAG("Subscribe terminated by notifier", subscribe_test_terminated_by_notifier, "LeaksMemory"), TEST_ONE_TAG("Publish", publish_test, "presence"), TEST_ONE_TAG("Publish without expires", publish_without_expires, "presence"), - TEST_ONE_TAG("Publish without automatic refresh",publish_no_auto_test, "presence") + TEST_ONE_TAG("Publish without automatic refresh",publish_no_auto_test, "presence"), + TEST_ONE_TAG("Out of dialog notify", out_of_dialog_notify, "presence") }; test_suite_t event_test_suite = {"Event", NULL, NULL, liblinphone_tester_before_each, liblinphone_tester_after_each, diff --git a/tester/liblinphone_tester.c b/tester/liblinphone_tester.c index 684654e88..bbd1052bf 100644 --- a/tester/liblinphone_tester.c +++ b/tester/liblinphone_tester.c @@ -229,6 +229,8 @@ int main (int argc, char *argv[]) liblinphone_tester_keep_recorded_files(TRUE); } else if (strcmp(argv[i],"--disable-leak-detector")==0){ liblinphone_tester_disable_leak_detector(TRUE); + } else if (strcmp(argv[i],"--6")==0){ + liblinphonetester_ipv6=TRUE; } else { int bret = bc_tester_parse_args(argc, argv, i); if (bret>0) { diff --git a/tester/liblinphone_tester.h b/tester/liblinphone_tester.h index 9cc244ad8..7c17d7231 100644 --- a/tester/liblinphone_tester.h +++ b/tester/liblinphone_tester.h @@ -60,7 +60,9 @@ extern test_suite_t video_test_suite; extern test_suite_t multicast_call_test_suite; extern test_suite_t multi_call_test_suite; extern test_suite_t proxy_config_test_suite; +#ifdef VCARD_ENABLED extern test_suite_t vcard_test_suite; +#endif extern test_suite_t audio_bypass_suite; #if HAVE_SIPP extern test_suite_t complex_sip_call_test_suite; @@ -106,7 +108,7 @@ extern const char* test_username; extern const char* test_password; extern const char* test_route; extern const char* userhostsfile; - +extern bool_t liblinphonetester_ipv6; typedef struct _stats { int number_of_LinphoneRegistrationNone; @@ -193,7 +195,7 @@ typedef struct _stats { int number_of_LinphonePresenceActivityWorking; int number_of_LinphonePresenceActivityWorship; const LinphonePresenceModel *last_received_presence; - + int number_of_LinphonePresenceBasicStatusOpen; int number_of_LinphonePresenceBasicStatusClosed; diff --git a/tester/tester.c b/tester/tester.c index c932f68ce..315428bc1 100644 --- a/tester/tester.c +++ b/tester/tester.c @@ -53,6 +53,7 @@ const char* test_username="liblinphone_tester"; const char* test_password="secret"; const char* test_route="sip2.linphone.org"; const char *userhostsfile = "tester_hosts"; +bool_t liblinphonetester_ipv6 = FALSE; const char *liblinphone_tester_mire_id="Mire: Mire (synthetic moving picture)"; @@ -148,7 +149,9 @@ LinphoneCore* configure_lc_from(LinphoneCoreVTable* v_table, const char* path, c linphone_core_set_ringback(lc, ringbackpath); linphone_core_set_root_ca(lc,rootcapath); } - + + linphone_core_enable_ipv6(lc, liblinphonetester_ipv6); + sal_enable_test_features(lc->sal,TRUE); sal_set_dns_user_hosts_file(lc->sal, dnsuserhostspath); linphone_core_set_static_picture(lc,nowebcampath); @@ -496,7 +499,9 @@ void liblinphone_tester_add_suites() { #if HAVE_SIPP bc_tester_add_suite(&complex_sip_call_test_suite); #endif +#ifdef VCARD_ENABLED bc_tester_add_suite(&vcard_test_suite); +#endif } static int linphone_core_manager_get_max_audio_bw_base(const int array[],int array_size) { diff --git a/tester/vcard_tester.c b/tester/vcard_tester.c index f49d6a31c..c1ef79f7a 100644 --- a/tester/vcard_tester.c +++ b/tester/vcard_tester.c @@ -16,6 +16,8 @@ along with this program. If not, see . */ +#ifdef VCARD_ENABLED + #include "linphonecore.h" #include "private.h" #include "liblinphone_tester.h" @@ -25,17 +27,12 @@ #define CARDDAV_SERVER "http://dav.linphone.org/card.php/addressbooks/tester/default" -#ifdef VCARD_ENABLED -static char *create_filepath(const char *dir, const char *filename, const char *ext) { - return ms_strdup_printf("%s/%s.%s", dir, filename, ext); -} - static void linphone_vcard_import_export_friends_test(void) { LinphoneCoreManager* manager = linphone_core_manager_new2("empty_rc", FALSE); LinphoneFriendList *lfl = linphone_core_get_default_friend_list(manager->lc); const MSList *friends = linphone_friend_list_get_friends(lfl); char *import_filepath = bc_tester_res("vcards/vcards.vcf"); - char *export_filepath = create_filepath(bc_tester_get_writable_dir_prefix(), "export_vcards", "vcf"); + char *export_filepath = bc_tester_file("export_vcards.vcf"); int count = 0; BC_ASSERT_EQUAL(ms_list_size(friends), 0, int, "%d"); @@ -212,7 +209,7 @@ static void friends_migration(void) { LinphoneFriendList *lfl = linphone_core_get_default_friend_list(manager->lc); const MSList *friends = linphone_friend_list_get_friends(lfl); MSList *friends_from_db = NULL; - char *friends_db = create_filepath(bc_tester_get_writable_dir_prefix(), "friends", "db"); + char *friends_db = bc_tester_file("friends.db"); BC_ASSERT_EQUAL(ms_list_size(friends), 3, int, "%d"); BC_ASSERT_EQUAL(lp_config_get_int(lpc, "misc", "friends_migration_done", 0), 0, int, "%i"); @@ -261,7 +258,7 @@ static void friends_sqlite_storage(void) { const MSList *friends = NULL; MSList *friends_from_db = NULL; MSList *friends_lists_from_db = NULL; - char *friends_db = create_filepath(bc_tester_get_writable_dir_prefix(), "friends", "db"); + char *friends_db = bc_tester_file("friends.db"); LinphoneFriendListStats *stats = (LinphoneFriendListStats *)ms_new0(LinphoneFriendListStats, 1); v_table->friend_list_created = friend_list_created_cb; @@ -414,7 +411,7 @@ static void carddav_sync_2(void) { LinphoneCoreManager *manager = linphone_core_manager_new2("carddav_rc", FALSE); LinphoneCardDAVStats *stats = (LinphoneCardDAVStats *)ms_new0(LinphoneCardDAVStats, 1); LinphoneFriend *lf = linphone_core_create_friend_with_address(manager->lc, "\"Sylvain\" "); - char *friends_db = create_filepath(bc_tester_get_writable_dir_prefix(), "friends", "db"); + char *friends_db = bc_tester_file("friends.db"); LinphoneFriendList *lfl = linphone_core_create_friend_list(manager->lc); LinphoneCardDavContext *c = NULL; @@ -456,7 +453,7 @@ static void carddav_sync_3(void) { LinphoneCardDAVStats *stats = (LinphoneCardDAVStats *)ms_new0(LinphoneCardDAVStats, 1); LinphoneVcard *lvc = linphone_vcard_new_from_vcard4_buffer("BEGIN:VCARD\r\nVERSION:4.0\r\nUID:1f08dd48-29ac-4097-8e48-8596d7776283\r\nFN:Sylvain Berfini\r\nIMPP;TYPE=work:sip:sylvain@sip.linphone.org\r\nEND:VCARD\r\n"); LinphoneFriend *lf = linphone_friend_new_from_vcard(lvc); - char *friends_db = create_filepath(bc_tester_get_writable_dir_prefix(), "friends", "db"); + char *friends_db = bc_tester_file("friends.db"); LinphoneFriendList *lfl = linphone_core_create_friend_list(manager->lc); LinphoneCardDavContext *c = NULL; @@ -722,7 +719,7 @@ static void carddav_server_to_client_and_client_to_sever_sync(void) { LinphoneVcard *lvc2 = linphone_vcard_new_from_vcard4_buffer("BEGIN:VCARD\r\nVERSION:4.0\r\nFN:Ghislain Mary\r\nIMPP;TYPE=work:sip:ghislain@sip.linphone.org\r\nEND:VCARD\r\n"); LinphoneFriend *lf2 = linphone_friend_new_from_vcard(lvc2); MSList *friends = NULL, *friends_iterator = NULL; - + linphone_friend_list_cbs_set_user_data(cbs, stats); linphone_friend_list_cbs_set_contact_created(cbs, carddav_contact_created); linphone_friend_list_cbs_set_contact_deleted(cbs, carddav_contact_deleted); @@ -730,7 +727,7 @@ static void carddav_server_to_client_and_client_to_sever_sync(void) { linphone_friend_list_cbs_set_sync_status_changed(cbs, carddav_sync_status_changed); linphone_core_add_friend_list(manager->lc, lfl); linphone_friend_list_set_uri(lfl, CARDDAV_SERVER); - + linphone_friend_list_add_friend(lfl, lf1); linphone_friend_unref(lf1); linphone_friend_list_synchronize_friends_from_server(lfl); @@ -738,7 +735,7 @@ static void carddav_server_to_client_and_client_to_sever_sync(void) { linphone_friend_unref(lf2); wait_for_until(manager->lc, NULL, &stats->sync_done_count, 3, 15000); BC_ASSERT_EQUAL(stats->sync_done_count, 3, int, "%i"); - + stats->sync_done_count = 0; friends = ms_list_copy(lfl->friends); friends_iterator = friends; @@ -759,13 +756,7 @@ static void carddav_server_to_client_and_client_to_sever_sync(void) { linphone_core_manager_destroy(manager); } -#else -static void dummy_test(void) { -} -#endif - test_t vcard_tests[] = { -#ifdef VCARD_ENABLED { "Import / Export friends from vCards", linphone_vcard_import_export_friends_test }, { "Import a lot of friends from vCards", linphone_vcard_import_a_lot_of_friends_test }, { "vCard creation for existing friends", linphone_vcard_update_existing_friends_test }, @@ -783,9 +774,6 @@ test_t vcard_tests[] = { { "CardDAV integration", carddav_integration }, { "CardDAV multiple synchronizations", carddav_multiple_sync }, { "CardDAV client to server and server to client sync", carddav_server_to_client_and_client_to_sever_sync }, -#else - { "Dummy test", dummy_test } -#endif }; test_suite_t vcard_test_suite = { @@ -793,3 +781,5 @@ test_suite_t vcard_test_suite = { liblinphone_tester_before_each, liblinphone_tester_after_each, sizeof(vcard_tests) / sizeof(vcard_tests[0]), vcard_tests }; + +#endif