1 var EXPORTED_SYMBOLS = [ "fburl" ]; 2 3 const Cc = Components.classes; 4 const Ci = Components.interfaces; 5 const Cu = Components.utils; 6 7 Cu.import("resource://calendar/modules/calUtils.jsm"); 8 9 if ("undefined" == typeof(fburl)) { 10 var fburl = {}; 11 }; 12 13 const calIFreeBusyInterval = Ci.calIFreeBusyInterval; 14 const calIDateTime = Ci.calIDateTime; 15 16 const fbUrlProviderClassID = Components.ID("{11291d94-b457-4322-bfba-ae9df4b6a3c1}"); 17 18 fburl.fbUrlProvider = function(cal) { this.cal = cal; }; 19 20 fburl.fbUrlProvider.prototype = { 21 classID: fbUrlProviderClassID, 22 23 getFreeBusyIntervals: function (aCalId, aRangeStart, aRangeEnd, aBusyTypes, aListener) { 24 25 var start = this.cal.createDateTime("20140923T100000Z"); 26 var end = this.cal.createDateTime("20140923T120000Z"); 27 28 var periods = []; 29 var interval = new this.cal.FreeBusyInterval( 30 aCalId, 31 calIFreeBusyInterval.BUSY, // fbType 32 start, end); 33 periods.push(interval); 34 aListener.onResult(null, periods); 35 } 36 }; 37 38 fburl.initProvider = function() { 39 cal.getFreeBusyService().addProvider(new fburl.fbUrlProvider(cal)); 40 }