var __extends = this.__extends || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
var XmlElementNames_1 = require("../../XmlElementNames");
var ComplexPropertyDefinition_1 = require("../../../PropertyDefinitions/ComplexPropertyDefinition");
var ExchangeVersion_1 = require("../../../Enumerations/ExchangeVersion");
var ItemId_1 = require("../../../ComplexProperties/ItemId");
var BoolPropertyDefinition_1 = require("../../../PropertyDefinitions/BoolPropertyDefinition");
var PropertyDefinitionFlags_1 = require("../../../Enumerations/PropertyDefinitionFlags");
var GenericPropertyDefinition_1 = require("../../../PropertyDefinitions/GenericPropertyDefinition");
var AppointmentSchema_1 = require("./AppointmentSchema");
var EmailMessageSchema_1 = require("./EmailMessageSchema");
//module MeetingMessageSchema {
var FieldUris;
(function (FieldUris) {
FieldUris.AssociatedCalendarItemId = "meeting:AssociatedCalendarItemId";
FieldUris.IsDelegated = "meeting:IsDelegated";
FieldUris.IsOutOfDate = "meeting:IsOutOfDate";
FieldUris.HasBeenProcessed = "meeting:HasBeenProcessed";
FieldUris.ResponseType = "meeting:ResponseType";
FieldUris.IsOrganizer = "cal:IsOrganizer";
})(FieldUris || (FieldUris = {}));
//}
var MeetingMessageSchema = (function (_super) {
__extends(MeetingMessageSchema, _super);
function MeetingMessageSchema() {
_super.apply(this, arguments);
}
MeetingMessageSchema.prototype.RegisterProperties = function () {
_super.prototype.RegisterProperties.call(this);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.AssociatedAppointmentId);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.IsDelegated);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.IsOutOfDate);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.HasBeenProcessed);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.ResponseType);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.ICalUid);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.ICalRecurrenceId);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.ICalDateTimeStamp);
_super.prototype.RegisterProperty.call(this, MeetingMessageSchema.IsOrganizer);
};
MeetingMessageSchema.AssociatedAppointmentId = new ComplexPropertyDefinition_1.ComplexPropertyDefinition("AssociatedCalendarItemId", XmlElementNames_1.XmlElementNames.AssociatedCalendarItemId, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.AssociatedCalendarItemId, PropertyDefinitionFlags_1.PropertyDefinitionFlags.None, function () { return new ItemId_1.ItemId(); });
MeetingMessageSchema.IsDelegated = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsDelegated", XmlElementNames_1.XmlElementNames.IsDelegated, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsDelegated, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
MeetingMessageSchema.IsOutOfDate = new BoolPropertyDefinition_1.BoolPropertyDefinition("IsOutOfDate", XmlElementNames_1.XmlElementNames.IsOutOfDate, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.IsOutOfDate);
MeetingMessageSchema.HasBeenProcessed = new BoolPropertyDefinition_1.BoolPropertyDefinition("HasBeenProcessed", XmlElementNames_1.XmlElementNames.HasBeenProcessed, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.HasBeenProcessed, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
MeetingMessageSchema.ResponseType = new GenericPropertyDefinition_1.GenericPropertyDefinition("ResponseType", XmlElementNames_1.XmlElementNames.ResponseType, ExchangeVersion_1.ExchangeVersion.Exchange2007_SP1, FieldUris.ResponseType, PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
MeetingMessageSchema.ICalUid = AppointmentSchema_1.AppointmentSchema.Instance.ICalUid;
MeetingMessageSchema.ICalRecurrenceId = AppointmentSchema_1.AppointmentSchema.Instance.ICalRecurrenceId;
MeetingMessageSchema.ICalDateTimeStamp = AppointmentSchema_1.AppointmentSchema.Instance.ICalDateTimeStamp;
MeetingMessageSchema.IsOrganizer = new GenericPropertyDefinition_1.GenericPropertyDefinition("IsOrganizer", XmlElementNames_1.XmlElementNames.IsOrganizer, ExchangeVersion_1.ExchangeVersion.Exchange2013, "cal:IsOrganizer", PropertyDefinitionFlags_1.PropertyDefinitionFlags.CanFind);
MeetingMessageSchema.Instance = new MeetingMessageSchema();
return MeetingMessageSchema;
})(EmailMessageSchema_1.EmailMessageSchema);
exports.MeetingMessageSchema = MeetingMessageSchema;