(function(f,d,e){var c="Rho.Push";var b=e.apiReqFor(c);function a(){var g=null;this.getId=function(){return g};if(1==arguments.length&&arguments[0][e.rhoIdParam()]){if(c!=arguments[0][e.rhoClassParam()]){throw"Wrong class instantiation!"}g=arguments[0][e.rhoIdParam()]}else{g=e.nextId()}}e.createPropsProxy(a.prototype,[{propName:"type",propAccess:"r"},{propName:"userNotifyMode",propAccess:"rw"},{propName:"pushServer",propAccess:"r"},{propName:"pushAppName",propAccess:"r"}],b,function(){return this.getId()});e.createMethodsProxy(a.prototype,[{methodName:"getDeviceId",nativeName:"getDeviceId",persistentCallbackIndex:0,valueCallbackIndex:2},{methodName:"startNotifications",nativeName:"startNotifications",persistentCallbackIndex:0,valueCallbackIndex:2},{methodName:"stopNotifications",nativeName:"stopNotifications",valueCallbackIndex:0},{methodName:"getProperty",nativeName:"getProperty",persistentCallbackIndex:1,valueCallbackIndex:3},{methodName:"getProperties",nativeName:"getProperties",persistentCallbackIndex:1,valueCallbackIndex:3},{methodName:"getAllProperties",nativeName:"getAllProperties",persistentCallbackIndex:0,valueCallbackIndex:2},{methodName:"setProperty",nativeName:"setProperty",valueCallbackIndex:2},{methodName:"setProperties",nativeName:"setProperties",valueCallbackIndex:1}],b,function(){return this.getId()});e.createRawPropsProxy(a.prototype,[]);a.PUSH_NOTIFY_ALERTS="alert";a.PUSH_NOTIFY_NONE="none";a.PUSH_NOTIFY_NOTIFICATIONS="notification";a.PUSH_NOTIFY_NOTIFICATIONS_AND_ALERTS="backgroundNotifications";a.PUSH_TYPE_NATIVE="native-push";a.PUSH_TYPE_RHOCONNECT="rhoconnect-push";e.createPropsProxy(a,[],b);e.createMethodsProxy(a,[{methodName:"enumerate",nativeName:"enumerate",persistentCallbackIndex:0,valueCallbackIndex:2}],b);e.createPropsProxy(a,[{propName:"defaultInstance:getDefault:setDefault",propAccess:"rw",customSet:function(g){if(!g||"function"!=typeof g.getId){throw"Default object should provide getId method!"}a.setDefaultID(g.getId())}},{propName:"defaultID:getDefaultID:setDefaultID",propAccess:"rw"}],b);a.getId=function(){return a.getDefaultID()};e.createPropsProxy(a,[{propName:"type",propAccess:"r"},{propName:"userNotifyMode",propAccess:"rw"},{propName:"pushServer",propAccess:"r"},{propName:"pushAppName",propAccess:"r"}],b,function(){return this.getId()});e.createMethodsProxy(a,[{methodName:"getDeviceId",nativeName:"getDeviceId",persistentCallbackIndex:0,valueCallbackIndex:2},{methodName:"startNotifications",nativeName:"startNotifications",persistentCallbackIndex:0,valueCallbackIndex:2},{methodName:"stopNotifications",nativeName:"stopNotifications",valueCallbackIndex:0},{methodName:"getProperty",nativeName:"getProperty",persistentCallbackIndex:1,valueCallbackIndex:3},{methodName:"getProperties",nativeName:"getProperties",persistentCallbackIndex:1,valueCallbackIndex:3},{methodName:"getAllProperties",nativeName:"getAllProperties",persistentCallbackIndex:0,valueCallbackIndex:2},{methodName:"setProperty",nativeName:"setProperty",valueCallbackIndex:2},{methodName:"setProperties",nativeName:"setProperties",valueCallbackIndex:1}],b,function(){return this.getId()});e.createRawPropsProxy(a,[]);e.namespace(c,a)})(Rho.jQuery,Rho,Rho.util);