diff options
author | Jérémie Laval <jeremie.laval@gmail.com> | 2012-12-11 14:41:21 +0400 |
---|---|---|
committer | Jérémie Laval <jeremie.laval@gmail.com> | 2012-12-11 14:41:21 +0400 |
commit | a0e4f271209ab6058ce2df50f95dfd358187dbc6 (patch) | |
tree | d50799aa8ad2f94ccb5678a75417d40a4701714e /Product.cs | |
parent | a22b8f1d4b5522d86f90a71f7aea7db9285b8f1e (diff) |
[macdoc] Refactor doc merging process to support MonoMac too.
Diffstat (limited to 'Product.cs')
-rw-r--r-- | Product.cs | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/Product.cs b/Product.cs new file mode 100644 index 0000000..899f46c --- /dev/null +++ b/Product.cs @@ -0,0 +1,62 @@ +using System; +using System.Linq; +using System.Collections.Generic; +using Monodoc; + +namespace macdoc +{ + public enum Product + { + MonoTouch, + MonoMac + } + + public static class ProductUtils + { + public static string GetFriendlyName (Product product) + { + switch (product) { + case Product.MonoTouch: + return "Xamarin.iOS"; + case Product.MonoMac: + return "Xamarin.Mac"; + default: + return string.Empty; + } + } + + public static IEnumerable<Product> ToProducts (this IEnumerable<HelpSource> sources) + { + foreach (var hs in sources) { + if (hs.Name.StartsWith ("MonoTouch", StringComparison.InvariantCultureIgnoreCase)) + yield return Product.MonoTouch; + else if (hs.Name.StartsWith ("MonoMac", StringComparison.InvariantCultureIgnoreCase)) + yield return Product.MonoMac; + } + } + + public static string GetDocFeedForProduct (Product product) + { + switch (product) { + case Product.MonoTouch: + return AppleDocHandler.Ios6AtomFeed; + case Product.MonoMac: + return AppleDocHandler.MacMountainLionFeed; + default: + return null; + } + } + + public static string GetMergeToolForProduct (Product product) + { + switch (product) { + case Product.MonoTouch: + return "/Developer/MonoTouch/usr/share/doc/MonoTouch/apple-doc-wizard"; + case Product.MonoMac: + return "/Library/Frameworks/Xamarin.Mac.framework/Versions/Current/share/doc/apple-doc-wizard"; + default: + return null; + } + } + } +} |