private static Publisher CreatePublisher() { var settings = Settings.Default; var logger = new AutoUpdateLogger(_logDirectory.FullName); var achievementManager = new AchievementManager(new SteamRepository()); var communityManager = new SteamCommunityManager(new WebClientWrapper(), new SteamProfileXmlParser(), new GameXmlParser(), new AchievementXmlParser()); var achievementService = new AchievementService(achievementManager, communityManager); var facebookClient = new FacebookClientService(settings.FacebookAppId, settings.FacebookAppSecret, settings.FacebookCanvasUrl); var autoUpdateManager = new AutoUpdateManager(achievementService, new UserService(achievementManager), facebookClient, logger); return(new Publisher(autoUpdateManager)); }
/// <summary> /// Enable facebook authentication for the application /// </summary> /// <param name="configuration"> /// The facebook authentication configuration /// </param> /// <param name="facebookAPIFactory"> /// The facebook object builder /// </param> /// <param name="facebookUrlHelper"> /// The facebook url helper /// </param> public static void Enable(FacebookAuthenticationConfiguration configuration, IFacebookAPIFactory facebookAPIFactory, IFacebookUrlHelper facebookUrlHelper) { if (configuration == null) { throw new ArgumentNullException("configuration"); } if (!configuration.IsValid) { throw new ArgumentException("Configuration is invalid", "configuration"); } if (facebookAPIFactory == null) { throw new ArgumentNullException("facebookAPIFactory"); } if (facebookUrlHelper == null) { throw new ArgumentNullException("facebookUrlHelper"); } Enabled = true; Configuration = configuration; FacebookClientService = new FacebookClientService(ApplicationAuthenticator, FacebookCurrentAuthenticatedUserCache, facebookAPIFactory); FacebookOAuthService = new FacebookOAuthService(facebookAPIFactory, facebookUrlHelper); }