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

#ifndef __gen_flockIError_h__
#define __gen_flockIError_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

/* starting interface:    flockIError */
#define FLOCKIERROR_IID_STR "2db3fc08-e5f8-11da-8acf-c9ded1573834"

#define FLOCKIERROR_IID \
  {0x2db3fc08, 0xe5f8, 0x11da, \
    { 0x8a, 0xcf, 0xc9, 0xde, 0xd1, 0x57, 0x38, 0x34 }}

class NS_NO_VTABLE flockIError : public nsISupports {
 public: 

  NS_DEFINE_STATIC_IID_ACCESSOR(FLOCKIERROR_IID)

  /* attribute long errorCode; */
  NS_IMETHOD GetErrorCode(PRInt32 *aErrorCode) = 0;
  NS_IMETHOD SetErrorCode(PRInt32 aErrorCode) = 0;

  /* readonly attribute AString errorString; */
  NS_IMETHOD GetErrorString(nsAString & aErrorString) = 0;

  /* attribute AString serviceErrorCode; */
  NS_IMETHOD GetServiceErrorCode(nsAString & aServiceErrorCode) = 0;
  NS_IMETHOD SetServiceErrorCode(const nsAString & aServiceErrorCode) = 0;

  /* attribute AString serviceErrorString; */
  NS_IMETHOD GetServiceErrorString(nsAString & aServiceErrorString) = 0;
  NS_IMETHOD SetServiceErrorString(const nsAString & aServiceErrorString) = 0;

  /**
     * Optional:
     * Used to insert the service name (ex: Facebook) into the error message.
     */
  /* attribute AString serviceName; */
  NS_IMETHOD GetServiceName(nsAString & aServiceName) = 0;
  NS_IMETHOD SetServiceName(const nsAString & aServiceName) = 0;

  enum { XML_HTTP_REQUEST_ERROR = 9001 };

  enum { INVALID_RESPONSE_XML = 9002 };

  enum { HTTP_BAD_REQUEST = 400 };

  enum { HTTP_UNAUTHORIZED = 401 };

  enum { HTTP_NOTFOUND = 404 };

  enum { HTTP_INTERNAL_SERVER_ERROR = 500 };

  enum { HTTP_SERVER_UNAVAILABLE = 503 };

  enum { HTTP_GATEWAY_TIMEOUT = 504 };

  enum { PHOTOSERVICE_UNAVAILABLE = 1001 };

  enum { PHOTOSERVICE_LOGIN_FAILED = 1002 };

  enum { PHOTOSERVICE_INSUFFICIENT_PERMISSIONS = 1003 };

  enum { PHOTOSERVICE_INVALID_USER = 1004 };

  enum { PHOTOSERVICE_INVALID_SEARCH_QUERY = 1005 };

  enum { PHOTOSERVICE_INVALID_SEARCH_TERMS = 1006 };

  enum { PHOTOSERVICE_INVALID_UPLOAD_FILE = 1007 };

  enum { PHOTOSERVICE_UPLOAD_ERROR = 1008 };

  enum { PHOTOSERVICE_INVALID_ALBUM = 1009 };

  enum { PHOTOSERVICE_PRIVATE_ALBUM = 1010 };

  enum { PHOTOSERVICE_INVALID_RESPONSE = 1011 };

  enum { PHOTOSERVICE_USER_NOT_LOGGED_IN = 1012 };

  enum { PHOTOSERVICE_PHOTOS_IN_ALBUM_LIMIT_REACHED = 1013 };

  enum { PHOTOSERVICE_ALBUM_IS_OVER_SIZE_LIMIT = 1014 };

  enum { PHOTOSERVICE_NO_FILE_UPLOADED = 1015 };

  enum { PHOTOSERVICE_DUPLICATE_FILENAME = 1016 };

  enum { PHOTOSERVICE_BANDWIDTH_REACHED = 1017 };

  enum { PHOTOSERVICE_UNSUPPORTED_IMAGE_FORMAT = 1018 };

  enum { PHOTOSERVICE_INVALID_ALBUMNAME = 1019 };

  enum { PHOTOSERVICE_DUPLICATE_ALBUMNAME = 1020 };

  enum { PHOTOSERVICE_SESSION_KEY_EXPIRED = 1021 };

  enum { PHOTOSERVICE_FILE_IS_OVER_SIZE_LIMIT = 1023 };

  enum { PHOTOSERVICE_FILE_EMPTY = 1024 };

  enum { PHOTOSERVICE_INVALID_API_KEY = 1025 };

  enum { PHOTOSERVICE_INVALID_QUERY = 1026 };

  enum { PHOTOSERVICE_EMPTY_ALBUMNAME = 1027 };

  enum { PHOTOSERVICE_REQUEST_LIMIT_REACHED = 1028 };

  enum { PHOTOSERVICE_UNKNOWN_ERROR = 1999 };

  enum { BLOG_UNAVAILABLE = 2001 };

  enum { BLOG_INVALID_AUTH = 2002 };

  enum { BLOG_INVALID_HTML = 2003 };

  enum { BLOG_CAPTCHA_REQUIRED = 2004 };

  enum { BLOG_NOT_VERIFIED = 2005 };

  enum { BLOG_LOGIN_REQUIRED = 2010 };

  enum { BLOG_UNKNOWN_ERROR = 2999 };

  enum { FAVS_UNAVAILABLE = 3001 };

  enum { FAVS_INVALID_AUTH = 3002 };

  enum { FAVS_UNKNOWN_ERROR = 3999 };

  enum { OPML_INVALID_XML = 5001 };

  enum { OPML_NO_DATA = 5002 };

  enum { OPML_TOO_DEEP = 5003 };

  enum { OPML_NO_FEEDS = 5004 };

  enum { OPML_BAD_FEED_URL = 5005 };

};

/* Use this macro when declaring classes that implement this interface. */
#define NS_DECL_FLOCKIERROR \
  NS_IMETHOD GetErrorCode(PRInt32 *aErrorCode); \
  NS_IMETHOD SetErrorCode(PRInt32 aErrorCode); \
  NS_IMETHOD GetErrorString(nsAString & aErrorString); \
  NS_IMETHOD GetServiceErrorCode(nsAString & aServiceErrorCode); \
  NS_IMETHOD SetServiceErrorCode(const nsAString & aServiceErrorCode); \
  NS_IMETHOD GetServiceErrorString(nsAString & aServiceErrorString); \
  NS_IMETHOD SetServiceErrorString(const nsAString & aServiceErrorString); \
  NS_IMETHOD GetServiceName(nsAString & aServiceName); \
  NS_IMETHOD SetServiceName(const nsAString & aServiceName); \

/* Use this macro to declare functions that forward the behavior of this interface to another object. */
#define NS_FORWARD_FLOCKIERROR(_to) \
  NS_IMETHOD GetErrorCode(PRInt32 *aErrorCode) { return _to GetErrorCode(aErrorCode); } \
  NS_IMETHOD SetErrorCode(PRInt32 aErrorCode) { return _to SetErrorCode(aErrorCode); } \
  NS_IMETHOD GetErrorString(nsAString & aErrorString) { return _to GetErrorString(aErrorString); } \
  NS_IMETHOD GetServiceErrorCode(nsAString & aServiceErrorCode) { return _to GetServiceErrorCode(aServiceErrorCode); } \
  NS_IMETHOD SetServiceErrorCode(const nsAString & aServiceErrorCode) { return _to SetServiceErrorCode(aServiceErrorCode); } \
  NS_IMETHOD GetServiceErrorString(nsAString & aServiceErrorString) { return _to GetServiceErrorString(aServiceErrorString); } \
  NS_IMETHOD SetServiceErrorString(const nsAString & aServiceErrorString) { return _to SetServiceErrorString(aServiceErrorString); } \
  NS_IMETHOD GetServiceName(nsAString & aServiceName) { return _to GetServiceName(aServiceName); } \
  NS_IMETHOD SetServiceName(const nsAString & aServiceName) { return _to SetServiceName(aServiceName); } \

/* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
#define NS_FORWARD_SAFE_FLOCKIERROR(_to) \
  NS_IMETHOD GetErrorCode(PRInt32 *aErrorCode) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetErrorCode(aErrorCode); } \
  NS_IMETHOD SetErrorCode(PRInt32 aErrorCode) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetErrorCode(aErrorCode); } \
  NS_IMETHOD GetErrorString(nsAString & aErrorString) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetErrorString(aErrorString); } \
  NS_IMETHOD GetServiceErrorCode(nsAString & aServiceErrorCode) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServiceErrorCode(aServiceErrorCode); } \
  NS_IMETHOD SetServiceErrorCode(const nsAString & aServiceErrorCode) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServiceErrorCode(aServiceErrorCode); } \
  NS_IMETHOD GetServiceErrorString(nsAString & aServiceErrorString) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServiceErrorString(aServiceErrorString); } \
  NS_IMETHOD SetServiceErrorString(const nsAString & aServiceErrorString) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServiceErrorString(aServiceErrorString); } \
  NS_IMETHOD GetServiceName(nsAString & aServiceName) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetServiceName(aServiceName); } \
  NS_IMETHOD SetServiceName(const nsAString & aServiceName) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetServiceName(aServiceName); } \

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

/* Header file */
class _MYCLASS_ : public flockIError
{
public:
  NS_DECL_ISUPPORTS
  NS_DECL_FLOCKIERROR

  _MYCLASS_();

private:
  ~_MYCLASS_();

protected:
  /* additional members */
};

/* Implementation file */
NS_IMPL_ISUPPORTS1(_MYCLASS_, flockIError)

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

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

/* attribute long errorCode; */
NS_IMETHODIMP _MYCLASS_::GetErrorCode(PRInt32 *aErrorCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetErrorCode(PRInt32 aErrorCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* readonly attribute AString errorString; */
NS_IMETHODIMP _MYCLASS_::GetErrorString(nsAString & aErrorString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString serviceErrorCode; */
NS_IMETHODIMP _MYCLASS_::GetServiceErrorCode(nsAString & aServiceErrorCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetServiceErrorCode(const nsAString & aServiceErrorCode)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString serviceErrorString; */
NS_IMETHODIMP _MYCLASS_::GetServiceErrorString(nsAString & aServiceErrorString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetServiceErrorString(const nsAString & aServiceErrorString)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

/* attribute AString serviceName; */
NS_IMETHODIMP _MYCLASS_::GetServiceName(nsAString & aServiceName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}
NS_IMETHODIMP _MYCLASS_::SetServiceName(const nsAString & aServiceName)
{
    return NS_ERROR_NOT_IMPLEMENTED;
}

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


#endif /* __gen_flockIError_h__ */
