summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Core/IPlatformServices.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Core/IPlatformServices.cs')
-rw-r--r--Xamarin.Forms.Core/IPlatformServices.cs36
1 files changed, 36 insertions, 0 deletions
diff --git a/Xamarin.Forms.Core/IPlatformServices.cs b/Xamarin.Forms.Core/IPlatformServices.cs
new file mode 100644
index 00000000..e4a3ce0b
--- /dev/null
+++ b/Xamarin.Forms.Core/IPlatformServices.cs
@@ -0,0 +1,36 @@
+using System;
+using System.IO;
+using System.Reflection;
+using System.Threading;
+using System.Threading.Tasks;
+
+namespace Xamarin.Forms
+{
+ internal interface IPlatformServices
+ {
+ bool IsInvokeRequired { get; }
+
+ void BeginInvokeOnMainThread(Action action);
+
+ //this will go once Timer is included in Pcl profiles
+ ITimer CreateTimer(Action<object> callback);
+ ITimer CreateTimer(Action<object> callback, object state, int dueTime, int period);
+ ITimer CreateTimer(Action<object> callback, object state, long dueTime, long period);
+ ITimer CreateTimer(Action<object> callback, object state, TimeSpan dueTime, TimeSpan period);
+ ITimer CreateTimer(Action<object> callback, object state, uint dueTime, uint period);
+
+ Assembly[] GetAssemblies();
+
+ string GetMD5Hash(string input);
+
+ double GetNamedSize(NamedSize size, Type targetElementType, bool useOldSizes);
+
+ Task<Stream> GetStreamAsync(Uri uri, CancellationToken cancellationToken);
+
+ IIsolatedStorageFile GetUserStoreForApplication();
+
+ void OpenUriAction(Uri uri);
+
+ void StartTimer(TimeSpan interval, Func<bool> callback);
+ }
+} \ No newline at end of file