var context = context || {} context.global = this var evalWorksForGlobals = null; context.evalWorksForGlobals_ = evalWorksForGlobals var exportPath = function(path, newobj) { var props = path.split("."); var obj = context.global; var prop; while (prop = props.shift()) { if (!props.length && isDef(newobj)) obj[prop] = newobj; else if (obj[prop]) obj = obj[prop]; else obj = (obj[prop] = {}); } }; context.exportPath_ = exportPath context.globalize = function(object, global) { var g = global || context.global for(var prop in object) g[prop] = object[prop]; }; context.JsType_ = { UNDEFINED:"undefined", NUMBER:"number", STRING:"string", BOOLEAN:"boolean", FUNCTION:"function", OBJECT:"object" }; var isDef = function(a) { return typeof a != "undefined"; }; context.isDef = isDef; var bind = function(a,b) { var c = a.boundArgs_ if (arguments.length > 2) { var d = Array.prototype.slice.call(arguments,2); if(c) { d.unshift.apply(d,c) } c = d; } b = a.boundSelf_||b; a = a.boundFn_||a; var e; var f = b||context.global; if (c) { e = function() { var g = Array.prototype.slice.call(arguments); g.unshift.apply(g,c); return a.apply(f,g); } } else { e = function() { return a.apply(f, arguments); } } e.boundArgs_ = c; e.boundSelf_ = b; e.boundFn_ = a; return e; } context.bind = bind var mixin = function(a,b) { for(var prop in b) a[prop] = b[prop]; }; context.mixin = mixin; context.globalEval = function(a) { if(context.global.execScript) { context.global.execScript(a,"JavaScript") } else if(context.global.eval) { if(evalWorksForGlobals == null) { context.global.eval("var _et_ = 1") if(typeof context.global._et_ != "undefined") { delete context.global._et_ evalWorksForGlobals = (context.evalWorksForGlobals_ = true) } else { evalWorksForGlobals = (context.evalWorksForGlobals_ = false) } } if(evalWorksForGlobals) { context.global.eval(a) } else { var b = context.global.document,c = b.createElement("script") c.type = "text/javascript" c.defer = false c.text = a b.body.appendChild(c) b.body.removeChild(c) } } else { throw Error("goog.globalEval not available") } }; context.exportSymbol = exportPath; if (!Function.prototype.apply) { Function.prototype.apply = function(a,b) { var c = [],d,e; if(!a) a = context.global; if(!b) b = []; for(var f = 0; f1) { var b = Array.prototype.slice.call(arguments,1); b.unshift(this,a); return bind.apply(null,b); } else { return bind(this,a) } }; Function.prototype.partial = function() { var a = Array.prototype.slice.call(arguments); a.unshift(this,null); return bind.apply(null,a); } Function.prototype.inherits = function(a) { inherits(this,a) }; var inherits = function(a,b) { function c() { } c.prototype = b.prototype; a.superClass_ = b.prototype; a.prototype = new c; a.prototype.constructor = a; }; context.inherits = inherits; Function.prototype.mixin = function(a) { mixin(this.prototype,a); }; var os_e = function() { } var requestCreateActivity = function(activity, priority, callback) { Container.get().requestCreateActivity(activity, priority, callback); }; os_e.requestCreateActivity = requestCreateActivity; var CreateActivityPriority = { HIGH:"HIGH",LOW:"LOW" }; os_e.CreateActivityPriority = CreateActivityPriority; var newDataRequest = function() { return Container.get().newDataRequest() }; os_e.newDataRequest = newDataRequest; var newActivity = function(a,b,c) { return Container.get().newActivity(a,b,c); }; os_e.newActivity = newActivity; var newActivityTemplate = function() { return Container.get().newActivityTemplate(); }; os_e.newActivityTemplate = newActivityTemplate; var newActivityMediaItem = function(a,b,c) { return Container.get().newActivityMediaItem(a,b,c); }; os_e.newActivityMediaItem = newActivityMediaItem; var newStream = function(a,b,c) { return Container.get().newStream(a,b,c); }; os_e.newStream = newStream; exportPath("opensocial.newDataRequest", newDataRequest); exportPath("opensocial.newActivity", newActivity); exportPath("opensocial.newActivityTemplate", newActivityTemplate); exportPath("opensocial.newActivityMediaItem", newActivityMediaItem); exportPath("opensocial.newStream", newStream); exportPath("opensocial.requestCreateActivity", requestCreateActivity); exportPath("opensocial.CreateActivityPriority", CreateActivityPriority); var Person = function(fields, isOwner, isViewer) { this.fields_ = fields || { } this.isOwner_ = isOwner this.isViewer_ = isViewer }; os_e.Person = Person; var PersonField = { ID:"id", NAME:"name", THUMBNAIL_URL:"thumbnailUrl", PROFILE_URL:"profileUrl" }; var PersonField_ID = PersonField.ID; var PersonField_NAME = PersonField.NAME; Person.Field = PersonField; Person.prototype.getId = function() { return this.getField(PersonField_ID); }; Person.prototype.getDisplayName = function() { return this.getField(PersonField_NAME); }; Person.prototype.getField = function(a) { return this.fields_[a]; }; Person.prototype.isViewer = function() { return !(!this.isViewer_); }; Person.prototype.isOwner = function() { return !(!this.isOwner_); }; exportPath("opensocial.Person", Person); exportPath("opensocial.Person.Field", PersonField); var Collection = function(array, offset, totalSize) { this.array_ = array || []; this.offset_ = offset || 0; this.totalSize_ = totalSize || this.array_.length; }; os_e.Collection = Collection; Collection.prototype.getById = function(id) { for (var i = 0; i < this.size(); i++) { var elt = this.array_[i]; if (elt.getId() == id) return c; } return null; }; Collection.prototype.size = function() { return this.array_.length }; Collection.prototype.each = function(f) { for (var i = 0; i < this.size(); i++) f(this.array_[i]); } Collection.prototype.asArray = function() { return this.array_; } Collection.prototype.getTotalSize = function() { return this.totalSize_; } Collection.prototype.getOffset = function() { return this.offset_; }; exportPath("opensocial.Collection",Collection); var Container = function() { }; os_e.Container = Container; var container = null; Container.container_ = container; var setContainer = function(a) { container = (Container.container_ = a); }; Container.setContainer = setContainer; Container.get = function() { return container }; Container.prototype.requestInstallApp = function(a,b) { }; Container.prototype.requestUninstallApp = function(a,b) { }; Container.prototype.requestMakePersonAFriend = function(a,b) { }; Container.prototype.requestMakePersonNotAFriend = function(a,b) { }; Container.prototype.requestCreateActivity = function(activity, priority, callback) { }; Container.prototype.requestData = function(dataRequest, callback) { }; Container.prototype.newFetchPersonRequest = function(id, opt_params) { }; Container.prototype.newFetchPeopleRequest = function(idSpec, opt_params) { }; Container.prototype.newFetchGlobalAppDataRequest = function(keys) { }; Container.prototype.newFetchInstanceAppDataRequest = function(keys) { }; Container.prototype.newUpdateInstanceAppDataRequest = function(key, value) { }; Container.prototype.newFetchPersonAppDataRequest = function(id, opt_params) { }; Container.prototype.newUpdatePersonAppDataRequest = function(id, key, value) { }; Container.prototype.newFetchActivitiesRequest = function(idSpec, opt_params) { }; Container.prototype.getCapabilities = function() { }; Container.prototype.newDataRequest = function() { return new DataRequest; }; Container.prototype.newActivity = function(a,b,c) { return new Activity(a,b,c); }; Container.prototype.newActivityTemplate = function() { return new Activity_Template; }; Container.prototype.newActivityMediaItem = function(a,b,c) { return new Activity_MediaItem(a,b,c); }; Container.prototype.newStream = function(a,b,c) { return new Stream(b,c); }; Container.isArray = function(a) { return a instanceof Array; }; exportPath("opensocial.Container", Container); exportPath("opensocial.Container.get", Container.get); exportPath("opensocial.Container.setContainer", setContainer); var DataRequest = function() { this.requestObjects_ = []; }; os_e.DataRequest = DataRequest; DataRequest.prototype.requestObjects_ = null; DataRequest.prototype.getRequestObjects = function() { return this.requestObjects_; }; DataRequest.prototype.add = function(a,b) { return this.requestObjects_.push({ key: b, request: a }); } DataRequest.prototype.send = function(callback) { callback = callback || function() { }; Container.get().requestData(this, callback); }; var DataRequest_PersonId = { OWNER:"OWNER", VIEWER:"VIEWER" }; DataRequest.PersonId = DataRequest_PersonId; var DataRequest_Group = { OWNER_FRIENDS: "OWNER_FRIENDS", VIEWER_FRIENDS: "VIEWER_FRIENDS" }; DataRequest.Group = DataRequest_Group; var DataRequest_ProfileDetailType = { BASIC:"basic", MATCHING:"matching", CONTACT:"contact", PERSONAL:"personal", FULL:"full" }; var DataRequest_ProfileDetailType_BASIC = DataRequest_ProfileDetailType.BASIC; DataRequest.ProfileDetailType = DataRequest_ProfileDetailType; var DataRequest_SortOrder = { TOP_FRIENDS:"topFriends", NAME:"name" }; var DataRequest_SortOrder_TOP_FRIENDS = DataRequest_SortOrder.TOP_FRIENDS; DataRequest.SortOrder = DataRequest_SortOrder; var DataRequest_FilterType = { ALL:"all", HAS_APP:"hasApp" }; var DataRequest_FilterType_ALL = DataRequest_FilterType.ALL; DataRequest.FilterType = DataRequest_FilterType; var DataRequest_PeopleRequestFields = { PROFILE_DETAILS:"profileDetail", SORT_ORDER:"sortOrder", FILTER:"filter", FIRST:"first", MAX:"max" }; DataRequest.PeopleRequestFields = DataRequest_PeopleRequestFields; DataRequest.prototype.addDefaultParam = function(a,b,c) { a[b] = a[b] || c }; DataRequest.prototype.asArray = function(a) { if(Container.isArray(a)) { return a; } else { return[a]; } }; DataRequest.prototype.newFetchPersonRequest = function(id, params) { params = params || {}; var fields = DataRequest_PeopleRequestFields; this.addDefaultParam (params, fields.PROFILE_DETAILS, DataRequest_ProfileDetailType_BASIC); return Container.get().newFetchPersonRequest(id, params); }; DataRequest.prototype.newFetchPeopleRequest = function(idSpec, params) { params = params || {} var fields = DataRequest_PeopleRequestFields; this.addDefaultParam (params, fields.PROFILE_DETAILS, DataRequest_ProfileDetailType_BASIC); this.addDefaultParam (params, fields.SORT_ORDER, DataRequest_SortOrder_TOP_FRIENDS); this.addDefaultParam (params, fields.FILTER, DataRequest_FilterType_ALL); this.addDefaultParam (params, fields.FIRST, 0); return Container.get().newFetchPeopleRequest(idSpec, params); }; DataRequest.prototype.newFetchGlobalAppDataRequest = function(keys) { return Container.get().newFetchGlobalAppDataRequest(this.asArray(keys)); }; DataRequest.prototype.newFetchInstanceAppDataRequest = function(keys) { return Container.get().newFetchInstanceAppDataRequest(this.asArray(keys)); }; DataRequest.prototype.newUpdateInstanceAppDataRequest = function(key, value) { return Container.get().newUpdateInstanceAppDataRequest(key, value); }; DataRequest.prototype.newFetchPersonAppDataRequest = function(id, opt_params) { return Container.get().newFetchPersonAppDataRequest (id, this.asArray(opt_params)); }; DataRequest.prototype.newUpdatePersonAppDataRequest = function(id, key, value) { return Container.get().newUpdatePersonAppDataRequest(id, key, value); }; var DataRequest_ActivityRequestFields = { APP_ID:"appId", FOLDER_ID:"folderId" }; DataRequest.ActivityRequestFields = DataRequest_ActivityRequestFields; DataRequest.prototype.newFetchActivitiesRequest = function(idSpec, params) { params = params || { } return Container.get().newFetchActivitiesRequest(idSpec, params); }; exportPath("opensocial.DataRequest.PersonId", DataRequest_PersonId); exportPath("opensocial.DataRequest.Group", DataRequest_Group); exportPath("opensocial.DataRequest.ProfileDetailType", DataRequest_ProfileDetailType); exportPath("opensocial.DataRequest.SortOrder", DataRequest_SortOrder); exportPath("opensocial.DataRequest.FilterType", DataRequest_FilterType); exportPath("opensocial.DataRequest.PeopleRequestFields", DataRequest_PeopleRequestFields); exportPath("opensocial.DataRequest.ActivityRequestFields", DataRequest_ActivityRequestFields); exportPath("opensocial.DataRequest", DataRequest); var DataResponse = function(responseItems, globalError) { this.responseItems_ = responseItems; this.globalError_ = globalError; }; os_e.DataResponse = DataResponse; DataResponse.prototype.hadError = function() { return !(!this.globalError_); }; DataResponse.prototype.get = function(a) { return this.responseItems_[a]; }; exportPath("opensocial.DataResponse", DataResponse); var ResponseItem = function(originalDataRequest, data, error) { this.originalDataRequest_ = originalDataRequest; this.data_ = data; this.error_ = error; }; os_e.ResponseItem = ResponseItem; ResponseItem.prototype.hadError = function() { return!(!this.error_); }; ResponseItem.prototype.getError = function() { return this.error_; }; ResponseItem.prototype.getOriginalDataRequest = function() { return this.originalDataRequest_; }; ResponseItem.prototype.getData = function() { return this.data_; }; exportPath("opensocial.ResponseItem", ResponseItem); var Activity = function(stream, title, fields) { this.fields_ = fields || { }; this.fields_[ActivityField_STREAM] = stream; this.fields_[ActivityField_TITLE] = title; }; os_e.Activity = Activity; var ActivityField = { ID:"id", EXTERNAL_ID:"externalId", STREAM:"stream", TITLE:"title", SUMMARY:"summary", BODY:"body", URL:"url", MEDIA_ITEMS:"mediaItems", POSTED_TIME:"postedTime", CUSTOM_VALUES:"customValues" }; var ActivityField_ID = ActivityField.ID; var ActivityField_STREAM = ActivityField.STREAM; var ActivityField_TITLE = ActivityField.TITLE; Activity.Field = ActivityField; Activity.prototype.getId = function() { return this.getField(ActivityField_ID); }; Activity.prototype.getField = function(name) { return this.fields_[name]; }; Activity.prototype.setField = function(name, value) { return this.fields_[name] = value; }; var Activity_MediaItem = function(mimetype, url, fields) { this.fields_ = fields || {}; this.fields_[Activity_MediaItem_Field_MIME_TYPE] = mimetype; this.fields_[Activity_MediaItem_Field_URL] = url; }; Activity.MediaItem = Activity_MediaItem; var Activity_MediaItem_Field = { TYPE:"type",MIME_TYPE:"mimeType",URL:"url" }; var Activity_MediaItem_Field_MIME_TYPE = Activity_MediaItem_Field.MIME_TYPE; var Activity_MediaItem_Field_URL = Activity_MediaItem_Field.URL; Activity_MediaItem.Field = Activity_MediaItem_Field; Activity_MediaItem.prototype.getField = function(name) { return this.fields_[name]; }; Activity_MediaItem.prototype.setField = function(name, value) { return this.fields_[name] = value; }; var Activity_Template = function() { this.templateData_ = []; }; Activity.Template = Activity_Template; Activity_Template.prototype.appendString = function(s) { this.templateData_.push({ type:"string", data: s }); }; Activity_Template.prototype.appendActivityField = function(data) { this.templateData_.push({ type:"activity", data: data }); }; Activity_Template.prototype.appendStreamField = function(stream) { this.templateData_.push({ type:"stream", data: stream }); }; Activity_Template.prototype.appendUserField = function(id, data) { this.templateData_.push({ type: "user", id: id, data: data }); }; Activity_Template.prototype.appendCustomField = function(data) { this.templateData_.push({ type:"custom", data: data }); }; exportPath("opensocial.Activity", Activity); exportPath("opensocial.Activity.Field", ActivityField); exportPath("opensocial.Activity.MediaItem", Activity_MediaItem); exportPath("opensocial.Activity.MediaItem.Field", Activity_MediaItem_Field); exportPath("opensocial.Activity.Template", Activity_Template); var Stream = function(title, fields) { this.fields_ = fields || {}; this.fields_[Stream_Field_TITLE] = title; }; os_e.Stream = Stream; var Stream_Field = { USER_ID:"userId", APP_ID:"appId", TITLE:"title", URL:"url", SOURCE_URL:"sourceUrl", FAVICON_URL:"faviconUrl" }; var Stream_Field_TITLE = Stream_Field.TITLE; Stream.Field = Stream_Field; Stream.prototype.getId = function() { return this.getField(Stream_Field.ID); }; Stream.prototype.getField = function(name) { return this.fields_[name]; }; Stream.prototype.setField = function(name, value) { return this.fields_[name] = value; }; exportPath("opensocial.Stream", Stream); exportPath("opensocial.Stream.Field", Stream_Field);