/*************************************************************************
* ADOBE CONFIDENTIAL
* ___________________
*
*  Copyright 2013 Adobe Systems Incorporated
*  All Rights Reserved.
*
* NOTICE:  All information contained herein is, and remains
* the property of Adobe Systems Incorporated and its suppliers,
* if any.  The intellectual and technical concepts contained
* herein are proprietary to Adobe Systems Incorporated and its
* suppliers and are protected by all applicable intellectual property laws,
* including trade secret and or copyright laws.
* Dissemination of this information or reproduction of this material
* is strictly forbidden unless prior written permission is obtained
* from Adobe Systems Incorporated.
**************************************************************************/

define(["core/ac-core","app-api/dev/ac-app-api","core-unmapped/dev/utils/app-api-mgr","core/utils/date-util","core/utils/http-util","core/utils/util","core/apis/api","app-api/dev/acrobat-api","app-api/dev/base-aic-uris-api","app-api/dev/base-files-uris-api","app-api/dev/base-cloud-uris-api","app-api/dev/connectors-api","app-api/dev/dialog-api","app-api/dev/discovery-uris-api","app-api/dev/download-api","app-api/dev/display-api","app-api/dev/folder-api","app-api/dev/error-api","app-api/dev/http-api","app-api/dev/inactivity-api","app-api/dev/focus-api","app-api/dev/key-api","app-api/dev/loader-api","app-api/dev/locale-api","app-api/dev/manipulation-api","app-api/dev/network-api","app-api/dev/network-connectivity-api","app-api/dev/notification-api","app-api/dev/plugins-api","app-api/dev/preview-api","app-api/dev/rna-api","app-api/dev/router-api","app-api/dev/saveas-api","app-api/dev/selection-api","app-api/dev/session-api","app-api/dev/settings-api","app-api/dev/site-catalyst-api","app-api/dev/status-menu-api","app-api/dev/users-me-api","app-api/dev/window-api"],function(e,t,n,r,i,s){return t.AppApi=e.Api.extend({initialize:function(){var n=this.options,r,i=$.Deferred(),o;e.Api.prototype.initialize.call(this),this.routerApi=new t.RouterApi(n),this.acrobatApi=new t.AcrobatApi(n),this.baseAicUrisApi=new t.BaseAicUrisApi(n),this.baseFilesUrisApi=new t.BaseFilesUrisApi(n),this.baseCloudUrisApi=new t.BaseCloudUrisApi(n),this.discoveryUrisApi=new t.DiscoveryUrisApi(n),this.connectorsApi=new t.ConnectorsApi(n),this.dialogApi=new t.DialogApi(n),this.displayApi=new t.DisplayApi(n),this.downloadApi=new t.DownloadApi(n),this.errorApi=new t.ErrorApi(n),this.focusApi=new t.FocusApi(n),this.folderApi=new t.FolderApi(n),this.httpApi=new t.HttpApi(n),this.inactivityApi=new t.InactivityApi(n),this.keyApi=new t.KeyApi(n),this.loaderApi=new t.LoaderApi(n),this.localeApi=new t.LocaleApi(n),this.manipulationApi=new t.ManipulationApi(n),this.networkApi=new t.NetworkApi(n),this.notificationApi=new t.NotificationApi(n),this.pluginsApi=new t.PluginsApi(n),this.previewApi=new t.PreviewApi(n),this.selectionApi=new t.SelectionApi(n),this.sessionApi=new t.SessionApi(n),this.settingsApi=new t.SettingsApi(n),this.siteCatalystApi=new t.SiteCatalystApi(n),this.statusMenuApi=new t.StatusMenuApi(n),this.usersMeApi=new t.UsersMeApi(n),this.windowApi=new t.WindowApi(n),this._isAppUsingAV2UI=!1,s.isCEF()&&(o=new t.RNAApi(n),this.rnaApi=i.promise(),this.saveAsApi=new t.SaveAsApi(n),this.networkConnectivityApi=new t.NetworkConnectivityApi(n),n.readerContextModel.then(_.bind(function(){this.rnaApiObj=o,this._isAppUsingAV2UI=this.rnaApiObj.isUsingAV2UI(),i.resolve(o)},this))),r=this.appApiReady=$.Deferred(),r.promise(this)},getAppApiVersion:function(){return"dev"},createAppApiVersion:function(e){n.addAppApi(e,new Ac.AppApi[e].AppApi(this.options))},appIsReady:function(){var e,t=Ac.Features;r.logElapsedTime("app-api appIsReady"),this.rnaApi&&this.rnaApi.then(function(n){n.invokeMethod({methodName:"logAPI",methodArgs:logAPI.getSessionInfo()}),n.isDebug()||n.isFeatRunning()&&n.isASTestAllowInstantiation()?(t.setFeature("javascript_console_logging",!0),t.setFeature("elapsed_time_console_logging",!0)):t.setFeature=undefined,e=n.getXApiClientId(),e&&(i.REQUEST_HEADER_CLIENT_ID=e)});try{this.appApiReady.resolve()}catch(n){LOG.warn("AcAppApi.AppApi.appIsReady: "+(n.stack||n.message),{logServer:!0})}},isAppUsingAV2UI:function(){return this._isAppUsingAV2UI}}),t.AppApi});