/**
 * Autogenerated by Thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 */

#import <Foundation/Foundation.h>

#import "TProtocol.h"
#import "TApplicationException.h"
#import "TProtocolUtil.h"
#import "TProcessor.h"

#import "Types.h"
#import "Errors.h"

#import "UserStore.h"

static int16_t EDAMEDAM_VERSION_MAJOR = 1;
static int16_t EDAMEDAM_VERSION_MINOR = 16;

@implementation EDAMUserStoreConstants
+ (void) initialize {
}
+ (int16_t) EDAM_VERSION_MAJOR{
  return EDAMEDAM_VERSION_MAJOR;
}
+ (int16_t) EDAM_VERSION_MINOR{
  return EDAMEDAM_VERSION_MINOR;
}
@end

@implementation EDAMPublicUserInfo

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic userId;
@dynamic shardId;
@dynamic privilege;
@dynamic username;
#endif

- (id) initWithUserId: (EDAMUserID) userId shardId: (NSString *) shardId privilege: (int) privilege username: (NSString *) username
{
  self = [super init];
  __userId = userId;
  __userId_isset = YES;
  __shardId = [shardId retain];
  __shardId_isset = YES;
  __privilege = privilege;
  __privilege_isset = YES;
  __username = [username retain];
  __username_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"userId"])
  {
    __userId = [decoder decodeInt32ForKey: @"userId"];
    __userId_isset = YES;
  }
  if ([decoder containsValueForKey: @"shardId"])
  {
    __shardId = [[decoder decodeObjectForKey: @"shardId"] retain];
    __shardId_isset = YES;
  }
  if ([decoder containsValueForKey: @"privilege"])
  {
    __privilege = [decoder decodeIntForKey: @"privilege"];
    __privilege_isset = YES;
  }
  if ([decoder containsValueForKey: @"username"])
  {
    __username = [[decoder decodeObjectForKey: @"username"] retain];
    __username_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__userId_isset)
  {
    [encoder encodeInt32: __userId forKey: @"userId"];
  }
  if (__shardId_isset)
  {
    [encoder encodeObject: __shardId forKey: @"shardId"];
  }
  if (__privilege_isset)
  {
    [encoder encodeInt: __privilege forKey: @"privilege"];
  }
  if (__username_isset)
  {
    [encoder encodeObject: __username forKey: @"username"];
  }
}

- (void) dealloc
{
  [__shardId release];
  [__username release];
  [super dealloc];
}

- (int32_t) userId {
  return __userId;
}

- (void) setUserId: (int32_t) userId {
  __userId = userId;
  __userId_isset = YES;
}

- (BOOL) userIdIsSet {
  return __userId_isset;
}

- (void) unsetUserId {
  __userId_isset = NO;
}

- (NSString *) shardId {
  return [[__shardId retain] autorelease];
}

- (void) setShardId: (NSString *) shardId {
  [shardId retain];
  [__shardId release];
  __shardId = shardId;
  __shardId_isset = YES;
}

- (BOOL) shardIdIsSet {
  return __shardId_isset;
}

- (void) unsetShardId {
  [__shardId release];
  __shardId = nil;
  __shardId_isset = NO;
}

- (int) privilege {
  return __privilege;
}

- (void) setPrivilege: (int) privilege {
  __privilege = privilege;
  __privilege_isset = YES;
}

- (BOOL) privilegeIsSet {
  return __privilege_isset;
}

- (void) unsetPrivilege {
  __privilege_isset = NO;
}

- (NSString *) username {
  return [[__username retain] autorelease];
}

- (void) setUsername: (NSString *) username {
  [username retain];
  [__username release];
  __username = username;
  __username_isset = YES;
}

- (BOOL) usernameIsSet {
  return __username_isset;
}

- (void) unsetUsername {
  [__username release];
  __username = nil;
  __username_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_I32) {
          int32_t fieldValue = [inProtocol readI32];
          [self setUserId: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setShardId: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 3:
        if (fieldType == TType_I32) {
          int fieldValue = [inProtocol readI32];
          [self setPrivilege: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 4:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setUsername: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"PublicUserInfo"];
  if (__userId_isset) {
    [outProtocol writeFieldBeginWithName: @"userId" type: TType_I32 fieldID: 1];
    [outProtocol writeI32: __userId];
    [outProtocol writeFieldEnd];
  }
  if (__shardId_isset) {
    if (__shardId != nil) {
      [outProtocol writeFieldBeginWithName: @"shardId" type: TType_STRING fieldID: 2];
      [outProtocol writeString: __shardId];
      [outProtocol writeFieldEnd];
    }
  }
  if (__privilege_isset) {
    [outProtocol writeFieldBeginWithName: @"privilege" type: TType_I32 fieldID: 3];
    [outProtocol writeI32: __privilege];
    [outProtocol writeFieldEnd];
  }
  if (__username_isset) {
    if (__username != nil) {
      [outProtocol writeFieldBeginWithName: @"username" type: TType_STRING fieldID: 4];
      [outProtocol writeString: __username];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"PublicUserInfo("];
  [ms appendString: @"userId:"];
  [ms appendFormat: @"%i", __userId];
  [ms appendString: @",shardId:"];
  [ms appendFormat: @"\"%@\"", __shardId];
  [ms appendString: @",privilege:"];
  [ms appendFormat: @"%i", __privilege];
  [ms appendString: @",username:"];
  [ms appendFormat: @"\"%@\"", __username];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@implementation EDAMAuthenticationResult

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic currentTime;
@dynamic authenticationToken;
@dynamic expiration;
@dynamic user;
@dynamic publicUserInfo;
#endif

- (id) initWithCurrentTime: (EDAMTimestamp) currentTime authenticationToken: (NSString *) authenticationToken expiration: (EDAMTimestamp) expiration user: (EDAMUser *) user publicUserInfo: (EDAMPublicUserInfo *) publicUserInfo
{
  self = [super init];
  __currentTime = currentTime;
  __currentTime_isset = YES;
  __authenticationToken = [authenticationToken retain];
  __authenticationToken_isset = YES;
  __expiration = expiration;
  __expiration_isset = YES;
  __user = [user retain];
  __user_isset = YES;
  __publicUserInfo = [publicUserInfo retain];
  __publicUserInfo_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"currentTime"])
  {
    __currentTime = [decoder decodeInt64ForKey: @"currentTime"];
    __currentTime_isset = YES;
  }
  if ([decoder containsValueForKey: @"authenticationToken"])
  {
    __authenticationToken = [[decoder decodeObjectForKey: @"authenticationToken"] retain];
    __authenticationToken_isset = YES;
  }
  if ([decoder containsValueForKey: @"expiration"])
  {
    __expiration = [decoder decodeInt64ForKey: @"expiration"];
    __expiration_isset = YES;
  }
  if ([decoder containsValueForKey: @"user"])
  {
    __user = [[decoder decodeObjectForKey: @"user"] retain];
    __user_isset = YES;
  }
  if ([decoder containsValueForKey: @"publicUserInfo"])
  {
    __publicUserInfo = [[decoder decodeObjectForKey: @"publicUserInfo"] retain];
    __publicUserInfo_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__currentTime_isset)
  {
    [encoder encodeInt64: __currentTime forKey: @"currentTime"];
  }
  if (__authenticationToken_isset)
  {
    [encoder encodeObject: __authenticationToken forKey: @"authenticationToken"];
  }
  if (__expiration_isset)
  {
    [encoder encodeInt64: __expiration forKey: @"expiration"];
  }
  if (__user_isset)
  {
    [encoder encodeObject: __user forKey: @"user"];
  }
  if (__publicUserInfo_isset)
  {
    [encoder encodeObject: __publicUserInfo forKey: @"publicUserInfo"];
  }
}

- (void) dealloc
{
  [__authenticationToken release];
  [__user release];
  [__publicUserInfo release];
  [super dealloc];
}

- (int64_t) currentTime {
  return __currentTime;
}

- (void) setCurrentTime: (int64_t) currentTime {
  __currentTime = currentTime;
  __currentTime_isset = YES;
}

- (BOOL) currentTimeIsSet {
  return __currentTime_isset;
}

- (void) unsetCurrentTime {
  __currentTime_isset = NO;
}

- (NSString *) authenticationToken {
  return [[__authenticationToken retain] autorelease];
}

- (void) setAuthenticationToken: (NSString *) authenticationToken {
  [authenticationToken retain];
  [__authenticationToken release];
  __authenticationToken = authenticationToken;
  __authenticationToken_isset = YES;
}

- (BOOL) authenticationTokenIsSet {
  return __authenticationToken_isset;
}

- (void) unsetAuthenticationToken {
  [__authenticationToken release];
  __authenticationToken = nil;
  __authenticationToken_isset = NO;
}

- (int64_t) expiration {
  return __expiration;
}

- (void) setExpiration: (int64_t) expiration {
  __expiration = expiration;
  __expiration_isset = YES;
}

- (BOOL) expirationIsSet {
  return __expiration_isset;
}

- (void) unsetExpiration {
  __expiration_isset = NO;
}

- (EDAMUser *) user {
  return [[__user retain] autorelease];
}

- (void) setUser: (EDAMUser *) user {
  [user retain];
  [__user release];
  __user = user;
  __user_isset = YES;
}

- (BOOL) userIsSet {
  return __user_isset;
}

- (void) unsetUser {
  [__user release];
  __user = nil;
  __user_isset = NO;
}

- (EDAMPublicUserInfo *) publicUserInfo {
  return [[__publicUserInfo retain] autorelease];
}

- (void) setPublicUserInfo: (EDAMPublicUserInfo *) publicUserInfo {
  [publicUserInfo retain];
  [__publicUserInfo release];
  __publicUserInfo = publicUserInfo;
  __publicUserInfo_isset = YES;
}

- (BOOL) publicUserInfoIsSet {
  return __publicUserInfo_isset;
}

- (void) unsetPublicUserInfo {
  [__publicUserInfo release];
  __publicUserInfo = nil;
  __publicUserInfo_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_I64) {
          int64_t fieldValue = [inProtocol readI64];
          [self setCurrentTime: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setAuthenticationToken: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 3:
        if (fieldType == TType_I64) {
          int64_t fieldValue = [inProtocol readI64];
          [self setExpiration: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 4:
        if (fieldType == TType_STRUCT) {
          EDAMUser *fieldValue = [[EDAMUser alloc] init];
          [fieldValue read: inProtocol];
          [self setUser: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 5:
        if (fieldType == TType_STRUCT) {
          EDAMPublicUserInfo *fieldValue = [[EDAMPublicUserInfo alloc] init];
          [fieldValue read: inProtocol];
          [self setPublicUserInfo: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"AuthenticationResult"];
  if (__currentTime_isset) {
    [outProtocol writeFieldBeginWithName: @"currentTime" type: TType_I64 fieldID: 1];
    [outProtocol writeI64: __currentTime];
    [outProtocol writeFieldEnd];
  }
  if (__authenticationToken_isset) {
    if (__authenticationToken != nil) {
      [outProtocol writeFieldBeginWithName: @"authenticationToken" type: TType_STRING fieldID: 2];
      [outProtocol writeString: __authenticationToken];
      [outProtocol writeFieldEnd];
    }
  }
  if (__expiration_isset) {
    [outProtocol writeFieldBeginWithName: @"expiration" type: TType_I64 fieldID: 3];
    [outProtocol writeI64: __expiration];
    [outProtocol writeFieldEnd];
  }
  if (__user_isset) {
    if (__user != nil) {
      [outProtocol writeFieldBeginWithName: @"user" type: TType_STRUCT fieldID: 4];
      [__user write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  }
  if (__publicUserInfo_isset) {
    if (__publicUserInfo != nil) {
      [outProtocol writeFieldBeginWithName: @"publicUserInfo" type: TType_STRUCT fieldID: 5];
      [__publicUserInfo write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"AuthenticationResult("];
  [ms appendString: @"currentTime:"];
  [ms appendFormat: @"%qi", __currentTime];
  [ms appendString: @",authenticationToken:"];
  [ms appendFormat: @"\"%@\"", __authenticationToken];
  [ms appendString: @",expiration:"];
  [ms appendFormat: @"%qi", __expiration];
  [ms appendString: @",user:"];
  [ms appendFormat: @"%@", __user];
  [ms appendString: @",publicUserInfo:"];
  [ms appendFormat: @"%@", __publicUserInfo];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMcheckVersion_args : NSObject <NSCoding> {
  NSString * __clientName;
  int16_t __edamVersionMajor;
  int16_t __edamVersionMinor;

  BOOL __clientName_isset;
  BOOL __edamVersionMajor_isset;
  BOOL __edamVersionMinor_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=clientName, setter=setClientName:) NSString * clientName;
@property (nonatomic, getter=edamVersionMajor, setter=setEdamVersionMajor:) int16_t edamVersionMajor;
@property (nonatomic, getter=edamVersionMinor, setter=setEdamVersionMinor:) int16_t edamVersionMinor;
#endif

- (id) initWithClientName: (NSString *) clientName edamVersionMajor: (int16_t) edamVersionMajor edamVersionMinor: (int16_t) edamVersionMinor;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (NSString *) clientName;
- (void) setClientName: (NSString *) clientName;
- (BOOL) clientNameIsSet;

- (int16_t) edamVersionMajor;
- (void) setEdamVersionMajor: (int16_t) edamVersionMajor;
- (BOOL) edamVersionMajorIsSet;

- (int16_t) edamVersionMinor;
- (void) setEdamVersionMinor: (int16_t) edamVersionMinor;
- (BOOL) edamVersionMinorIsSet;

@end

@implementation EDAMcheckVersion_args

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic clientName;
@dynamic edamVersionMajor;
@dynamic edamVersionMinor;
#endif

- (id) initWithClientName: (NSString *) clientName edamVersionMajor: (int16_t) edamVersionMajor edamVersionMinor: (int16_t) edamVersionMinor
{
  self = [super init];
  __clientName = [clientName retain];
  __clientName_isset = YES;
  __edamVersionMajor = edamVersionMajor;
  __edamVersionMajor_isset = YES;
  __edamVersionMinor = edamVersionMinor;
  __edamVersionMinor_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"clientName"])
  {
    __clientName = [[decoder decodeObjectForKey: @"clientName"] retain];
    __clientName_isset = YES;
  }
  if ([decoder containsValueForKey: @"edamVersionMajor"])
  {
    __edamVersionMajor = [decoder decodeIntForKey: @"edamVersionMajor"];
    __edamVersionMajor_isset = YES;
  }
  if ([decoder containsValueForKey: @"edamVersionMinor"])
  {
    __edamVersionMinor = [decoder decodeIntForKey: @"edamVersionMinor"];
    __edamVersionMinor_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__clientName_isset)
  {
    [encoder encodeObject: __clientName forKey: @"clientName"];
  }
  if (__edamVersionMajor_isset)
  {
    [encoder encodeInt: __edamVersionMajor forKey: @"edamVersionMajor"];
  }
  if (__edamVersionMinor_isset)
  {
    [encoder encodeInt: __edamVersionMinor forKey: @"edamVersionMinor"];
  }
}

- (void) dealloc
{
  [__clientName release];
  [super dealloc];
}

- (NSString *) clientName {
  return [[__clientName retain] autorelease];
}

- (void) setClientName: (NSString *) clientName {
  [clientName retain];
  [__clientName release];
  __clientName = clientName;
  __clientName_isset = YES;
}

- (BOOL) clientNameIsSet {
  return __clientName_isset;
}

- (void) unsetClientName {
  [__clientName release];
  __clientName = nil;
  __clientName_isset = NO;
}

- (int16_t) edamVersionMajor {
  return __edamVersionMajor;
}

- (void) setEdamVersionMajor: (int16_t) edamVersionMajor {
  __edamVersionMajor = edamVersionMajor;
  __edamVersionMajor_isset = YES;
}

- (BOOL) edamVersionMajorIsSet {
  return __edamVersionMajor_isset;
}

- (void) unsetEdamVersionMajor {
  __edamVersionMajor_isset = NO;
}

- (int16_t) edamVersionMinor {
  return __edamVersionMinor;
}

- (void) setEdamVersionMinor: (int16_t) edamVersionMinor {
  __edamVersionMinor = edamVersionMinor;
  __edamVersionMinor_isset = YES;
}

- (BOOL) edamVersionMinorIsSet {
  return __edamVersionMinor_isset;
}

- (void) unsetEdamVersionMinor {
  __edamVersionMinor_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setClientName: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_I16) {
          int16_t fieldValue = [inProtocol readI16];
          [self setEdamVersionMajor: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 3:
        if (fieldType == TType_I16) {
          int16_t fieldValue = [inProtocol readI16];
          [self setEdamVersionMinor: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"checkVersion_args"];
  if (__clientName_isset) {
    if (__clientName != nil) {
      [outProtocol writeFieldBeginWithName: @"clientName" type: TType_STRING fieldID: 1];
      [outProtocol writeString: __clientName];
      [outProtocol writeFieldEnd];
    }
  }
  if (__edamVersionMajor_isset) {
    [outProtocol writeFieldBeginWithName: @"edamVersionMajor" type: TType_I16 fieldID: 2];
    [outProtocol writeI16: __edamVersionMajor];
    [outProtocol writeFieldEnd];
  }
  if (__edamVersionMinor_isset) {
    [outProtocol writeFieldBeginWithName: @"edamVersionMinor" type: TType_I16 fieldID: 3];
    [outProtocol writeI16: __edamVersionMinor];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"checkVersion_args("];
  [ms appendString: @"clientName:"];
  [ms appendFormat: @"\"%@\"", __clientName];
  [ms appendString: @",edamVersionMajor:"];
  [ms appendFormat: @"%hi", __edamVersionMajor];
  [ms appendString: @",edamVersionMinor:"];
  [ms appendFormat: @"%hi", __edamVersionMinor];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMCheckVersion_result : NSObject <NSCoding> {
  BOOL __success;

  BOOL __success_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, getter=success, setter=setSuccess:) BOOL success;
#endif

- (id) initWithSuccess: (BOOL) success;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (BOOL) success;
- (void) setSuccess: (BOOL) success;
- (BOOL) successIsSet;

@end

@implementation EDAMCheckVersion_result

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic success;
#endif

- (id) initWithSuccess: (BOOL) success
{
  self = [super init];
  __success = success;
  __success_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"success"])
  {
    __success = [decoder decodeBoolForKey: @"success"];
    __success_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__success_isset)
  {
    [encoder encodeBool: __success forKey: @"success"];
  }
}

- (void) dealloc
{
  [super dealloc];
}

- (BOOL) success {
  return __success;
}

- (void) setSuccess: (BOOL) success {
  __success = success;
  __success_isset = YES;
}

- (BOOL) successIsSet {
  return __success_isset;
}

- (void) unsetSuccess {
  __success_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 0:
        if (fieldType == TType_BOOL) {
          BOOL fieldValue = [inProtocol readBool];
          [self setSuccess: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"CheckVersion_result"];

  if (__success_isset) {
    [outProtocol writeFieldBeginWithName: @"success" type: TType_BOOL fieldID: 0];
    [outProtocol writeBool: __success];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"CheckVersion_result("];
  [ms appendString: @"success:"];
  [ms appendFormat: @"%i", __success];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMauthenticate_args : NSObject <NSCoding> {
  NSString * __username;
  NSString * __password;
  NSString * __consumerKey;
  NSString * __consumerSecret;

  BOOL __username_isset;
  BOOL __password_isset;
  BOOL __consumerKey_isset;
  BOOL __consumerSecret_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=username, setter=setUsername:) NSString * username;
@property (nonatomic, retain, getter=password, setter=setPassword:) NSString * password;
@property (nonatomic, retain, getter=consumerKey, setter=setConsumerKey:) NSString * consumerKey;
@property (nonatomic, retain, getter=consumerSecret, setter=setConsumerSecret:) NSString * consumerSecret;
#endif

- (id) initWithUsername: (NSString *) username password: (NSString *) password consumerKey: (NSString *) consumerKey consumerSecret: (NSString *) consumerSecret;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (NSString *) username;
- (void) setUsername: (NSString *) username;
- (BOOL) usernameIsSet;

- (NSString *) password;
- (void) setPassword: (NSString *) password;
- (BOOL) passwordIsSet;

- (NSString *) consumerKey;
- (void) setConsumerKey: (NSString *) consumerKey;
- (BOOL) consumerKeyIsSet;

- (NSString *) consumerSecret;
- (void) setConsumerSecret: (NSString *) consumerSecret;
- (BOOL) consumerSecretIsSet;

@end

@implementation EDAMauthenticate_args

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic username;
@dynamic password;
@dynamic consumerKey;
@dynamic consumerSecret;
#endif

- (id) initWithUsername: (NSString *) username password: (NSString *) password consumerKey: (NSString *) consumerKey consumerSecret: (NSString *) consumerSecret
{
  self = [super init];
  __username = [username retain];
  __username_isset = YES;
  __password = [password retain];
  __password_isset = YES;
  __consumerKey = [consumerKey retain];
  __consumerKey_isset = YES;
  __consumerSecret = [consumerSecret retain];
  __consumerSecret_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"username"])
  {
    __username = [[decoder decodeObjectForKey: @"username"] retain];
    __username_isset = YES;
  }
  if ([decoder containsValueForKey: @"password"])
  {
    __password = [[decoder decodeObjectForKey: @"password"] retain];
    __password_isset = YES;
  }
  if ([decoder containsValueForKey: @"consumerKey"])
  {
    __consumerKey = [[decoder decodeObjectForKey: @"consumerKey"] retain];
    __consumerKey_isset = YES;
  }
  if ([decoder containsValueForKey: @"consumerSecret"])
  {
    __consumerSecret = [[decoder decodeObjectForKey: @"consumerSecret"] retain];
    __consumerSecret_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__username_isset)
  {
    [encoder encodeObject: __username forKey: @"username"];
  }
  if (__password_isset)
  {
    [encoder encodeObject: __password forKey: @"password"];
  }
  if (__consumerKey_isset)
  {
    [encoder encodeObject: __consumerKey forKey: @"consumerKey"];
  }
  if (__consumerSecret_isset)
  {
    [encoder encodeObject: __consumerSecret forKey: @"consumerSecret"];
  }
}

- (void) dealloc
{
  [__username release];
  [__password release];
  [__consumerKey release];
  [__consumerSecret release];
  [super dealloc];
}

- (NSString *) username {
  return [[__username retain] autorelease];
}

- (void) setUsername: (NSString *) username {
  [username retain];
  [__username release];
  __username = username;
  __username_isset = YES;
}

- (BOOL) usernameIsSet {
  return __username_isset;
}

- (void) unsetUsername {
  [__username release];
  __username = nil;
  __username_isset = NO;
}

- (NSString *) password {
  return [[__password retain] autorelease];
}

- (void) setPassword: (NSString *) password {
  [password retain];
  [__password release];
  __password = password;
  __password_isset = YES;
}

- (BOOL) passwordIsSet {
  return __password_isset;
}

- (void) unsetPassword {
  [__password release];
  __password = nil;
  __password_isset = NO;
}

- (NSString *) consumerKey {
  return [[__consumerKey retain] autorelease];
}

- (void) setConsumerKey: (NSString *) consumerKey {
  [consumerKey retain];
  [__consumerKey release];
  __consumerKey = consumerKey;
  __consumerKey_isset = YES;
}

- (BOOL) consumerKeyIsSet {
  return __consumerKey_isset;
}

- (void) unsetConsumerKey {
  [__consumerKey release];
  __consumerKey = nil;
  __consumerKey_isset = NO;
}

- (NSString *) consumerSecret {
  return [[__consumerSecret retain] autorelease];
}

- (void) setConsumerSecret: (NSString *) consumerSecret {
  [consumerSecret retain];
  [__consumerSecret release];
  __consumerSecret = consumerSecret;
  __consumerSecret_isset = YES;
}

- (BOOL) consumerSecretIsSet {
  return __consumerSecret_isset;
}

- (void) unsetConsumerSecret {
  [__consumerSecret release];
  __consumerSecret = nil;
  __consumerSecret_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setUsername: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setPassword: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 3:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setConsumerKey: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 4:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setConsumerSecret: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"authenticate_args"];
  if (__username_isset) {
    if (__username != nil) {
      [outProtocol writeFieldBeginWithName: @"username" type: TType_STRING fieldID: 1];
      [outProtocol writeString: __username];
      [outProtocol writeFieldEnd];
    }
  }
  if (__password_isset) {
    if (__password != nil) {
      [outProtocol writeFieldBeginWithName: @"password" type: TType_STRING fieldID: 2];
      [outProtocol writeString: __password];
      [outProtocol writeFieldEnd];
    }
  }
  if (__consumerKey_isset) {
    if (__consumerKey != nil) {
      [outProtocol writeFieldBeginWithName: @"consumerKey" type: TType_STRING fieldID: 3];
      [outProtocol writeString: __consumerKey];
      [outProtocol writeFieldEnd];
    }
  }
  if (__consumerSecret_isset) {
    if (__consumerSecret != nil) {
      [outProtocol writeFieldBeginWithName: @"consumerSecret" type: TType_STRING fieldID: 4];
      [outProtocol writeString: __consumerSecret];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"authenticate_args("];
  [ms appendString: @"username:"];
  [ms appendFormat: @"\"%@\"", __username];
  [ms appendString: @",password:"];
  [ms appendFormat: @"\"%@\"", __password];
  [ms appendString: @",consumerKey:"];
  [ms appendFormat: @"\"%@\"", __consumerKey];
  [ms appendString: @",consumerSecret:"];
  [ms appendFormat: @"\"%@\"", __consumerSecret];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMAuthenticate_result : NSObject <NSCoding> {
  EDAMAuthenticationResult * __success;
  EDAMUserException * __userException;
  EDAMSystemException * __systemException;

  BOOL __success_isset;
  BOOL __userException_isset;
  BOOL __systemException_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=success, setter=setSuccess:) EDAMAuthenticationResult * success;
@property (nonatomic, retain, getter=userException, setter=setUserException:) EDAMUserException * userException;
@property (nonatomic, retain, getter=systemException, setter=setSystemException:) EDAMSystemException * systemException;
#endif

- (id) initWithSuccess: (EDAMAuthenticationResult *) success userException: (EDAMUserException *) userException systemException: (EDAMSystemException *) systemException;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (EDAMAuthenticationResult *) success;
- (void) setSuccess: (EDAMAuthenticationResult *) success;
- (BOOL) successIsSet;

- (EDAMUserException *) userException;
- (void) setUserException: (EDAMUserException *) userException;
- (BOOL) userExceptionIsSet;

- (EDAMSystemException *) systemException;
- (void) setSystemException: (EDAMSystemException *) systemException;
- (BOOL) systemExceptionIsSet;

@end

@implementation EDAMAuthenticate_result

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic success;
@dynamic userException;
@dynamic systemException;
#endif

- (id) initWithSuccess: (EDAMAuthenticationResult *) success userException: (EDAMUserException *) userException systemException: (EDAMSystemException *) systemException
{
  self = [super init];
  __success = [success retain];
  __success_isset = YES;
  __userException = [userException retain];
  __userException_isset = YES;
  __systemException = [systemException retain];
  __systemException_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"success"])
  {
    __success = [[decoder decodeObjectForKey: @"success"] retain];
    __success_isset = YES;
  }
  if ([decoder containsValueForKey: @"userException"])
  {
    __userException = [[decoder decodeObjectForKey: @"userException"] retain];
    __userException_isset = YES;
  }
  if ([decoder containsValueForKey: @"systemException"])
  {
    __systemException = [[decoder decodeObjectForKey: @"systemException"] retain];
    __systemException_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__success_isset)
  {
    [encoder encodeObject: __success forKey: @"success"];
  }
  if (__userException_isset)
  {
    [encoder encodeObject: __userException forKey: @"userException"];
  }
  if (__systemException_isset)
  {
    [encoder encodeObject: __systemException forKey: @"systemException"];
  }
}

- (void) dealloc
{
  [__success release];
  [__userException release];
  [__systemException release];
  [super dealloc];
}

- (EDAMAuthenticationResult *) success {
  return [[__success retain] autorelease];
}

- (void) setSuccess: (EDAMAuthenticationResult *) success {
  [success retain];
  [__success release];
  __success = success;
  __success_isset = YES;
}

- (BOOL) successIsSet {
  return __success_isset;
}

- (void) unsetSuccess {
  [__success release];
  __success = nil;
  __success_isset = NO;
}

- (EDAMUserException *) userException {
  return [[__userException retain] autorelease];
}

- (void) setUserException: (EDAMUserException *) userException {
  [userException retain];
  [__userException release];
  __userException = userException;
  __userException_isset = YES;
}

- (BOOL) userExceptionIsSet {
  return __userException_isset;
}

- (void) unsetUserException {
  [__userException release];
  __userException = nil;
  __userException_isset = NO;
}

- (EDAMSystemException *) systemException {
  return [[__systemException retain] autorelease];
}

- (void) setSystemException: (EDAMSystemException *) systemException {
  [systemException retain];
  [__systemException release];
  __systemException = systemException;
  __systemException_isset = YES;
}

- (BOOL) systemExceptionIsSet {
  return __systemException_isset;
}

- (void) unsetSystemException {
  [__systemException release];
  __systemException = nil;
  __systemException_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 0:
        if (fieldType == TType_STRUCT) {
          EDAMAuthenticationResult *fieldValue = [[EDAMAuthenticationResult alloc] init];
          [fieldValue read: inProtocol];
          [self setSuccess: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 1:
        if (fieldType == TType_STRUCT) {
          EDAMUserException *fieldValue = [[EDAMUserException alloc] init];
          [fieldValue read: inProtocol];
          [self setUserException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRUCT) {
          EDAMSystemException *fieldValue = [[EDAMSystemException alloc] init];
          [fieldValue read: inProtocol];
          [self setSystemException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"Authenticate_result"];

  if (__success_isset) {
    if (__success != nil) {
      [outProtocol writeFieldBeginWithName: @"success" type: TType_STRUCT fieldID: 0];
      [__success write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__userException_isset) {
    if (__userException != nil) {
      [outProtocol writeFieldBeginWithName: @"userException" type: TType_STRUCT fieldID: 1];
      [__userException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__systemException_isset) {
    if (__systemException != nil) {
      [outProtocol writeFieldBeginWithName: @"systemException" type: TType_STRUCT fieldID: 2];
      [__systemException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"Authenticate_result("];
  [ms appendString: @"success:"];
  [ms appendFormat: @"%@", __success];
  [ms appendString: @",userException:"];
  [ms appendFormat: @"%@", __userException];
  [ms appendString: @",systemException:"];
  [ms appendFormat: @"%@", __systemException];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMrefreshAuthentication_args : NSObject <NSCoding> {
  NSString * __authenticationToken;

  BOOL __authenticationToken_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=authenticationToken, setter=setAuthenticationToken:) NSString * authenticationToken;
#endif

- (id) initWithAuthenticationToken: (NSString *) authenticationToken;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (NSString *) authenticationToken;
- (void) setAuthenticationToken: (NSString *) authenticationToken;
- (BOOL) authenticationTokenIsSet;

@end

@implementation EDAMrefreshAuthentication_args

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic authenticationToken;
#endif

- (id) initWithAuthenticationToken: (NSString *) authenticationToken
{
  self = [super init];
  __authenticationToken = [authenticationToken retain];
  __authenticationToken_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"authenticationToken"])
  {
    __authenticationToken = [[decoder decodeObjectForKey: @"authenticationToken"] retain];
    __authenticationToken_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__authenticationToken_isset)
  {
    [encoder encodeObject: __authenticationToken forKey: @"authenticationToken"];
  }
}

- (void) dealloc
{
  [__authenticationToken release];
  [super dealloc];
}

- (NSString *) authenticationToken {
  return [[__authenticationToken retain] autorelease];
}

- (void) setAuthenticationToken: (NSString *) authenticationToken {
  [authenticationToken retain];
  [__authenticationToken release];
  __authenticationToken = authenticationToken;
  __authenticationToken_isset = YES;
}

- (BOOL) authenticationTokenIsSet {
  return __authenticationToken_isset;
}

- (void) unsetAuthenticationToken {
  [__authenticationToken release];
  __authenticationToken = nil;
  __authenticationToken_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setAuthenticationToken: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"refreshAuthentication_args"];
  if (__authenticationToken_isset) {
    if (__authenticationToken != nil) {
      [outProtocol writeFieldBeginWithName: @"authenticationToken" type: TType_STRING fieldID: 1];
      [outProtocol writeString: __authenticationToken];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"refreshAuthentication_args("];
  [ms appendString: @"authenticationToken:"];
  [ms appendFormat: @"\"%@\"", __authenticationToken];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMRefreshAuthentication_result : NSObject <NSCoding> {
  EDAMAuthenticationResult * __success;
  EDAMUserException * __userException;
  EDAMSystemException * __systemException;

  BOOL __success_isset;
  BOOL __userException_isset;
  BOOL __systemException_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=success, setter=setSuccess:) EDAMAuthenticationResult * success;
@property (nonatomic, retain, getter=userException, setter=setUserException:) EDAMUserException * userException;
@property (nonatomic, retain, getter=systemException, setter=setSystemException:) EDAMSystemException * systemException;
#endif

- (id) initWithSuccess: (EDAMAuthenticationResult *) success userException: (EDAMUserException *) userException systemException: (EDAMSystemException *) systemException;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (EDAMAuthenticationResult *) success;
- (void) setSuccess: (EDAMAuthenticationResult *) success;
- (BOOL) successIsSet;

- (EDAMUserException *) userException;
- (void) setUserException: (EDAMUserException *) userException;
- (BOOL) userExceptionIsSet;

- (EDAMSystemException *) systemException;
- (void) setSystemException: (EDAMSystemException *) systemException;
- (BOOL) systemExceptionIsSet;

@end

@implementation EDAMRefreshAuthentication_result

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic success;
@dynamic userException;
@dynamic systemException;
#endif

- (id) initWithSuccess: (EDAMAuthenticationResult *) success userException: (EDAMUserException *) userException systemException: (EDAMSystemException *) systemException
{
  self = [super init];
  __success = [success retain];
  __success_isset = YES;
  __userException = [userException retain];
  __userException_isset = YES;
  __systemException = [systemException retain];
  __systemException_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"success"])
  {
    __success = [[decoder decodeObjectForKey: @"success"] retain];
    __success_isset = YES;
  }
  if ([decoder containsValueForKey: @"userException"])
  {
    __userException = [[decoder decodeObjectForKey: @"userException"] retain];
    __userException_isset = YES;
  }
  if ([decoder containsValueForKey: @"systemException"])
  {
    __systemException = [[decoder decodeObjectForKey: @"systemException"] retain];
    __systemException_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__success_isset)
  {
    [encoder encodeObject: __success forKey: @"success"];
  }
  if (__userException_isset)
  {
    [encoder encodeObject: __userException forKey: @"userException"];
  }
  if (__systemException_isset)
  {
    [encoder encodeObject: __systemException forKey: @"systemException"];
  }
}

- (void) dealloc
{
  [__success release];
  [__userException release];
  [__systemException release];
  [super dealloc];
}

- (EDAMAuthenticationResult *) success {
  return [[__success retain] autorelease];
}

- (void) setSuccess: (EDAMAuthenticationResult *) success {
  [success retain];
  [__success release];
  __success = success;
  __success_isset = YES;
}

- (BOOL) successIsSet {
  return __success_isset;
}

- (void) unsetSuccess {
  [__success release];
  __success = nil;
  __success_isset = NO;
}

- (EDAMUserException *) userException {
  return [[__userException retain] autorelease];
}

- (void) setUserException: (EDAMUserException *) userException {
  [userException retain];
  [__userException release];
  __userException = userException;
  __userException_isset = YES;
}

- (BOOL) userExceptionIsSet {
  return __userException_isset;
}

- (void) unsetUserException {
  [__userException release];
  __userException = nil;
  __userException_isset = NO;
}

- (EDAMSystemException *) systemException {
  return [[__systemException retain] autorelease];
}

- (void) setSystemException: (EDAMSystemException *) systemException {
  [systemException retain];
  [__systemException release];
  __systemException = systemException;
  __systemException_isset = YES;
}

- (BOOL) systemExceptionIsSet {
  return __systemException_isset;
}

- (void) unsetSystemException {
  [__systemException release];
  __systemException = nil;
  __systemException_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 0:
        if (fieldType == TType_STRUCT) {
          EDAMAuthenticationResult *fieldValue = [[EDAMAuthenticationResult alloc] init];
          [fieldValue read: inProtocol];
          [self setSuccess: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 1:
        if (fieldType == TType_STRUCT) {
          EDAMUserException *fieldValue = [[EDAMUserException alloc] init];
          [fieldValue read: inProtocol];
          [self setUserException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRUCT) {
          EDAMSystemException *fieldValue = [[EDAMSystemException alloc] init];
          [fieldValue read: inProtocol];
          [self setSystemException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"RefreshAuthentication_result"];

  if (__success_isset) {
    if (__success != nil) {
      [outProtocol writeFieldBeginWithName: @"success" type: TType_STRUCT fieldID: 0];
      [__success write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__userException_isset) {
    if (__userException != nil) {
      [outProtocol writeFieldBeginWithName: @"userException" type: TType_STRUCT fieldID: 1];
      [__userException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__systemException_isset) {
    if (__systemException != nil) {
      [outProtocol writeFieldBeginWithName: @"systemException" type: TType_STRUCT fieldID: 2];
      [__systemException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"RefreshAuthentication_result("];
  [ms appendString: @"success:"];
  [ms appendFormat: @"%@", __success];
  [ms appendString: @",userException:"];
  [ms appendFormat: @"%@", __userException];
  [ms appendString: @",systemException:"];
  [ms appendFormat: @"%@", __systemException];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMgetUser_args : NSObject <NSCoding> {
  NSString * __authenticationToken;

  BOOL __authenticationToken_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=authenticationToken, setter=setAuthenticationToken:) NSString * authenticationToken;
#endif

- (id) initWithAuthenticationToken: (NSString *) authenticationToken;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (NSString *) authenticationToken;
- (void) setAuthenticationToken: (NSString *) authenticationToken;
- (BOOL) authenticationTokenIsSet;

@end

@implementation EDAMgetUser_args

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic authenticationToken;
#endif

- (id) initWithAuthenticationToken: (NSString *) authenticationToken
{
  self = [super init];
  __authenticationToken = [authenticationToken retain];
  __authenticationToken_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"authenticationToken"])
  {
    __authenticationToken = [[decoder decodeObjectForKey: @"authenticationToken"] retain];
    __authenticationToken_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__authenticationToken_isset)
  {
    [encoder encodeObject: __authenticationToken forKey: @"authenticationToken"];
  }
}

- (void) dealloc
{
  [__authenticationToken release];
  [super dealloc];
}

- (NSString *) authenticationToken {
  return [[__authenticationToken retain] autorelease];
}

- (void) setAuthenticationToken: (NSString *) authenticationToken {
  [authenticationToken retain];
  [__authenticationToken release];
  __authenticationToken = authenticationToken;
  __authenticationToken_isset = YES;
}

- (BOOL) authenticationTokenIsSet {
  return __authenticationToken_isset;
}

- (void) unsetAuthenticationToken {
  [__authenticationToken release];
  __authenticationToken = nil;
  __authenticationToken_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setAuthenticationToken: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"getUser_args"];
  if (__authenticationToken_isset) {
    if (__authenticationToken != nil) {
      [outProtocol writeFieldBeginWithName: @"authenticationToken" type: TType_STRING fieldID: 1];
      [outProtocol writeString: __authenticationToken];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"getUser_args("];
  [ms appendString: @"authenticationToken:"];
  [ms appendFormat: @"\"%@\"", __authenticationToken];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMGetUser_result : NSObject <NSCoding> {
  EDAMUser * __success;
  EDAMUserException * __userException;
  EDAMSystemException * __systemException;

  BOOL __success_isset;
  BOOL __userException_isset;
  BOOL __systemException_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=success, setter=setSuccess:) EDAMUser * success;
@property (nonatomic, retain, getter=userException, setter=setUserException:) EDAMUserException * userException;
@property (nonatomic, retain, getter=systemException, setter=setSystemException:) EDAMSystemException * systemException;
#endif

- (id) initWithSuccess: (EDAMUser *) success userException: (EDAMUserException *) userException systemException: (EDAMSystemException *) systemException;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (EDAMUser *) success;
- (void) setSuccess: (EDAMUser *) success;
- (BOOL) successIsSet;

- (EDAMUserException *) userException;
- (void) setUserException: (EDAMUserException *) userException;
- (BOOL) userExceptionIsSet;

- (EDAMSystemException *) systemException;
- (void) setSystemException: (EDAMSystemException *) systemException;
- (BOOL) systemExceptionIsSet;

@end

@implementation EDAMGetUser_result

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic success;
@dynamic userException;
@dynamic systemException;
#endif

- (id) initWithSuccess: (EDAMUser *) success userException: (EDAMUserException *) userException systemException: (EDAMSystemException *) systemException
{
  self = [super init];
  __success = [success retain];
  __success_isset = YES;
  __userException = [userException retain];
  __userException_isset = YES;
  __systemException = [systemException retain];
  __systemException_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"success"])
  {
    __success = [[decoder decodeObjectForKey: @"success"] retain];
    __success_isset = YES;
  }
  if ([decoder containsValueForKey: @"userException"])
  {
    __userException = [[decoder decodeObjectForKey: @"userException"] retain];
    __userException_isset = YES;
  }
  if ([decoder containsValueForKey: @"systemException"])
  {
    __systemException = [[decoder decodeObjectForKey: @"systemException"] retain];
    __systemException_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__success_isset)
  {
    [encoder encodeObject: __success forKey: @"success"];
  }
  if (__userException_isset)
  {
    [encoder encodeObject: __userException forKey: @"userException"];
  }
  if (__systemException_isset)
  {
    [encoder encodeObject: __systemException forKey: @"systemException"];
  }
}

- (void) dealloc
{
  [__success release];
  [__userException release];
  [__systemException release];
  [super dealloc];
}

- (EDAMUser *) success {
  return [[__success retain] autorelease];
}

- (void) setSuccess: (EDAMUser *) success {
  [success retain];
  [__success release];
  __success = success;
  __success_isset = YES;
}

- (BOOL) successIsSet {
  return __success_isset;
}

- (void) unsetSuccess {
  [__success release];
  __success = nil;
  __success_isset = NO;
}

- (EDAMUserException *) userException {
  return [[__userException retain] autorelease];
}

- (void) setUserException: (EDAMUserException *) userException {
  [userException retain];
  [__userException release];
  __userException = userException;
  __userException_isset = YES;
}

- (BOOL) userExceptionIsSet {
  return __userException_isset;
}

- (void) unsetUserException {
  [__userException release];
  __userException = nil;
  __userException_isset = NO;
}

- (EDAMSystemException *) systemException {
  return [[__systemException retain] autorelease];
}

- (void) setSystemException: (EDAMSystemException *) systemException {
  [systemException retain];
  [__systemException release];
  __systemException = systemException;
  __systemException_isset = YES;
}

- (BOOL) systemExceptionIsSet {
  return __systemException_isset;
}

- (void) unsetSystemException {
  [__systemException release];
  __systemException = nil;
  __systemException_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 0:
        if (fieldType == TType_STRUCT) {
          EDAMUser *fieldValue = [[EDAMUser alloc] init];
          [fieldValue read: inProtocol];
          [self setSuccess: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 1:
        if (fieldType == TType_STRUCT) {
          EDAMUserException *fieldValue = [[EDAMUserException alloc] init];
          [fieldValue read: inProtocol];
          [self setUserException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRUCT) {
          EDAMSystemException *fieldValue = [[EDAMSystemException alloc] init];
          [fieldValue read: inProtocol];
          [self setSystemException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"GetUser_result"];

  if (__success_isset) {
    if (__success != nil) {
      [outProtocol writeFieldBeginWithName: @"success" type: TType_STRUCT fieldID: 0];
      [__success write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__userException_isset) {
    if (__userException != nil) {
      [outProtocol writeFieldBeginWithName: @"userException" type: TType_STRUCT fieldID: 1];
      [__userException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__systemException_isset) {
    if (__systemException != nil) {
      [outProtocol writeFieldBeginWithName: @"systemException" type: TType_STRUCT fieldID: 2];
      [__systemException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"GetUser_result("];
  [ms appendString: @"success:"];
  [ms appendFormat: @"%@", __success];
  [ms appendString: @",userException:"];
  [ms appendFormat: @"%@", __userException];
  [ms appendString: @",systemException:"];
  [ms appendFormat: @"%@", __systemException];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMgetPublicUserInfo_args : NSObject <NSCoding> {
  NSString * __username;

  BOOL __username_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=username, setter=setUsername:) NSString * username;
#endif

- (id) initWithUsername: (NSString *) username;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (NSString *) username;
- (void) setUsername: (NSString *) username;
- (BOOL) usernameIsSet;

@end

@implementation EDAMgetPublicUserInfo_args

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic username;
#endif

- (id) initWithUsername: (NSString *) username
{
  self = [super init];
  __username = [username retain];
  __username_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"username"])
  {
    __username = [[decoder decodeObjectForKey: @"username"] retain];
    __username_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__username_isset)
  {
    [encoder encodeObject: __username forKey: @"username"];
  }
}

- (void) dealloc
{
  [__username release];
  [super dealloc];
}

- (NSString *) username {
  return [[__username retain] autorelease];
}

- (void) setUsername: (NSString *) username {
  [username retain];
  [__username release];
  __username = username;
  __username_isset = YES;
}

- (BOOL) usernameIsSet {
  return __username_isset;
}

- (void) unsetUsername {
  [__username release];
  __username = nil;
  __username_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 1:
        if (fieldType == TType_STRING) {
          NSString * fieldValue = [inProtocol readString];
          [self setUsername: fieldValue];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"getPublicUserInfo_args"];
  if (__username_isset) {
    if (__username != nil) {
      [outProtocol writeFieldBeginWithName: @"username" type: TType_STRING fieldID: 1];
      [outProtocol writeString: __username];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"getPublicUserInfo_args("];
  [ms appendString: @"username:"];
  [ms appendFormat: @"\"%@\"", __username];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@interface EDAMGetPublicUserInfo_result : NSObject <NSCoding> {
  EDAMPublicUserInfo * __success;
  EDAMNotFoundException * __notFoundException;
  EDAMSystemException * __systemException;
  EDAMUserException * __userException;

  BOOL __success_isset;
  BOOL __notFoundException_isset;
  BOOL __systemException_isset;
  BOOL __userException_isset;
}

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@property (nonatomic, retain, getter=success, setter=setSuccess:) EDAMPublicUserInfo * success;
@property (nonatomic, retain, getter=notFoundException, setter=setNotFoundException:) EDAMNotFoundException * notFoundException;
@property (nonatomic, retain, getter=systemException, setter=setSystemException:) EDAMSystemException * systemException;
@property (nonatomic, retain, getter=userException, setter=setUserException:) EDAMUserException * userException;
#endif

- (id) initWithSuccess: (EDAMPublicUserInfo *) success notFoundException: (EDAMNotFoundException *) notFoundException systemException: (EDAMSystemException *) systemException userException: (EDAMUserException *) userException;

- (void) read: (id <TProtocol>) inProtocol;
- (void) write: (id <TProtocol>) outProtocol;

- (EDAMPublicUserInfo *) success;
- (void) setSuccess: (EDAMPublicUserInfo *) success;
- (BOOL) successIsSet;

- (EDAMNotFoundException *) notFoundException;
- (void) setNotFoundException: (EDAMNotFoundException *) notFoundException;
- (BOOL) notFoundExceptionIsSet;

- (EDAMSystemException *) systemException;
- (void) setSystemException: (EDAMSystemException *) systemException;
- (BOOL) systemExceptionIsSet;

- (EDAMUserException *) userException;
- (void) setUserException: (EDAMUserException *) userException;
- (BOOL) userExceptionIsSet;

@end

@implementation EDAMGetPublicUserInfo_result

#if TARGET_OS_IPHONE || (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
@dynamic success;
@dynamic notFoundException;
@dynamic systemException;
@dynamic userException;
#endif

- (id) initWithSuccess: (EDAMPublicUserInfo *) success notFoundException: (EDAMNotFoundException *) notFoundException systemException: (EDAMSystemException *) systemException userException: (EDAMUserException *) userException
{
  self = [super init];
  __success = [success retain];
  __success_isset = YES;
  __notFoundException = [notFoundException retain];
  __notFoundException_isset = YES;
  __systemException = [systemException retain];
  __systemException_isset = YES;
  __userException = [userException retain];
  __userException_isset = YES;
  return self;
}

- (id) initWithCoder: (NSCoder *) decoder
{
  self = [super init];
  if ([decoder containsValueForKey: @"success"])
  {
    __success = [[decoder decodeObjectForKey: @"success"] retain];
    __success_isset = YES;
  }
  if ([decoder containsValueForKey: @"notFoundException"])
  {
    __notFoundException = [[decoder decodeObjectForKey: @"notFoundException"] retain];
    __notFoundException_isset = YES;
  }
  if ([decoder containsValueForKey: @"systemException"])
  {
    __systemException = [[decoder decodeObjectForKey: @"systemException"] retain];
    __systemException_isset = YES;
  }
  if ([decoder containsValueForKey: @"userException"])
  {
    __userException = [[decoder decodeObjectForKey: @"userException"] retain];
    __userException_isset = YES;
  }
  return self;
}

- (void) encodeWithCoder: (NSCoder *) encoder
{
  if (__success_isset)
  {
    [encoder encodeObject: __success forKey: @"success"];
  }
  if (__notFoundException_isset)
  {
    [encoder encodeObject: __notFoundException forKey: @"notFoundException"];
  }
  if (__systemException_isset)
  {
    [encoder encodeObject: __systemException forKey: @"systemException"];
  }
  if (__userException_isset)
  {
    [encoder encodeObject: __userException forKey: @"userException"];
  }
}

- (void) dealloc
{
  [__success release];
  [__notFoundException release];
  [__systemException release];
  [__userException release];
  [super dealloc];
}

- (EDAMPublicUserInfo *) success {
  return [[__success retain] autorelease];
}

- (void) setSuccess: (EDAMPublicUserInfo *) success {
  [success retain];
  [__success release];
  __success = success;
  __success_isset = YES;
}

- (BOOL) successIsSet {
  return __success_isset;
}

- (void) unsetSuccess {
  [__success release];
  __success = nil;
  __success_isset = NO;
}

- (EDAMNotFoundException *) notFoundException {
  return [[__notFoundException retain] autorelease];
}

- (void) setNotFoundException: (EDAMNotFoundException *) notFoundException {
  [notFoundException retain];
  [__notFoundException release];
  __notFoundException = notFoundException;
  __notFoundException_isset = YES;
}

- (BOOL) notFoundExceptionIsSet {
  return __notFoundException_isset;
}

- (void) unsetNotFoundException {
  [__notFoundException release];
  __notFoundException = nil;
  __notFoundException_isset = NO;
}

- (EDAMSystemException *) systemException {
  return [[__systemException retain] autorelease];
}

- (void) setSystemException: (EDAMSystemException *) systemException {
  [systemException retain];
  [__systemException release];
  __systemException = systemException;
  __systemException_isset = YES;
}

- (BOOL) systemExceptionIsSet {
  return __systemException_isset;
}

- (void) unsetSystemException {
  [__systemException release];
  __systemException = nil;
  __systemException_isset = NO;
}

- (EDAMUserException *) userException {
  return [[__userException retain] autorelease];
}

- (void) setUserException: (EDAMUserException *) userException {
  [userException retain];
  [__userException release];
  __userException = userException;
  __userException_isset = YES;
}

- (BOOL) userExceptionIsSet {
  return __userException_isset;
}

- (void) unsetUserException {
  [__userException release];
  __userException = nil;
  __userException_isset = NO;
}

- (void) read: (id <TProtocol>) inProtocol
{
  NSString * fieldName;
  int fieldType;
  int fieldID;

  [inProtocol readStructBeginReturningName: NULL];
  while (true)
  {
    [inProtocol readFieldBeginReturningName: &fieldName type: &fieldType fieldID: &fieldID];
    if (fieldType == TType_STOP) { 
      break;
    }
    switch (fieldID)
    {
      case 0:
        if (fieldType == TType_STRUCT) {
          EDAMPublicUserInfo *fieldValue = [[EDAMPublicUserInfo alloc] init];
          [fieldValue read: inProtocol];
          [self setSuccess: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 1:
        if (fieldType == TType_STRUCT) {
          EDAMNotFoundException *fieldValue = [[EDAMNotFoundException alloc] init];
          [fieldValue read: inProtocol];
          [self setNotFoundException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 2:
        if (fieldType == TType_STRUCT) {
          EDAMSystemException *fieldValue = [[EDAMSystemException alloc] init];
          [fieldValue read: inProtocol];
          [self setSystemException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      case 3:
        if (fieldType == TType_STRUCT) {
          EDAMUserException *fieldValue = [[EDAMUserException alloc] init];
          [fieldValue read: inProtocol];
          [self setUserException: fieldValue];
          [fieldValue release];
        } else { 
          [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        }
        break;
      default:
        [TProtocolUtil skipType: fieldType onProtocol: inProtocol];
        break;
    }
    [inProtocol readFieldEnd];
  }
  [inProtocol readStructEnd];
}

- (void) write: (id <TProtocol>) outProtocol {
  [outProtocol writeStructBeginWithName: @"GetPublicUserInfo_result"];

  if (__success_isset) {
    if (__success != nil) {
      [outProtocol writeFieldBeginWithName: @"success" type: TType_STRUCT fieldID: 0];
      [__success write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__notFoundException_isset) {
    if (__notFoundException != nil) {
      [outProtocol writeFieldBeginWithName: @"notFoundException" type: TType_STRUCT fieldID: 1];
      [__notFoundException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__systemException_isset) {
    if (__systemException != nil) {
      [outProtocol writeFieldBeginWithName: @"systemException" type: TType_STRUCT fieldID: 2];
      [__systemException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  } else if (__userException_isset) {
    if (__userException != nil) {
      [outProtocol writeFieldBeginWithName: @"userException" type: TType_STRUCT fieldID: 3];
      [__userException write: outProtocol];
      [outProtocol writeFieldEnd];
    }
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
}

- (NSString *) description {
  NSMutableString * ms = [NSMutableString stringWithString: @"GetPublicUserInfo_result("];
  [ms appendString: @"success:"];
  [ms appendFormat: @"%@", __success];
  [ms appendString: @",notFoundException:"];
  [ms appendFormat: @"%@", __notFoundException];
  [ms appendString: @",systemException:"];
  [ms appendFormat: @"%@", __systemException];
  [ms appendString: @",userException:"];
  [ms appendFormat: @"%@", __userException];
  [ms appendString: @")"];
  return [NSString stringWithString: ms];
}

@end

@implementation EDAMUserStoreClient
- (id) initWithProtocol: (id <TProtocol>) protocol
{
  return [self initWithInProtocol: protocol outProtocol: protocol];
}

- (id) initWithInProtocol: (id <TProtocol>) anInProtocol outProtocol: (id <TProtocol>) anOutProtocol
{
  self = [super init];
  if (self) {
      inProtocol = [anInProtocol retain];
      outProtocol = [anOutProtocol retain];
  }
  return self;
}

- (void) dealloc
{
  [inProtocol release];
  [outProtocol release];
  [super dealloc];
}

- (void) send_checkVersion: (NSString *) clientName : (int16_t) edamVersionMajor : (int16_t) edamVersionMinor
{
  [outProtocol writeMessageBeginWithName: @"checkVersion" type: TMessageType_CALL sequenceID: 0];
  [outProtocol writeStructBeginWithName: @"checkVersion_args"];
  if (clientName != nil)  {
    [outProtocol writeFieldBeginWithName: @"clientName" type: TType_STRING fieldID: 1];
    [outProtocol writeString: clientName];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldBeginWithName: @"edamVersionMajor" type: TType_I16 fieldID: 2];
  [outProtocol writeI16: edamVersionMajor];
  [outProtocol writeFieldEnd];
  [outProtocol writeFieldBeginWithName: @"edamVersionMinor" type: TType_I16 fieldID: 3];
  [outProtocol writeI16: edamVersionMinor];
  [outProtocol writeFieldEnd];
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
}

- (BOOL) recv_checkVersion
{
  int msgType = 0;
  [inProtocol readMessageBeginReturningName: nil type: &msgType sequenceID: NULL];
  if (msgType == TMessageType_EXCEPTION) {
    TApplicationException * x = [TApplicationException read: inProtocol];
    [inProtocol readMessageEnd];
    @throw x;
  }
  EDAMCheckVersion_result * result = [[[EDAMCheckVersion_result alloc] init] autorelease];
  [result read: inProtocol];
  [inProtocol readMessageEnd];
  if ([result successIsSet]) {
    return [result success];
  }
  @throw [TApplicationException exceptionWithType: TApplicationException_MISSING_RESULT
                                           reason: @"checkVersion failed: unknown result"];
}

- (BOOL) checkVersion: (NSString *) clientName : (int16_t) edamVersionMajor : (int16_t) edamVersionMinor
{
  [self send_checkVersion: clientName : edamVersionMajor : edamVersionMinor];
  return [self recv_checkVersion];
}

- (void) send_authenticate: (NSString *) username : (NSString *) password : (NSString *) consumerKey : (NSString *) consumerSecret
{
  [outProtocol writeMessageBeginWithName: @"authenticate" type: TMessageType_CALL sequenceID: 0];
  [outProtocol writeStructBeginWithName: @"authenticate_args"];
  if (username != nil)  {
    [outProtocol writeFieldBeginWithName: @"username" type: TType_STRING fieldID: 1];
    [outProtocol writeString: username];
    [outProtocol writeFieldEnd];
  }
  if (password != nil)  {
    [outProtocol writeFieldBeginWithName: @"password" type: TType_STRING fieldID: 2];
    [outProtocol writeString: password];
    [outProtocol writeFieldEnd];
  }
  if (consumerKey != nil)  {
    [outProtocol writeFieldBeginWithName: @"consumerKey" type: TType_STRING fieldID: 3];
    [outProtocol writeString: consumerKey];
    [outProtocol writeFieldEnd];
  }
  if (consumerSecret != nil)  {
    [outProtocol writeFieldBeginWithName: @"consumerSecret" type: TType_STRING fieldID: 4];
    [outProtocol writeString: consumerSecret];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
}

- (EDAMAuthenticationResult *) recv_authenticate
{
  int msgType = 0;
  [inProtocol readMessageBeginReturningName: nil type: &msgType sequenceID: NULL];
  if (msgType == TMessageType_EXCEPTION) {
    TApplicationException * x = [TApplicationException read: inProtocol];
    [inProtocol readMessageEnd];
    @throw x;
  }
  EDAMAuthenticate_result * result = [[[EDAMAuthenticate_result alloc] init] autorelease];
  [result read: inProtocol];
  [inProtocol readMessageEnd];
  if ([result successIsSet]) {
    return [result success];
  }
  if ([result userExceptionIsSet]) {
    @throw [result userException];
  }
  if ([result systemExceptionIsSet]) {
    @throw [result systemException];
  }
  @throw [TApplicationException exceptionWithType: TApplicationException_MISSING_RESULT
                                           reason: @"authenticate failed: unknown result"];
}

- (EDAMAuthenticationResult *) authenticate: (NSString *) username : (NSString *) password : (NSString *) consumerKey : (NSString *) consumerSecret
{
  [self send_authenticate: username : password : consumerKey : consumerSecret];
  return [self recv_authenticate];
}

- (void) send_refreshAuthentication: (NSString *) authenticationToken
{
  [outProtocol writeMessageBeginWithName: @"refreshAuthentication" type: TMessageType_CALL sequenceID: 0];
  [outProtocol writeStructBeginWithName: @"refreshAuthentication_args"];
  if (authenticationToken != nil)  {
    [outProtocol writeFieldBeginWithName: @"authenticationToken" type: TType_STRING fieldID: 1];
    [outProtocol writeString: authenticationToken];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
}

- (EDAMAuthenticationResult *) recv_refreshAuthentication
{
  int msgType = 0;
  [inProtocol readMessageBeginReturningName: nil type: &msgType sequenceID: NULL];
  if (msgType == TMessageType_EXCEPTION) {
    TApplicationException * x = [TApplicationException read: inProtocol];
    [inProtocol readMessageEnd];
    @throw x;
  }
  EDAMRefreshAuthentication_result * result = [[[EDAMRefreshAuthentication_result alloc] init] autorelease];
  [result read: inProtocol];
  [inProtocol readMessageEnd];
  if ([result successIsSet]) {
    return [result success];
  }
  if ([result userExceptionIsSet]) {
    @throw [result userException];
  }
  if ([result systemExceptionIsSet]) {
    @throw [result systemException];
  }
  @throw [TApplicationException exceptionWithType: TApplicationException_MISSING_RESULT
                                           reason: @"refreshAuthentication failed: unknown result"];
}

- (EDAMAuthenticationResult *) refreshAuthentication: (NSString *) authenticationToken
{
  [self send_refreshAuthentication: authenticationToken];
  return [self recv_refreshAuthentication];
}

- (void) send_getUser: (NSString *) authenticationToken
{
  [outProtocol writeMessageBeginWithName: @"getUser" type: TMessageType_CALL sequenceID: 0];
  [outProtocol writeStructBeginWithName: @"getUser_args"];
  if (authenticationToken != nil)  {
    [outProtocol writeFieldBeginWithName: @"authenticationToken" type: TType_STRING fieldID: 1];
    [outProtocol writeString: authenticationToken];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
}

- (EDAMUser *) recv_getUser
{
  int msgType = 0;
  [inProtocol readMessageBeginReturningName: nil type: &msgType sequenceID: NULL];
  if (msgType == TMessageType_EXCEPTION) {
    TApplicationException * x = [TApplicationException read: inProtocol];
    [inProtocol readMessageEnd];
    @throw x;
  }
  EDAMGetUser_result * result = [[[EDAMGetUser_result alloc] init] autorelease];
  [result read: inProtocol];
  [inProtocol readMessageEnd];
  if ([result successIsSet]) {
    return [result success];
  }
  if ([result userExceptionIsSet]) {
    @throw [result userException];
  }
  if ([result systemExceptionIsSet]) {
    @throw [result systemException];
  }
  @throw [TApplicationException exceptionWithType: TApplicationException_MISSING_RESULT
                                           reason: @"getUser failed: unknown result"];
}

- (EDAMUser *) getUser: (NSString *) authenticationToken
{
  [self send_getUser: authenticationToken];
  return [self recv_getUser];
}

- (void) send_getPublicUserInfo: (NSString *) username
{
  [outProtocol writeMessageBeginWithName: @"getPublicUserInfo" type: TMessageType_CALL sequenceID: 0];
  [outProtocol writeStructBeginWithName: @"getPublicUserInfo_args"];
  if (username != nil)  {
    [outProtocol writeFieldBeginWithName: @"username" type: TType_STRING fieldID: 1];
    [outProtocol writeString: username];
    [outProtocol writeFieldEnd];
  }
  [outProtocol writeFieldStop];
  [outProtocol writeStructEnd];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
}

- (EDAMPublicUserInfo *) recv_getPublicUserInfo
{
  int msgType = 0;
  [inProtocol readMessageBeginReturningName: nil type: &msgType sequenceID: NULL];
  if (msgType == TMessageType_EXCEPTION) {
    TApplicationException * x = [TApplicationException read: inProtocol];
    [inProtocol readMessageEnd];
    @throw x;
  }
  EDAMGetPublicUserInfo_result * result = [[[EDAMGetPublicUserInfo_result alloc] init] autorelease];
  [result read: inProtocol];
  [inProtocol readMessageEnd];
  if ([result successIsSet]) {
    return [result success];
  }
  if ([result notFoundExceptionIsSet]) {
    @throw [result notFoundException];
  }
  if ([result systemExceptionIsSet]) {
    @throw [result systemException];
  }
  if ([result userExceptionIsSet]) {
    @throw [result userException];
  }
  @throw [TApplicationException exceptionWithType: TApplicationException_MISSING_RESULT
                                           reason: @"getPublicUserInfo failed: unknown result"];
}

- (EDAMPublicUserInfo *) getPublicUserInfo: (NSString *) username
{
  [self send_getPublicUserInfo: username];
  return [self recv_getPublicUserInfo];
}

@end

/**
 Private helper methods
 */
@interface EDAMUserStoreProcessor ()
- (void) process_checkVersion_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol;
- (void) process_authenticate_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol;
- (void) process_refreshAuthentication_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol;
- (void) process_getUser_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol;
- (void) process_getPublicUserInfo_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol;
@end

@implementation EDAMUserStoreProcessor

- (id) initWithUserStore: (id <EDAMUserStore>) service
{
  self = [super init];
  if (!self) {
    return nil;
  }
  mService = [service retain];
  mMethodMap = [[NSMutableDictionary dictionary] retain];
  {
    SEL s = @selector(process_checkVersion_withSequenceID:inProtocol:outProtocol:);
    NSMethodSignature * sig = [self methodSignatureForSelector: s];
    NSInvocation * invocation = [NSInvocation invocationWithMethodSignature: sig];
    [invocation setSelector: s];
    [invocation retainArguments];
    [mMethodMap setValue: invocation forKey: @"checkVersion"];
  }
  {
    SEL s = @selector(process_authenticate_withSequenceID:inProtocol:outProtocol:);
    NSMethodSignature * sig = [self methodSignatureForSelector: s];
    NSInvocation * invocation = [NSInvocation invocationWithMethodSignature: sig];
    [invocation setSelector: s];
    [invocation retainArguments];
    [mMethodMap setValue: invocation forKey: @"authenticate"];
  }
  {
    SEL s = @selector(process_refreshAuthentication_withSequenceID:inProtocol:outProtocol:);
    NSMethodSignature * sig = [self methodSignatureForSelector: s];
    NSInvocation * invocation = [NSInvocation invocationWithMethodSignature: sig];
    [invocation setSelector: s];
    [invocation retainArguments];
    [mMethodMap setValue: invocation forKey: @"refreshAuthentication"];
  }
  {
    SEL s = @selector(process_getUser_withSequenceID:inProtocol:outProtocol:);
    NSMethodSignature * sig = [self methodSignatureForSelector: s];
    NSInvocation * invocation = [NSInvocation invocationWithMethodSignature: sig];
    [invocation setSelector: s];
    [invocation retainArguments];
    [mMethodMap setValue: invocation forKey: @"getUser"];
  }
  {
    SEL s = @selector(process_getPublicUserInfo_withSequenceID:inProtocol:outProtocol:);
    NSMethodSignature * sig = [self methodSignatureForSelector: s];
    NSInvocation * invocation = [NSInvocation invocationWithMethodSignature: sig];
    [invocation setSelector: s];
    [invocation retainArguments];
    [mMethodMap setValue: invocation forKey: @"getPublicUserInfo"];
  }
  return self;
}

- (id<EDAMUserStore>) service
{
  return [[mService retain] autorelease];
}

- (BOOL) processOnInputProtocol: (id <TProtocol>) inProtocol
                 outputProtocol: (id <TProtocol>) outProtocol
{
  NSString * messageName;
  int messageType;
  int seqID;
  [inProtocol readMessageBeginReturningName: &messageName
                                       type: &messageType
                                 sequenceID: &seqID];
  NSInvocation * invocation = [mMethodMap valueForKey: messageName];
  if (invocation == nil) {
    [TProtocolUtil skipType: TType_STRUCT onProtocol: inProtocol];
    [inProtocol readMessageEnd];
    TApplicationException * x = [TApplicationException exceptionWithType: TApplicationException_UNKNOWN_METHOD reason: [NSString stringWithFormat: @"Invalid method name: '%@'", messageName]];
    [outProtocol writeMessageBeginWithName: messageName
                                      type: TMessageType_EXCEPTION
                                sequenceID: seqID];
    [x write: outProtocol];
    [outProtocol writeMessageEnd];
    [[outProtocol transport] flush];
    return YES;
  }
  // NSInvocation does not conform to NSCopying protocol
  NSInvocation * i = [NSInvocation invocationWithMethodSignature: [invocation methodSignature]];
  [i setSelector: [invocation selector]];
  [i setArgument: &seqID atIndex: 2];
  [i setArgument: &inProtocol atIndex: 3];
  [i setArgument: &outProtocol atIndex: 4];
  [i setTarget: self];
  [i invoke];
  return YES;
}

- (void) process_checkVersion_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol
{
  EDAMcheckVersion_args * args = [[EDAMcheckVersion_args alloc] init];
  [args read: inProtocol];
  [inProtocol readMessageEnd];
  EDAMCheckVersion_result * result = [[EDAMCheckVersion_result alloc] init];
  [result setSuccess: [mService checkVersion: [args clientName]: [args edamVersionMajor]: [args edamVersionMinor]]];
  [outProtocol writeMessageBeginWithName: @"checkVersion"
                                    type: TMessageType_REPLY
                              sequenceID: seqID];
  [result write: outProtocol];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
  [result release];
  [args release];
}

- (void) process_authenticate_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol
{
  EDAMauthenticate_args * args = [[EDAMauthenticate_args alloc] init];
  [args read: inProtocol];
  [inProtocol readMessageEnd];
  EDAMAuthenticate_result * result = [[EDAMAuthenticate_result alloc] init];
  [result setSuccess: [mService authenticate: [args username]: [args password]: [args consumerKey]: [args consumerSecret]]];
  [outProtocol writeMessageBeginWithName: @"authenticate"
                                    type: TMessageType_REPLY
                              sequenceID: seqID];
  [result write: outProtocol];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
  [result release];
  [args release];
}

- (void) process_refreshAuthentication_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol
{
  EDAMrefreshAuthentication_args * args = [[EDAMrefreshAuthentication_args alloc] init];
  [args read: inProtocol];
  [inProtocol readMessageEnd];
  EDAMRefreshAuthentication_result * result = [[EDAMRefreshAuthentication_result alloc] init];
  [result setSuccess: [mService refreshAuthentication: [args authenticationToken]]];
  [outProtocol writeMessageBeginWithName: @"refreshAuthentication"
                                    type: TMessageType_REPLY
                              sequenceID: seqID];
  [result write: outProtocol];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
  [result release];
  [args release];
}

- (void) process_getUser_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol
{
  EDAMgetUser_args * args = [[EDAMgetUser_args alloc] init];
  [args read: inProtocol];
  [inProtocol readMessageEnd];
  EDAMGetUser_result * result = [[EDAMGetUser_result alloc] init];
  [result setSuccess: [mService getUser: [args authenticationToken]]];
  [outProtocol writeMessageBeginWithName: @"getUser"
                                    type: TMessageType_REPLY
                              sequenceID: seqID];
  [result write: outProtocol];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
  [result release];
  [args release];
}

- (void) process_getPublicUserInfo_withSequenceID: (int32_t) seqID inProtocol: (id<TProtocol>) inProtocol outProtocol: (id<TProtocol>) outProtocol
{
  EDAMgetPublicUserInfo_args * args = [[EDAMgetPublicUserInfo_args alloc] init];
  [args read: inProtocol];
  [inProtocol readMessageEnd];
  EDAMGetPublicUserInfo_result * result = [[EDAMGetPublicUserInfo_result alloc] init];
  [result setSuccess: [mService getPublicUserInfo: [args username]]];
  [outProtocol writeMessageBeginWithName: @"getPublicUserInfo"
                                    type: TMessageType_REPLY
                              sequenceID: seqID];
  [result write: outProtocol];
  [outProtocol writeMessageEnd];
  [[outProtocol transport] flush];
  [result release];
  [args release];
}

- (void) dealloc
{
  [mService release];
  [mMethodMap release];
  [super dealloc];
}

@end

