/*
 * DO NOT EDIT.  THIS FILE IS GENERATED FROM ../../../dist/idl/calIItemBase.idl
 */

#ifndef __gen_calIItemBase_h__
#define __gen_calIItemBase_h__


#ifndef __gen_nsISupports_h__
#include "nsISupports.h"
#endif

/* For IDL files that don't want to include root IDL files. */
#ifndef NS_NO_VTABLE
#define NS_NO_VTABLE
#endif
class nsISimpleEnumerator; /* forward declaration */

class nsIVariant; /* forward declaration */

class nsIPropertyBag; /* forward declaration */

class calIItemACLEntry; /* forward declaration */

class calIAlarm; /* forward declaration */

class calIAttachment; /* forward declaration */

class calIAttendee; /* forward declaration */

class calICalendar; /* forward declaration */

class calIDateTime; /* forward declaration */

class calIDuration; /* forward declaration */

class calIIcalComponent; /* forward declaration */

class calIRecurrenceInfo; /* forward declaration */

class calIRelation; /* forward declaration */


/* starting interface:    calIItemBase */
#define CALIITEMBASE_IID_STR "9c988b8d-af45-4046-b05e-34417bba9058"

#define CALIITEMBASE_IID \
  {0x9c988b8d, 0xaf45, 0x4046, \
    { 0xb0, 0x5e, 0x34, 0x41, 0x7b, 0xba, 0x90, 0x58 }}

class NS_NO_VTABLE calIItemBase : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(CALIITEMBASE_IID)

  /* readonly attribute boolean isMutable; */
  NS_IMETHOD GetIsMutable(bool *aIsMutable) = 0;

  /* void makeImmutable (); */
  NS_IMETHOD MakeImmutable(void) = 0;

  /* calIItemBase clone (); */
  NS_IMETHOD Clone(calIItemBase * *_retval) = 0;

  /* readonly attribute AUTF8String hashId; */
  NS_IMETHOD GetHashId(nsACString & aHashId) = 0;

  /* boolean hasSameIds (in calIItemBase aItem); */
  NS_IMETHOD HasSameIds(calIItemBase *aItem, bool *_retval) = 0;

  /* readonly attribute calIItemACLEntry aclEntry; */
  NS_IMETHOD GetAclEntry(calIItemACLEntry * *aAclEntry) = 0;

  /* attribute uint32_t generation; */
  NS_IMETHOD GetGeneration(uint32_t *aGeneration) = 0;
  NS_IMETHOD SetGeneration(uint32_t aGeneration) = 0;

  /* readonly attribute calIDateTime creationDate; */
  NS_IMETHOD GetCreationDate(calIDateTime * *aCreationDate) = 0;

  /* readonly attribute calIDateTime lastModifiedTime; */
  NS_IMETHOD GetLastModifiedTime(calIDateTime * *aLastModifiedTime) = 0;

  /* readonly attribute calIDateTime stampTime; */
  NS_IMETHOD GetStampTime(calIDateTime * *aStampTime) = 0;

  /* attribute calICalendar calendar; */
  NS_IMETHOD GetCalendar(calICalendar * *aCalendar) = 0;
  NS_IMETHOD SetCalendar(calICalendar *aCalendar) = 0;

  /* attribute AUTF8String id; */
  NS_IMETHOD GetId(nsACString & aId) = 0;
  NS_IMETHOD SetId(const nsACString & aId) = 0;

  /* attribute AUTF8String title; */
  NS_IMETHOD GetTitle(nsACString & aTitle) = 0;
  NS_IMETHOD SetTitle(const nsACString & aTitle) = 0;

  /* attribute short priority; */
  NS_IMETHOD GetPriority(int16_t *aPriority) = 0;
  NS_IMETHOD SetPriority(int16_t aPriority) = 0;

  /* attribute AUTF8String privacy; */
  NS_IMETHOD GetPrivacy(nsACString & aPrivacy) = 0;
  NS_IMETHOD SetPrivacy(const nsACString & aPrivacy) = 0;

  /* attribute AUTF8String status; */
  NS_IMETHOD GetStatus(nsACString & aStatus) = 0;
  NS_IMETHOD SetStatus(const nsACString & aStatus) = 0;

  /* attribute AUTF8String icalString; */
  NS_IMETHOD GetIcalString(nsACString & aIcalString) = 0;
  NS_IMETHOD SetIcalString(const nsACString & aIcalString) = 0;

  /* attribute calIIcalComponent icalComponent; */
  NS_IMETHOD GetIcalComponent(calIIcalComponent * *aIcalComponent) = 0;
  NS_IMETHOD SetIcalComponent(calIIcalComponent *aIcalComponent) = 0;

  /* void getAlarms (out uint32_t count, [array, size_is (count), retval] out calIAlarm aAlarms); */
  NS_IMETHOD GetAlarms(uint32_t *count, calIAlarm * **aAlarms) = 0;

  /* void addAlarm (in calIAlarm aAlarm); */
  NS_IMETHOD AddAlarm(calIAlarm *aAlarm) = 0;

  /* void deleteAlarm (in calIAlarm aAlarm); */
  NS_IMETHOD DeleteAlarm(calIAlarm *aAlarm) = 0;

  /* void clearAlarms (); */
  NS_IMETHOD ClearAlarms(void) = 0;

  /* attribute calIDateTime alarmLastAck; */
  NS_IMETHOD GetAlarmLastAck(calIDateTime * *aAlarmLastAck) = 0;
  NS_IMETHOD SetAlarmLastAck(calIDateTime *aAlarmLastAck) = 0;

  /* attribute calIRecurrenceInfo recurrenceInfo; */
  NS_IMETHOD GetRecurrenceInfo(calIRecurrenceInfo * *aRecurrenceInfo) = 0;
  NS_IMETHOD SetRecurrenceInfo(calIRecurrenceInfo *aRecurrenceInfo) = 0;

  /* readonly attribute calIDateTime recurrenceStartDate; */
  NS_IMETHOD GetRecurrenceStartDate(calIDateTime * *aRecurrenceStartDate) = 0;

  /* readonly attribute nsISimpleEnumerator propertyEnumerator; */
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) = 0;

  /* boolean hasProperty (in AString name); */
  NS_IMETHOD HasProperty(const nsAString & name, bool *_retval) = 0;

  /* nsIVariant getProperty (in AString name); */
  NS_IMETHOD GetProperty(const nsAString & name, nsIVariant * *_retval) = 0;

  /* void setProperty (in AString name, in nsIVariant value); */
  NS_IMETHOD SetProperty(const nsAString & name, nsIVariant *value) = 0;

  /* void deleteProperty (in AString name); */
  NS_IMETHOD DeleteProperty(const nsAString & name) = 0;

  /* boolean isPropertyPromoted (in AString name); */
  NS_IMETHOD IsPropertyPromoted(const nsAString & name, bool *_retval) = 0;

  /* AString getPropertyParameter (in AString aPropertyName, in AString aParameterName); */
  NS_IMETHOD GetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, nsAString & _retval) = 0;

  /* boolean hasPropertyParameter (in AString aPropertyName, in AString aParameterName); */
  NS_IMETHOD HasPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, bool *_retval) = 0;

  /* void setPropertyParameter (in AString aPropertyName, in AString aParameterName, in AUTF8String aParameterValue); */
  NS_IMETHOD SetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, const nsACString & aParameterValue) = 0;

  /* nsISimpleEnumerator getParameterEnumerator (in AString aPropertyName); */
  NS_IMETHOD GetParameterEnumerator(const nsAString & aPropertyName, nsISimpleEnumerator * *_retval) = 0;

  /* attribute calIAttendee organizer; */
  NS_IMETHOD GetOrganizer(calIAttendee * *aOrganizer) = 0;
  NS_IMETHOD SetOrganizer(calIAttendee *aOrganizer) = 0;

  /* void getAttendees (out uint32_t count, [array, size_is (count), retval] out calIAttendee attendees); */
  NS_IMETHOD GetAttendees(uint32_t *count, calIAttendee * **attendees) = 0;

  /* calIAttendee getAttendeeById (in AUTF8String id); */
  NS_IMETHOD GetAttendeeById(const nsACString & id, calIAttendee * *_retval) = 0;

  /* void addAttendee (in calIAttendee attendee); */
  NS_IMETHOD AddAttendee(calIAttendee *attendee) = 0;

  /* void removeAttendee (in calIAttendee attendee); */
  NS_IMETHOD RemoveAttendee(calIAttendee *attendee) = 0;

  /* void removeAllAttendees (); */
  NS_IMETHOD RemoveAllAttendees(void) = 0;

  /* void getAttachments (out uint32_t count, [array, size_is (count), retval] out calIAttachment attachments); */
  NS_IMETHOD GetAttachments(uint32_t *count, calIAttachment * **attachments) = 0;

  /* void addAttachment (in calIAttachment attachment); */
  NS_IMETHOD AddAttachment(calIAttachment *attachment) = 0;

  /* void removeAttachment (in calIAttachment attachment); */
  NS_IMETHOD RemoveAttachment(calIAttachment *attachment) = 0;

  /* void removeAllAttachments (); */
  NS_IMETHOD RemoveAllAttachments(void) = 0;

  /* void getCategories (out uint32_t aCount, [array, size_is (aCount), retval] out wstring aCategories); */
  NS_IMETHOD GetCategories(uint32_t *aCount, char16_t * **aCategories) = 0;

  /* void setCategories (in uint32_t aCount, [array, size_is (aCount)] in wstring aCategories); */
  NS_IMETHOD SetCategories(uint32_t aCount, const char16_t * *aCategories) = 0;

  /* void getRelations (out uint32_t count, [array, size_is (count), retval] out calIRelation relations); */
  NS_IMETHOD GetRelations(uint32_t *count, calIRelation * **relations) = 0;

  /* void addRelation (in calIRelation relation); */
  NS_IMETHOD AddRelation(calIRelation *relation) = 0;

  /* void removeRelation (in calIRelation relation); */
  NS_IMETHOD RemoveRelation(calIRelation *relation) = 0;

  /* void removeAllRelations (); */
  NS_IMETHOD RemoveAllRelations(void) = 0;

  /* void getOccurrencesBetween (in calIDateTime aStartDate, in calIDateTime aEndDate, out uint32_t aCount, [array, size_is (aCount), retval] out calIItemBase aOccurrences); */
  NS_IMETHOD GetOccurrencesBetween(calIDateTime *aStartDate, calIDateTime *aEndDate, uint32_t *aCount, calIItemBase * **aOccurrences) = 0;

  /* attribute calIItemBase parentItem; */
  NS_IMETHOD GetParentItem(calIItemBase * *aParentItem) = 0;
  NS_IMETHOD SetParentItem(calIItemBase *aParentItem) = 0;

  /* attribute calIDateTime recurrenceId; */
  NS_IMETHOD GetRecurrenceId(calIDateTime * *aRecurrenceId) = 0;
  NS_IMETHOD SetRecurrenceId(calIDateTime *aRecurrenceId) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(calIItemBase, CALIITEMBASE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_CALIITEMBASE \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override; \
  NS_IMETHOD MakeImmutable(void) override; \
  NS_IMETHOD Clone(calIItemBase * *_retval) override; \
  NS_IMETHOD GetHashId(nsACString & aHashId) override; \
  NS_IMETHOD HasSameIds(calIItemBase *aItem, bool *_retval) override; \
  NS_IMETHOD GetAclEntry(calIItemACLEntry * *aAclEntry) override; \
  NS_IMETHOD GetGeneration(uint32_t *aGeneration) override; \
  NS_IMETHOD SetGeneration(uint32_t aGeneration) override; \
  NS_IMETHOD GetCreationDate(calIDateTime * *aCreationDate) override; \
  NS_IMETHOD GetLastModifiedTime(calIDateTime * *aLastModifiedTime) override; \
  NS_IMETHOD GetStampTime(calIDateTime * *aStampTime) override; \
  NS_IMETHOD GetCalendar(calICalendar * *aCalendar) override; \
  NS_IMETHOD SetCalendar(calICalendar *aCalendar) override; \
  NS_IMETHOD GetId(nsACString & aId) override; \
  NS_IMETHOD SetId(const nsACString & aId) override; \
  NS_IMETHOD GetTitle(nsACString & aTitle) override; \
  NS_IMETHOD SetTitle(const nsACString & aTitle) override; \
  NS_IMETHOD GetPriority(int16_t *aPriority) override; \
  NS_IMETHOD SetPriority(int16_t aPriority) override; \
  NS_IMETHOD GetPrivacy(nsACString & aPrivacy) override; \
  NS_IMETHOD SetPrivacy(const nsACString & aPrivacy) override; \
  NS_IMETHOD GetStatus(nsACString & aStatus) override; \
  NS_IMETHOD SetStatus(const nsACString & aStatus) override; \
  NS_IMETHOD GetIcalString(nsACString & aIcalString) override; \
  NS_IMETHOD SetIcalString(const nsACString & aIcalString) override; \
  NS_IMETHOD GetIcalComponent(calIIcalComponent * *aIcalComponent) override; \
  NS_IMETHOD SetIcalComponent(calIIcalComponent *aIcalComponent) override; \
  NS_IMETHOD GetAlarms(uint32_t *count, calIAlarm * **aAlarms) override; \
  NS_IMETHOD AddAlarm(calIAlarm *aAlarm) override; \
  NS_IMETHOD DeleteAlarm(calIAlarm *aAlarm) override; \
  NS_IMETHOD ClearAlarms(void) override; \
  NS_IMETHOD GetAlarmLastAck(calIDateTime * *aAlarmLastAck) override; \
  NS_IMETHOD SetAlarmLastAck(calIDateTime *aAlarmLastAck) override; \
  NS_IMETHOD GetRecurrenceInfo(calIRecurrenceInfo * *aRecurrenceInfo) override; \
  NS_IMETHOD SetRecurrenceInfo(calIRecurrenceInfo *aRecurrenceInfo) override; \
  NS_IMETHOD GetRecurrenceStartDate(calIDateTime * *aRecurrenceStartDate) override; \
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) override; \
  NS_IMETHOD HasProperty(const nsAString & name, bool *_retval) override; \
  NS_IMETHOD GetProperty(const nsAString & name, nsIVariant * *_retval) override; \
  NS_IMETHOD SetProperty(const nsAString & name, nsIVariant *value) override; \
  NS_IMETHOD DeleteProperty(const nsAString & name) override; \
  NS_IMETHOD IsPropertyPromoted(const nsAString & name, bool *_retval) override; \
  NS_IMETHOD GetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, nsAString & _retval) override; \
  NS_IMETHOD HasPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, bool *_retval) override; \
  NS_IMETHOD SetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, const nsACString & aParameterValue) override; \
  NS_IMETHOD GetParameterEnumerator(const nsAString & aPropertyName, nsISimpleEnumerator * *_retval) override; \
  NS_IMETHOD GetOrganizer(calIAttendee * *aOrganizer) override; \
  NS_IMETHOD SetOrganizer(calIAttendee *aOrganizer) override; \
  NS_IMETHOD GetAttendees(uint32_t *count, calIAttendee * **attendees) override; \
  NS_IMETHOD GetAttendeeById(const nsACString & id, calIAttendee * *_retval) override; \
  NS_IMETHOD AddAttendee(calIAttendee *attendee) override; \
  NS_IMETHOD RemoveAttendee(calIAttendee *attendee) override; \
  NS_IMETHOD RemoveAllAttendees(void) override; \
  NS_IMETHOD GetAttachments(uint32_t *count, calIAttachment * **attachments) override; \
  NS_IMETHOD AddAttachment(calIAttachment *attachment) override; \
  NS_IMETHOD RemoveAttachment(calIAttachment *attachment) override; \
  NS_IMETHOD RemoveAllAttachments(void) override; \
  NS_IMETHOD GetCategories(uint32_t *aCount, char16_t * **aCategories) override; \
  NS_IMETHOD SetCategories(uint32_t aCount, const char16_t * *aCategories) override; \
  NS_IMETHOD GetRelations(uint32_t *count, calIRelation * **relations) override; \
  NS_IMETHOD AddRelation(calIRelation *relation) override; \
  NS_IMETHOD RemoveRelation(calIRelation *relation) override; \
  NS_IMETHOD RemoveAllRelations(void) override; \
  NS_IMETHOD GetOccurrencesBetween(calIDateTime *aStartDate, calIDateTime *aEndDate, uint32_t *aCount, calIItemBase * **aOccurrences) override; \
  NS_IMETHOD GetParentItem(calIItemBase * *aParentItem) override; \
  NS_IMETHOD SetParentItem(calIItemBase *aParentItem) override; \
  NS_IMETHOD GetRecurrenceId(calIDateTime * *aRecurrenceId) override; \
  NS_IMETHOD SetRecurrenceId(calIDateTime *aRecurrenceId) override; 

/* Use this macro when declaring the members of this interface when the
   class doesn't implement the interface. This is useful for forwarding. */
#define NS_DECL_NON_VIRTUAL_CALIITEMBASE \
  NS_METHOD GetIsMutable(bool *aIsMutable); \
  NS_METHOD MakeImmutable(void); \
  NS_METHOD Clone(calIItemBase * *_retval); \
  NS_METHOD GetHashId(nsACString & aHashId); \
  NS_METHOD HasSameIds(calIItemBase *aItem, bool *_retval); \
  NS_METHOD GetAclEntry(calIItemACLEntry * *aAclEntry); \
  NS_METHOD GetGeneration(uint32_t *aGeneration); \
  NS_METHOD SetGeneration(uint32_t aGeneration); \
  NS_METHOD GetCreationDate(calIDateTime * *aCreationDate); \
  NS_METHOD GetLastModifiedTime(calIDateTime * *aLastModifiedTime); \
  NS_METHOD GetStampTime(calIDateTime * *aStampTime); \
  NS_METHOD GetCalendar(calICalendar * *aCalendar); \
  NS_METHOD SetCalendar(calICalendar *aCalendar); \
  NS_METHOD GetId(nsACString & aId); \
  NS_METHOD SetId(const nsACString & aId); \
  NS_METHOD GetTitle(nsACString & aTitle); \
  NS_METHOD SetTitle(const nsACString & aTitle); \
  NS_METHOD GetPriority(int16_t *aPriority); \
  NS_METHOD SetPriority(int16_t aPriority); \
  NS_METHOD GetPrivacy(nsACString & aPrivacy); \
  NS_METHOD SetPrivacy(const nsACString & aPrivacy); \
  NS_METHOD GetStatus(nsACString & aStatus); \
  NS_METHOD SetStatus(const nsACString & aStatus); \
  NS_METHOD GetIcalString(nsACString & aIcalString); \
  NS_METHOD SetIcalString(const nsACString & aIcalString); \
  NS_METHOD GetIcalComponent(calIIcalComponent * *aIcalComponent); \
  NS_METHOD SetIcalComponent(calIIcalComponent *aIcalComponent); \
  NS_METHOD GetAlarms(uint32_t *count, calIAlarm * **aAlarms); \
  NS_METHOD AddAlarm(calIAlarm *aAlarm); \
  NS_METHOD DeleteAlarm(calIAlarm *aAlarm); \
  NS_METHOD ClearAlarms(void); \
  NS_METHOD GetAlarmLastAck(calIDateTime * *aAlarmLastAck); \
  NS_METHOD SetAlarmLastAck(calIDateTime *aAlarmLastAck); \
  NS_METHOD GetRecurrenceInfo(calIRecurrenceInfo * *aRecurrenceInfo); \
  NS_METHOD SetRecurrenceInfo(calIRecurrenceInfo *aRecurrenceInfo); \
  NS_METHOD GetRecurrenceStartDate(calIDateTime * *aRecurrenceStartDate); \
  NS_METHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator); \
  NS_METHOD HasProperty(const nsAString & name, bool *_retval); \
  NS_METHOD GetProperty(const nsAString & name, nsIVariant * *_retval); \
  NS_METHOD SetProperty(const nsAString & name, nsIVariant *value); \
  NS_METHOD DeleteProperty(const nsAString & name); \
  NS_METHOD IsPropertyPromoted(const nsAString & name, bool *_retval); \
  NS_METHOD GetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, nsAString & _retval); \
  NS_METHOD HasPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, bool *_retval); \
  NS_METHOD SetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, const nsACString & aParameterValue); \
  NS_METHOD GetParameterEnumerator(const nsAString & aPropertyName, nsISimpleEnumerator * *_retval); \
  NS_METHOD GetOrganizer(calIAttendee * *aOrganizer); \
  NS_METHOD SetOrganizer(calIAttendee *aOrganizer); \
  NS_METHOD GetAttendees(uint32_t *count, calIAttendee * **attendees); \
  NS_METHOD GetAttendeeById(const nsACString & id, calIAttendee * *_retval); \
  NS_METHOD AddAttendee(calIAttendee *attendee); \
  NS_METHOD RemoveAttendee(calIAttendee *attendee); \
  NS_METHOD RemoveAllAttendees(void); \
  NS_METHOD GetAttachments(uint32_t *count, calIAttachment * **attachments); \
  NS_METHOD AddAttachment(calIAttachment *attachment); \
  NS_METHOD RemoveAttachment(calIAttachment *attachment); \
  NS_METHOD RemoveAllAttachments(void); \
  NS_METHOD GetCategories(uint32_t *aCount, char16_t * **aCategories); \
  NS_METHOD SetCategories(uint32_t aCount, const char16_t * *aCategories); \
  NS_METHOD GetRelations(uint32_t *count, calIRelation * **relations); \
  NS_METHOD AddRelation(calIRelation *relation); \
  NS_METHOD RemoveRelation(calIRelation *relation); \
  NS_METHOD RemoveAllRelations(void); \
  NS_METHOD GetOccurrencesBetween(calIDateTime *aStartDate, calIDateTime *aEndDate, uint32_t *aCount, calIItemBase * **aOccurrences); \
  NS_METHOD GetParentItem(calIItemBase * *aParentItem); \
  NS_METHOD SetParentItem(calIItemBase *aParentItem); \
  NS_METHOD GetRecurrenceId(calIDateTime * *aRecurrenceId); \
  NS_METHOD SetRecurrenceId(calIDateTime *aRecurrenceId); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_CALIITEMBASE(_to) \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override { return _to GetIsMutable(aIsMutable); } \
  NS_IMETHOD MakeImmutable(void) override { return _to MakeImmutable(); } \
  NS_IMETHOD Clone(calIItemBase * *_retval) override { return _to Clone(_retval); } \
  NS_IMETHOD GetHashId(nsACString & aHashId) override { return _to GetHashId(aHashId); } \
  NS_IMETHOD HasSameIds(calIItemBase *aItem, bool *_retval) override { return _to HasSameIds(aItem, _retval); } \
  NS_IMETHOD GetAclEntry(calIItemACLEntry * *aAclEntry) override { return _to GetAclEntry(aAclEntry); } \
  NS_IMETHOD GetGeneration(uint32_t *aGeneration) override { return _to GetGeneration(aGeneration); } \
  NS_IMETHOD SetGeneration(uint32_t aGeneration) override { return _to SetGeneration(aGeneration); } \
  NS_IMETHOD GetCreationDate(calIDateTime * *aCreationDate) override { return _to GetCreationDate(aCreationDate); } \
  NS_IMETHOD GetLastModifiedTime(calIDateTime * *aLastModifiedTime) override { return _to GetLastModifiedTime(aLastModifiedTime); } \
  NS_IMETHOD GetStampTime(calIDateTime * *aStampTime) override { return _to GetStampTime(aStampTime); } \
  NS_IMETHOD GetCalendar(calICalendar * *aCalendar) override { return _to GetCalendar(aCalendar); } \
  NS_IMETHOD SetCalendar(calICalendar *aCalendar) override { return _to SetCalendar(aCalendar); } \
  NS_IMETHOD GetId(nsACString & aId) override { return _to GetId(aId); } \
  NS_IMETHOD SetId(const nsACString & aId) override { return _to SetId(aId); } \
  NS_IMETHOD GetTitle(nsACString & aTitle) override { return _to GetTitle(aTitle); } \
  NS_IMETHOD SetTitle(const nsACString & aTitle) override { return _to SetTitle(aTitle); } \
  NS_IMETHOD GetPriority(int16_t *aPriority) override { return _to GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(int16_t aPriority) override { return _to SetPriority(aPriority); } \
  NS_IMETHOD GetPrivacy(nsACString & aPrivacy) override { return _to GetPrivacy(aPrivacy); } \
  NS_IMETHOD SetPrivacy(const nsACString & aPrivacy) override { return _to SetPrivacy(aPrivacy); } \
  NS_IMETHOD GetStatus(nsACString & aStatus) override { return _to GetStatus(aStatus); } \
  NS_IMETHOD SetStatus(const nsACString & aStatus) override { return _to SetStatus(aStatus); } \
  NS_IMETHOD GetIcalString(nsACString & aIcalString) override { return _to GetIcalString(aIcalString); } \
  NS_IMETHOD SetIcalString(const nsACString & aIcalString) override { return _to SetIcalString(aIcalString); } \
  NS_IMETHOD GetIcalComponent(calIIcalComponent * *aIcalComponent) override { return _to GetIcalComponent(aIcalComponent); } \
  NS_IMETHOD SetIcalComponent(calIIcalComponent *aIcalComponent) override { return _to SetIcalComponent(aIcalComponent); } \
  NS_IMETHOD GetAlarms(uint32_t *count, calIAlarm * **aAlarms) override { return _to GetAlarms(count, aAlarms); } \
  NS_IMETHOD AddAlarm(calIAlarm *aAlarm) override { return _to AddAlarm(aAlarm); } \
  NS_IMETHOD DeleteAlarm(calIAlarm *aAlarm) override { return _to DeleteAlarm(aAlarm); } \
  NS_IMETHOD ClearAlarms(void) override { return _to ClearAlarms(); } \
  NS_IMETHOD GetAlarmLastAck(calIDateTime * *aAlarmLastAck) override { return _to GetAlarmLastAck(aAlarmLastAck); } \
  NS_IMETHOD SetAlarmLastAck(calIDateTime *aAlarmLastAck) override { return _to SetAlarmLastAck(aAlarmLastAck); } \
  NS_IMETHOD GetRecurrenceInfo(calIRecurrenceInfo * *aRecurrenceInfo) override { return _to GetRecurrenceInfo(aRecurrenceInfo); } \
  NS_IMETHOD SetRecurrenceInfo(calIRecurrenceInfo *aRecurrenceInfo) override { return _to SetRecurrenceInfo(aRecurrenceInfo); } \
  NS_IMETHOD GetRecurrenceStartDate(calIDateTime * *aRecurrenceStartDate) override { return _to GetRecurrenceStartDate(aRecurrenceStartDate); } \
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) override { return _to GetPropertyEnumerator(aPropertyEnumerator); } \
  NS_IMETHOD HasProperty(const nsAString & name, bool *_retval) override { return _to HasProperty(name, _retval); } \
  NS_IMETHOD GetProperty(const nsAString & name, nsIVariant * *_retval) override { return _to GetProperty(name, _retval); } \
  NS_IMETHOD SetProperty(const nsAString & name, nsIVariant *value) override { return _to SetProperty(name, value); } \
  NS_IMETHOD DeleteProperty(const nsAString & name) override { return _to DeleteProperty(name); } \
  NS_IMETHOD IsPropertyPromoted(const nsAString & name, bool *_retval) override { return _to IsPropertyPromoted(name, _retval); } \
  NS_IMETHOD GetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, nsAString & _retval) override { return _to GetPropertyParameter(aPropertyName, aParameterName, _retval); } \
  NS_IMETHOD HasPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, bool *_retval) override { return _to HasPropertyParameter(aPropertyName, aParameterName, _retval); } \
  NS_IMETHOD SetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, const nsACString & aParameterValue) override { return _to SetPropertyParameter(aPropertyName, aParameterName, aParameterValue); } \
  NS_IMETHOD GetParameterEnumerator(const nsAString & aPropertyName, nsISimpleEnumerator * *_retval) override { return _to GetParameterEnumerator(aPropertyName, _retval); } \
  NS_IMETHOD GetOrganizer(calIAttendee * *aOrganizer) override { return _to GetOrganizer(aOrganizer); } \
  NS_IMETHOD SetOrganizer(calIAttendee *aOrganizer) override { return _to SetOrganizer(aOrganizer); } \
  NS_IMETHOD GetAttendees(uint32_t *count, calIAttendee * **attendees) override { return _to GetAttendees(count, attendees); } \
  NS_IMETHOD GetAttendeeById(const nsACString & id, calIAttendee * *_retval) override { return _to GetAttendeeById(id, _retval); } \
  NS_IMETHOD AddAttendee(calIAttendee *attendee) override { return _to AddAttendee(attendee); } \
  NS_IMETHOD RemoveAttendee(calIAttendee *attendee) override { return _to RemoveAttendee(attendee); } \
  NS_IMETHOD RemoveAllAttendees(void) override { return _to RemoveAllAttendees(); } \
  NS_IMETHOD GetAttachments(uint32_t *count, calIAttachment * **attachments) override { return _to GetAttachments(count, attachments); } \
  NS_IMETHOD AddAttachment(calIAttachment *attachment) override { return _to AddAttachment(attachment); } \
  NS_IMETHOD RemoveAttachment(calIAttachment *attachment) override { return _to RemoveAttachment(attachment); } \
  NS_IMETHOD RemoveAllAttachments(void) override { return _to RemoveAllAttachments(); } \
  NS_IMETHOD GetCategories(uint32_t *aCount, char16_t * **aCategories) override { return _to GetCategories(aCount, aCategories); } \
  NS_IMETHOD SetCategories(uint32_t aCount, const char16_t * *aCategories) override { return _to SetCategories(aCount, aCategories); } \
  NS_IMETHOD GetRelations(uint32_t *count, calIRelation * **relations) override { return _to GetRelations(count, relations); } \
  NS_IMETHOD AddRelation(calIRelation *relation) override { return _to AddRelation(relation); } \
  NS_IMETHOD RemoveRelation(calIRelation *relation) override { return _to RemoveRelation(relation); } \
  NS_IMETHOD RemoveAllRelations(void) override { return _to RemoveAllRelations(); } \
  NS_IMETHOD GetOccurrencesBetween(calIDateTime *aStartDate, calIDateTime *aEndDate, uint32_t *aCount, calIItemBase * **aOccurrences) override { return _to GetOccurrencesBetween(aStartDate, aEndDate, aCount, aOccurrences); } \
  NS_IMETHOD GetParentItem(calIItemBase * *aParentItem) override { return _to GetParentItem(aParentItem); } \
  NS_IMETHOD SetParentItem(calIItemBase *aParentItem) override { return _to SetParentItem(aParentItem); } \
  NS_IMETHOD GetRecurrenceId(calIDateTime * *aRecurrenceId) override { return _to GetRecurrenceId(aRecurrenceId); } \
  NS_IMETHOD SetRecurrenceId(calIDateTime *aRecurrenceId) override { return _to SetRecurrenceId(aRecurrenceId); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_CALIITEMBASE(_to) \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsMutable(aIsMutable); } \
  NS_IMETHOD MakeImmutable(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->MakeImmutable(); } \
  NS_IMETHOD Clone(calIItemBase * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(_retval); } \
  NS_IMETHOD GetHashId(nsACString & aHashId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHashId(aHashId); } \
  NS_IMETHOD HasSameIds(calIItemBase *aItem, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HasSameIds(aItem, _retval); } \
  NS_IMETHOD GetAclEntry(calIItemACLEntry * *aAclEntry) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAclEntry(aAclEntry); } \
  NS_IMETHOD GetGeneration(uint32_t *aGeneration) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetGeneration(aGeneration); } \
  NS_IMETHOD SetGeneration(uint32_t aGeneration) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetGeneration(aGeneration); } \
  NS_IMETHOD GetCreationDate(calIDateTime * *aCreationDate) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCreationDate(aCreationDate); } \
  NS_IMETHOD GetLastModifiedTime(calIDateTime * *aLastModifiedTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetLastModifiedTime(aLastModifiedTime); } \
  NS_IMETHOD GetStampTime(calIDateTime * *aStampTime) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStampTime(aStampTime); } \
  NS_IMETHOD GetCalendar(calICalendar * *aCalendar) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCalendar(aCalendar); } \
  NS_IMETHOD SetCalendar(calICalendar *aCalendar) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCalendar(aCalendar); } \
  NS_IMETHOD GetId(nsACString & aId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetId(aId); } \
  NS_IMETHOD SetId(const nsACString & aId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetId(aId); } \
  NS_IMETHOD GetTitle(nsACString & aTitle) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetTitle(aTitle); } \
  NS_IMETHOD SetTitle(const nsACString & aTitle) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetTitle(aTitle); } \
  NS_IMETHOD GetPriority(int16_t *aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPriority(aPriority); } \
  NS_IMETHOD SetPriority(int16_t aPriority) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPriority(aPriority); } \
  NS_IMETHOD GetPrivacy(nsACString & aPrivacy) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPrivacy(aPrivacy); } \
  NS_IMETHOD SetPrivacy(const nsACString & aPrivacy) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPrivacy(aPrivacy); } \
  NS_IMETHOD GetStatus(nsACString & aStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetStatus(aStatus); } \
  NS_IMETHOD SetStatus(const nsACString & aStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetStatus(aStatus); } \
  NS_IMETHOD GetIcalString(nsACString & aIcalString) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIcalString(aIcalString); } \
  NS_IMETHOD SetIcalString(const nsACString & aIcalString) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIcalString(aIcalString); } \
  NS_IMETHOD GetIcalComponent(calIIcalComponent * *aIcalComponent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIcalComponent(aIcalComponent); } \
  NS_IMETHOD SetIcalComponent(calIIcalComponent *aIcalComponent) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIcalComponent(aIcalComponent); } \
  NS_IMETHOD GetAlarms(uint32_t *count, calIAlarm * **aAlarms) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAlarms(count, aAlarms); } \
  NS_IMETHOD AddAlarm(calIAlarm *aAlarm) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddAlarm(aAlarm); } \
  NS_IMETHOD DeleteAlarm(calIAlarm *aAlarm) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteAlarm(aAlarm); } \
  NS_IMETHOD ClearAlarms(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ClearAlarms(); } \
  NS_IMETHOD GetAlarmLastAck(calIDateTime * *aAlarmLastAck) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAlarmLastAck(aAlarmLastAck); } \
  NS_IMETHOD SetAlarmLastAck(calIDateTime *aAlarmLastAck) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetAlarmLastAck(aAlarmLastAck); } \
  NS_IMETHOD GetRecurrenceInfo(calIRecurrenceInfo * *aRecurrenceInfo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecurrenceInfo(aRecurrenceInfo); } \
  NS_IMETHOD SetRecurrenceInfo(calIRecurrenceInfo *aRecurrenceInfo) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecurrenceInfo(aRecurrenceInfo); } \
  NS_IMETHOD GetRecurrenceStartDate(calIDateTime * *aRecurrenceStartDate) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecurrenceStartDate(aRecurrenceStartDate); } \
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPropertyEnumerator(aPropertyEnumerator); } \
  NS_IMETHOD HasProperty(const nsAString & name, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HasProperty(name, _retval); } \
  NS_IMETHOD GetProperty(const nsAString & name, nsIVariant * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperty(name, _retval); } \
  NS_IMETHOD SetProperty(const nsAString & name, nsIVariant *value) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetProperty(name, value); } \
  NS_IMETHOD DeleteProperty(const nsAString & name) override { return !_to ? NS_ERROR_NULL_POINTER : _to->DeleteProperty(name); } \
  NS_IMETHOD IsPropertyPromoted(const nsAString & name, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->IsPropertyPromoted(name, _retval); } \
  NS_IMETHOD GetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, nsAString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPropertyParameter(aPropertyName, aParameterName, _retval); } \
  NS_IMETHOD HasPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, bool *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->HasPropertyParameter(aPropertyName, aParameterName, _retval); } \
  NS_IMETHOD SetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, const nsACString & aParameterValue) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetPropertyParameter(aPropertyName, aParameterName, aParameterValue); } \
  NS_IMETHOD GetParameterEnumerator(const nsAString & aPropertyName, nsISimpleEnumerator * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParameterEnumerator(aPropertyName, _retval); } \
  NS_IMETHOD GetOrganizer(calIAttendee * *aOrganizer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOrganizer(aOrganizer); } \
  NS_IMETHOD SetOrganizer(calIAttendee *aOrganizer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetOrganizer(aOrganizer); } \
  NS_IMETHOD GetAttendees(uint32_t *count, calIAttendee * **attendees) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttendees(count, attendees); } \
  NS_IMETHOD GetAttendeeById(const nsACString & id, calIAttendee * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttendeeById(id, _retval); } \
  NS_IMETHOD AddAttendee(calIAttendee *attendee) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddAttendee(attendee); } \
  NS_IMETHOD RemoveAttendee(calIAttendee *attendee) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAttendee(attendee); } \
  NS_IMETHOD RemoveAllAttendees(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAllAttendees(); } \
  NS_IMETHOD GetAttachments(uint32_t *count, calIAttachment * **attachments) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAttachments(count, attachments); } \
  NS_IMETHOD AddAttachment(calIAttachment *attachment) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddAttachment(attachment); } \
  NS_IMETHOD RemoveAttachment(calIAttachment *attachment) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAttachment(attachment); } \
  NS_IMETHOD RemoveAllAttachments(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAllAttachments(); } \
  NS_IMETHOD GetCategories(uint32_t *aCount, char16_t * **aCategories) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCategories(aCount, aCategories); } \
  NS_IMETHOD SetCategories(uint32_t aCount, const char16_t * *aCategories) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCategories(aCount, aCategories); } \
  NS_IMETHOD GetRelations(uint32_t *count, calIRelation * **relations) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRelations(count, relations); } \
  NS_IMETHOD AddRelation(calIRelation *relation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->AddRelation(relation); } \
  NS_IMETHOD RemoveRelation(calIRelation *relation) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveRelation(relation); } \
  NS_IMETHOD RemoveAllRelations(void) override { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveAllRelations(); } \
  NS_IMETHOD GetOccurrencesBetween(calIDateTime *aStartDate, calIDateTime *aEndDate, uint32_t *aCount, calIItemBase * **aOccurrences) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetOccurrencesBetween(aStartDate, aEndDate, aCount, aOccurrences); } \
  NS_IMETHOD GetParentItem(calIItemBase * *aParentItem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParentItem(aParentItem); } \
  NS_IMETHOD SetParentItem(calIItemBase *aParentItem) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetParentItem(aParentItem); } \
  NS_IMETHOD GetRecurrenceId(calIDateTime * *aRecurrenceId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRecurrenceId(aRecurrenceId); } \
  NS_IMETHOD SetRecurrenceId(calIDateTime *aRecurrenceId) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRecurrenceId(aRecurrenceId); } 

#if 0
/* Use the code below as a template for the implementation class for this interface. */

/* Header file */
class _MYCLASS_ : public calIItemBase
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_CALIITEMBASE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS(_MYCLASS_, calIItemBase)

_MYCLASS_::_MYCLASS_()
{
  /* member initializers and constructor code */
}

_MYCLASS_::~_MYCLASS_()
{
  /* destructor code */
}

/* readonly attribute boolean isMutable; */
NS_IMETHODIMP _MYCLASS_::GetIsMutable(bool *aIsMutable)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void makeImmutable (); */
NS_IMETHODIMP _MYCLASS_::MakeImmutable()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIItemBase clone (); */
NS_IMETHODIMP _MYCLASS_::Clone(calIItemBase * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AUTF8String hashId; */
NS_IMETHODIMP _MYCLASS_::GetHashId(nsACString & aHashId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean hasSameIds (in calIItemBase aItem); */
NS_IMETHODIMP _MYCLASS_::HasSameIds(calIItemBase *aItem, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute calIItemACLEntry aclEntry; */
NS_IMETHODIMP _MYCLASS_::GetAclEntry(calIItemACLEntry * *aAclEntry)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute uint32_t generation; */
NS_IMETHODIMP _MYCLASS_::GetGeneration(uint32_t *aGeneration)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetGeneration(uint32_t aGeneration)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute calIDateTime creationDate; */
NS_IMETHODIMP _MYCLASS_::GetCreationDate(calIDateTime * *aCreationDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute calIDateTime lastModifiedTime; */
NS_IMETHODIMP _MYCLASS_::GetLastModifiedTime(calIDateTime * *aLastModifiedTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute calIDateTime stampTime; */
NS_IMETHODIMP _MYCLASS_::GetStampTime(calIDateTime * *aStampTime)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calICalendar calendar; */
NS_IMETHODIMP _MYCLASS_::GetCalendar(calICalendar * *aCalendar)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetCalendar(calICalendar *aCalendar)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String id; */
NS_IMETHODIMP _MYCLASS_::GetId(nsACString & aId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetId(const nsACString & aId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String title; */
NS_IMETHODIMP _MYCLASS_::GetTitle(nsACString & aTitle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetTitle(const nsACString & aTitle)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute short priority; */
NS_IMETHODIMP _MYCLASS_::GetPriority(int16_t *aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetPriority(int16_t aPriority)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String privacy; */
NS_IMETHODIMP _MYCLASS_::GetPrivacy(nsACString & aPrivacy)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetPrivacy(const nsACString & aPrivacy)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String status; */
NS_IMETHODIMP _MYCLASS_::GetStatus(nsACString & aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetStatus(const nsACString & aStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String icalString; */
NS_IMETHODIMP _MYCLASS_::GetIcalString(nsACString & aIcalString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetIcalString(const nsACString & aIcalString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIIcalComponent icalComponent; */
NS_IMETHODIMP _MYCLASS_::GetIcalComponent(calIIcalComponent * *aIcalComponent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetIcalComponent(calIIcalComponent *aIcalComponent)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getAlarms (out uint32_t count, [array, size_is (count), retval] out calIAlarm aAlarms); */
NS_IMETHODIMP _MYCLASS_::GetAlarms(uint32_t *count, calIAlarm * **aAlarms)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addAlarm (in calIAlarm aAlarm); */
NS_IMETHODIMP _MYCLASS_::AddAlarm(calIAlarm *aAlarm)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteAlarm (in calIAlarm aAlarm); */
NS_IMETHODIMP _MYCLASS_::DeleteAlarm(calIAlarm *aAlarm)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void clearAlarms (); */
NS_IMETHODIMP _MYCLASS_::ClearAlarms()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIDateTime alarmLastAck; */
NS_IMETHODIMP _MYCLASS_::GetAlarmLastAck(calIDateTime * *aAlarmLastAck)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetAlarmLastAck(calIDateTime *aAlarmLastAck)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIRecurrenceInfo recurrenceInfo; */
NS_IMETHODIMP _MYCLASS_::GetRecurrenceInfo(calIRecurrenceInfo * *aRecurrenceInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetRecurrenceInfo(calIRecurrenceInfo *aRecurrenceInfo)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute calIDateTime recurrenceStartDate; */
NS_IMETHODIMP _MYCLASS_::GetRecurrenceStartDate(calIDateTime * *aRecurrenceStartDate)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute nsISimpleEnumerator propertyEnumerator; */
NS_IMETHODIMP _MYCLASS_::GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean hasProperty (in AString name); */
NS_IMETHODIMP _MYCLASS_::HasProperty(const nsAString & name, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsIVariant getProperty (in AString name); */
NS_IMETHODIMP _MYCLASS_::GetProperty(const nsAString & name, nsIVariant * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setProperty (in AString name, in nsIVariant value); */
NS_IMETHODIMP _MYCLASS_::SetProperty(const nsAString & name, nsIVariant *value)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void deleteProperty (in AString name); */
NS_IMETHODIMP _MYCLASS_::DeleteProperty(const nsAString & name)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean isPropertyPromoted (in AString name); */
NS_IMETHODIMP _MYCLASS_::IsPropertyPromoted(const nsAString & name, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* AString getPropertyParameter (in AString aPropertyName, in AString aParameterName); */
NS_IMETHODIMP _MYCLASS_::GetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, nsAString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* boolean hasPropertyParameter (in AString aPropertyName, in AString aParameterName); */
NS_IMETHODIMP _MYCLASS_::HasPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, bool *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setPropertyParameter (in AString aPropertyName, in AString aParameterName, in AUTF8String aParameterValue); */
NS_IMETHODIMP _MYCLASS_::SetPropertyParameter(const nsAString & aPropertyName, const nsAString & aParameterName, const nsACString & aParameterValue)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* nsISimpleEnumerator getParameterEnumerator (in AString aPropertyName); */
NS_IMETHODIMP _MYCLASS_::GetParameterEnumerator(const nsAString & aPropertyName, nsISimpleEnumerator * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIAttendee organizer; */
NS_IMETHODIMP _MYCLASS_::GetOrganizer(calIAttendee * *aOrganizer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetOrganizer(calIAttendee *aOrganizer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getAttendees (out uint32_t count, [array, size_is (count), retval] out calIAttendee attendees); */
NS_IMETHODIMP _MYCLASS_::GetAttendees(uint32_t *count, calIAttendee * **attendees)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* calIAttendee getAttendeeById (in AUTF8String id); */
NS_IMETHODIMP _MYCLASS_::GetAttendeeById(const nsACString & id, calIAttendee * *_retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addAttendee (in calIAttendee attendee); */
NS_IMETHODIMP _MYCLASS_::AddAttendee(calIAttendee *attendee)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAttendee (in calIAttendee attendee); */
NS_IMETHODIMP _MYCLASS_::RemoveAttendee(calIAttendee *attendee)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAllAttendees (); */
NS_IMETHODIMP _MYCLASS_::RemoveAllAttendees()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getAttachments (out uint32_t count, [array, size_is (count), retval] out calIAttachment attachments); */
NS_IMETHODIMP _MYCLASS_::GetAttachments(uint32_t *count, calIAttachment * **attachments)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addAttachment (in calIAttachment attachment); */
NS_IMETHODIMP _MYCLASS_::AddAttachment(calIAttachment *attachment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAttachment (in calIAttachment attachment); */
NS_IMETHODIMP _MYCLASS_::RemoveAttachment(calIAttachment *attachment)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAllAttachments (); */
NS_IMETHODIMP _MYCLASS_::RemoveAllAttachments()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getCategories (out uint32_t aCount, [array, size_is (aCount), retval] out wstring aCategories); */
NS_IMETHODIMP _MYCLASS_::GetCategories(uint32_t *aCount, char16_t * **aCategories)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void setCategories (in uint32_t aCount, [array, size_is (aCount)] in wstring aCategories); */
NS_IMETHODIMP _MYCLASS_::SetCategories(uint32_t aCount, const char16_t * *aCategories)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getRelations (out uint32_t count, [array, size_is (count), retval] out calIRelation relations); */
NS_IMETHODIMP _MYCLASS_::GetRelations(uint32_t *count, calIRelation * **relations)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void addRelation (in calIRelation relation); */
NS_IMETHODIMP _MYCLASS_::AddRelation(calIRelation *relation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeRelation (in calIRelation relation); */
NS_IMETHODIMP _MYCLASS_::RemoveRelation(calIRelation *relation)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void removeAllRelations (); */
NS_IMETHODIMP _MYCLASS_::RemoveAllRelations()
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* void getOccurrencesBetween (in calIDateTime aStartDate, in calIDateTime aEndDate, out uint32_t aCount, [array, size_is (aCount), retval] out calIItemBase aOccurrences); */
NS_IMETHODIMP _MYCLASS_::GetOccurrencesBetween(calIDateTime *aStartDate, calIDateTime *aEndDate, uint32_t *aCount, calIItemBase * **aOccurrences)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIItemBase parentItem; */
NS_IMETHODIMP _MYCLASS_::GetParentItem(calIItemBase * *aParentItem)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetParentItem(calIItemBase *aParentItem)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute calIDateTime recurrenceId; */
NS_IMETHODIMP _MYCLASS_::GetRecurrenceId(calIDateTime * *aRecurrenceId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetRecurrenceId(calIDateTime *aRecurrenceId)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* End of implementation class template. */
#endif


#endif /* __gen_calIItemBase_h__ */
