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

#ifndef __gen_calIAttendee_h__
#define __gen_calIAttendee_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 calIIcalProperty; /* forward declaration */

class nsISimpleEnumerator; /* forward declaration */


/* starting interface:    calIAttendee */
#define CALIATTENDEE_IID_STR "73a074ad-8812-4055-af75-14b509b8c5fe"

#define CALIATTENDEE_IID \
  {0x73a074ad, 0x8812, 0x4055, \
    { 0xaf, 0x75, 0x14, 0xb5, 0x09, 0xb8, 0xc5, 0xfe }}

class NS_NO_VTABLE calIAttendee : public nsISupports {
 public:

  NS_DECLARE_STATIC_IID_ACCESSOR(CALIATTENDEE_IID)

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

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

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

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

  /* attribute AUTF8String commonName; */
  NS_IMETHOD GetCommonName(nsACString & aCommonName) = 0;
  NS_IMETHOD SetCommonName(const nsACString & aCommonName) = 0;

  /* attribute AUTF8String rsvp; */
  NS_IMETHOD GetRsvp(nsACString & aRsvp) = 0;
  NS_IMETHOD SetRsvp(const nsACString & aRsvp) = 0;

  /* attribute boolean isOrganizer; */
  NS_IMETHOD GetIsOrganizer(bool *aIsOrganizer) = 0;
  NS_IMETHOD SetIsOrganizer(bool aIsOrganizer) = 0;

  /* attribute AUTF8String role; */
  NS_IMETHOD GetRole(nsACString & aRole) = 0;
  NS_IMETHOD SetRole(const nsACString & aRole) = 0;

  /* attribute AUTF8String participationStatus; */
  NS_IMETHOD GetParticipationStatus(nsACString & aParticipationStatus) = 0;
  NS_IMETHOD SetParticipationStatus(const nsACString & aParticipationStatus) = 0;

  /* attribute AUTF8String userType; */
  NS_IMETHOD GetUserType(nsACString & aUserType) = 0;
  NS_IMETHOD SetUserType(const nsACString & aUserType) = 0;

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

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

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

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

  /* attribute calIIcalProperty icalProperty; */
  NS_IMETHOD GetIcalProperty(calIIcalProperty * *aIcalProperty) = 0;
  NS_IMETHOD SetIcalProperty(calIIcalProperty *aIcalProperty) = 0;

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

  /* AUTF8String toString (); */
  NS_IMETHOD ToString(nsACString & _retval) = 0;

};

  NS_DEFINE_STATIC_IID_ACCESSOR(calIAttendee, CALIATTENDEE_IID)

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_CALIATTENDEE \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override; \
  NS_IMETHOD MakeImmutable(void) override; \
  NS_IMETHOD Clone(calIAttendee * *_retval) override; \
  NS_IMETHOD GetId(nsACString & aId) override; \
  NS_IMETHOD SetId(const nsACString & aId) override; \
  NS_IMETHOD GetCommonName(nsACString & aCommonName) override; \
  NS_IMETHOD SetCommonName(const nsACString & aCommonName) override; \
  NS_IMETHOD GetRsvp(nsACString & aRsvp) override; \
  NS_IMETHOD SetRsvp(const nsACString & aRsvp) override; \
  NS_IMETHOD GetIsOrganizer(bool *aIsOrganizer) override; \
  NS_IMETHOD SetIsOrganizer(bool aIsOrganizer) override; \
  NS_IMETHOD GetRole(nsACString & aRole) override; \
  NS_IMETHOD SetRole(const nsACString & aRole) override; \
  NS_IMETHOD GetParticipationStatus(nsACString & aParticipationStatus) override; \
  NS_IMETHOD SetParticipationStatus(const nsACString & aParticipationStatus) override; \
  NS_IMETHOD GetUserType(nsACString & aUserType) override; \
  NS_IMETHOD SetUserType(const nsACString & aUserType) override; \
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) override; \
  NS_IMETHOD GetProperty(const nsAString & name, nsACString & _retval) override; \
  NS_IMETHOD SetProperty(const nsAString & name, const nsACString & value) override; \
  NS_IMETHOD DeleteProperty(const nsAString & name) override; \
  NS_IMETHOD GetIcalProperty(calIIcalProperty * *aIcalProperty) override; \
  NS_IMETHOD SetIcalProperty(calIIcalProperty *aIcalProperty) override; \
  NS_IMETHOD GetIcalString(nsACString & aIcalString) override; \
  NS_IMETHOD SetIcalString(const nsACString & aIcalString) override; \
  NS_IMETHOD ToString(nsACString & _retval) 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_CALIATTENDEE \
  NS_METHOD GetIsMutable(bool *aIsMutable); \
  NS_METHOD MakeImmutable(void); \
  NS_METHOD Clone(calIAttendee * *_retval); \
  NS_METHOD GetId(nsACString & aId); \
  NS_METHOD SetId(const nsACString & aId); \
  NS_METHOD GetCommonName(nsACString & aCommonName); \
  NS_METHOD SetCommonName(const nsACString & aCommonName); \
  NS_METHOD GetRsvp(nsACString & aRsvp); \
  NS_METHOD SetRsvp(const nsACString & aRsvp); \
  NS_METHOD GetIsOrganizer(bool *aIsOrganizer); \
  NS_METHOD SetIsOrganizer(bool aIsOrganizer); \
  NS_METHOD GetRole(nsACString & aRole); \
  NS_METHOD SetRole(const nsACString & aRole); \
  NS_METHOD GetParticipationStatus(nsACString & aParticipationStatus); \
  NS_METHOD SetParticipationStatus(const nsACString & aParticipationStatus); \
  NS_METHOD GetUserType(nsACString & aUserType); \
  NS_METHOD SetUserType(const nsACString & aUserType); \
  NS_METHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator); \
  NS_METHOD GetProperty(const nsAString & name, nsACString & _retval); \
  NS_METHOD SetProperty(const nsAString & name, const nsACString & value); \
  NS_METHOD DeleteProperty(const nsAString & name); \
  NS_METHOD GetIcalProperty(calIIcalProperty * *aIcalProperty); \
  NS_METHOD SetIcalProperty(calIIcalProperty *aIcalProperty); \
  NS_METHOD GetIcalString(nsACString & aIcalString); \
  NS_METHOD SetIcalString(const nsACString & aIcalString); \
  NS_METHOD ToString(nsACString & _retval); 

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_CALIATTENDEE(_to) \
  NS_IMETHOD GetIsMutable(bool *aIsMutable) override { return _to GetIsMutable(aIsMutable); } \
  NS_IMETHOD MakeImmutable(void) override { return _to MakeImmutable(); } \
  NS_IMETHOD Clone(calIAttendee * *_retval) override { return _to Clone(_retval); } \
  NS_IMETHOD GetId(nsACString & aId) override { return _to GetId(aId); } \
  NS_IMETHOD SetId(const nsACString & aId) override { return _to SetId(aId); } \
  NS_IMETHOD GetCommonName(nsACString & aCommonName) override { return _to GetCommonName(aCommonName); } \
  NS_IMETHOD SetCommonName(const nsACString & aCommonName) override { return _to SetCommonName(aCommonName); } \
  NS_IMETHOD GetRsvp(nsACString & aRsvp) override { return _to GetRsvp(aRsvp); } \
  NS_IMETHOD SetRsvp(const nsACString & aRsvp) override { return _to SetRsvp(aRsvp); } \
  NS_IMETHOD GetIsOrganizer(bool *aIsOrganizer) override { return _to GetIsOrganizer(aIsOrganizer); } \
  NS_IMETHOD SetIsOrganizer(bool aIsOrganizer) override { return _to SetIsOrganizer(aIsOrganizer); } \
  NS_IMETHOD GetRole(nsACString & aRole) override { return _to GetRole(aRole); } \
  NS_IMETHOD SetRole(const nsACString & aRole) override { return _to SetRole(aRole); } \
  NS_IMETHOD GetParticipationStatus(nsACString & aParticipationStatus) override { return _to GetParticipationStatus(aParticipationStatus); } \
  NS_IMETHOD SetParticipationStatus(const nsACString & aParticipationStatus) override { return _to SetParticipationStatus(aParticipationStatus); } \
  NS_IMETHOD GetUserType(nsACString & aUserType) override { return _to GetUserType(aUserType); } \
  NS_IMETHOD SetUserType(const nsACString & aUserType) override { return _to SetUserType(aUserType); } \
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) override { return _to GetPropertyEnumerator(aPropertyEnumerator); } \
  NS_IMETHOD GetProperty(const nsAString & name, nsACString & _retval) override { return _to GetProperty(name, _retval); } \
  NS_IMETHOD SetProperty(const nsAString & name, const nsACString & value) override { return _to SetProperty(name, value); } \
  NS_IMETHOD DeleteProperty(const nsAString & name) override { return _to DeleteProperty(name); } \
  NS_IMETHOD GetIcalProperty(calIIcalProperty * *aIcalProperty) override { return _to GetIcalProperty(aIcalProperty); } \
  NS_IMETHOD SetIcalProperty(calIIcalProperty *aIcalProperty) override { return _to SetIcalProperty(aIcalProperty); } \
  NS_IMETHOD GetIcalString(nsACString & aIcalString) override { return _to GetIcalString(aIcalString); } \
  NS_IMETHOD SetIcalString(const nsACString & aIcalString) override { return _to SetIcalString(aIcalString); } \
  NS_IMETHOD ToString(nsACString & _retval) override { return _to ToString(_retval); } 

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_CALIATTENDEE(_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(calIAttendee * *_retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->Clone(_retval); } \
  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 GetCommonName(nsACString & aCommonName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCommonName(aCommonName); } \
  NS_IMETHOD SetCommonName(const nsACString & aCommonName) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCommonName(aCommonName); } \
  NS_IMETHOD GetRsvp(nsACString & aRsvp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRsvp(aRsvp); } \
  NS_IMETHOD SetRsvp(const nsACString & aRsvp) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRsvp(aRsvp); } \
  NS_IMETHOD GetIsOrganizer(bool *aIsOrganizer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIsOrganizer(aIsOrganizer); } \
  NS_IMETHOD SetIsOrganizer(bool aIsOrganizer) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIsOrganizer(aIsOrganizer); } \
  NS_IMETHOD GetRole(nsACString & aRole) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRole(aRole); } \
  NS_IMETHOD SetRole(const nsACString & aRole) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetRole(aRole); } \
  NS_IMETHOD GetParticipationStatus(nsACString & aParticipationStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParticipationStatus(aParticipationStatus); } \
  NS_IMETHOD SetParticipationStatus(const nsACString & aParticipationStatus) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetParticipationStatus(aParticipationStatus); } \
  NS_IMETHOD GetUserType(nsACString & aUserType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUserType(aUserType); } \
  NS_IMETHOD SetUserType(const nsACString & aUserType) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetUserType(aUserType); } \
  NS_IMETHOD GetPropertyEnumerator(nsISimpleEnumerator * *aPropertyEnumerator) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetPropertyEnumerator(aPropertyEnumerator); } \
  NS_IMETHOD GetProperty(const nsAString & name, nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetProperty(name, _retval); } \
  NS_IMETHOD SetProperty(const nsAString & name, const nsACString & 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 GetIcalProperty(calIIcalProperty * *aIcalProperty) override { return !_to ? NS_ERROR_NULL_POINTER : _to->GetIcalProperty(aIcalProperty); } \
  NS_IMETHOD SetIcalProperty(calIIcalProperty *aIcalProperty) override { return !_to ? NS_ERROR_NULL_POINTER : _to->SetIcalProperty(aIcalProperty); } \
  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 ToString(nsACString & _retval) override { return !_to ? NS_ERROR_NULL_POINTER : _to->ToString(_retval); } 

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

/* Header file */
class _MYCLASS_ : public calIAttendee
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_CALIATTENDEE

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

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

_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;
}

/* calIAttendee clone (); */
NS_IMETHODIMP _MYCLASS_::Clone(calIAttendee * *_retval)
{
    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 commonName; */
NS_IMETHODIMP _MYCLASS_::GetCommonName(nsACString & aCommonName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetCommonName(const nsACString & aCommonName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String rsvp; */
NS_IMETHODIMP _MYCLASS_::GetRsvp(nsACString & aRsvp)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetRsvp(const nsACString & aRsvp)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute boolean isOrganizer; */
NS_IMETHODIMP _MYCLASS_::GetIsOrganizer(bool *aIsOrganizer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetIsOrganizer(bool aIsOrganizer)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String role; */
NS_IMETHODIMP _MYCLASS_::GetRole(nsACString & aRole)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetRole(const nsACString & aRole)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String participationStatus; */
NS_IMETHODIMP _MYCLASS_::GetParticipationStatus(nsACString & aParticipationStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetParticipationStatus(const nsACString & aParticipationStatus)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AUTF8String userType; */
NS_IMETHODIMP _MYCLASS_::GetUserType(nsACString & aUserType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetUserType(const nsACString & aUserType)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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

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

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

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

/* attribute calIIcalProperty icalProperty; */
NS_IMETHODIMP _MYCLASS_::GetIcalProperty(calIIcalProperty * *aIcalProperty)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetIcalProperty(calIIcalProperty *aIcalProperty)
{
    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;
}

/* AUTF8String toString (); */
NS_IMETHODIMP _MYCLASS_::ToString(nsACString & _retval)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_calIAttendee_h__ */
