@interface XGActionMonitor : NSObject
// Class Members
+ (id)actionMonitorWithResource:(XGResource*)resource action:(XGResourceAction)action;
+ (id)actionMonitorWithResource:(XGResource*)resource action:(XGResourceAction)action parameters:(NSDictionary*)parameters;
// Instance Members
- (BOOL)actionDidFail;
- (BOOL)actionDidSucceed;
- (NSDictionary*)parameters;
- (NSDictionary*)results;
- (NSError*)error;
- (XGActionMonitorOutcome)outcome;
- (XGResource*)resource;
- (XGResourceAction)action;
- (id)initWithResource:(id)resource action:(XGResourceAction)action parameters:(NSDictionary*)parameters;
- (void)performAction;
@interface XGAuthenticator : NSObject
// Class Members
+ (NSString*)profileURI;
// Instance Members
- (NSError*)error;
- (NSString*)piggyback;
- (XGAuthenticatorState)state;
- (id)delegate;
- (void)beginAuthentication:(NSString*)piggybackReply;
- (void)failWithError:(NSError*)error;
- (void)finishAuthentication;
- (void)receiveData:(NSData*)data;
- (void)sendData:(NSData*)data;
- (void)setDelegate:(id)delegate;
@interface NSObject (XGAuthenticatorDelegate)
// Instance Members
- (void)authenticatorDidAuthenticate:(XGAuthenticator*)authenticator;
- (void)authenticatorDidNotAuthenticate:(XGAuthenticator*)authenticator;
@interface XGConnection : NSObject
// Instance Members
- (BOOL)isClosed;
- (BOOL)isOpened;
- (NSError*)error;
- (NSNetService*)netService;
- (NSString*)hostname;
- (NSString*)name;
- (NSString*)servicePrincipal;
- (UInt32)portnumber;
- (XGAuthenticator*)authenticator;
- (XGConnectionState)state;
- (id)delegate;
- (id)initWithHostname:(NSString*)hostname portnumber:(UInt32)portnumber;
- (id)initWithNetService:(NSNetService*)netService;
- (void)close;
- (void)open;
- (void)setAuthenticator:(XGAuthenticator*)authenticator;
- (void)setDelegate:(id)delegate;
@interface NSObject (XGConnectionDelegate)
// Instance Members
- (void)connectionDidClose:(XGConnection*)connection;
- (void)connectionDidNotOpen:(XGConnection*)connection withError:(NSError*)error;
- (void)connectionDidOpen:(XGConnection*)connection;
@interface XGController : XGResource
// Instance Members
- (NSArray*)grids;
- (NSString*)jobsPredicateString;
- (XGGrid*)defaultGrid;
- (XGGrid*)gridForIdentifier:(NSString*)identifier;
- (id)initWithConnection:(XGConnection*)connection;
- (id)performSubmitJobActionWithJobSpecification:(NSDictionary*)jobSpecification gridIdentifier:(NSString*)gridIdentifier;
- (void)setJobsPredicateString:(NSString*)predicateString;
@interface XGController (XGControllerCreation)
// Class Members
+ (id)controllerWithHostname:(NSString*)hostname portnumber:(UInt32)portnumber;
+ (id)controllerWithNetService:(NSNetService*)netService;
+ (id)defaultController;
+ (id)privateController;
@interface XGFile : NSObject
// Instance Members
- (NSString*)path;
- (NSString*)taskIdentifier;
- (XGFileType)type;
- (XGJob*)job;
@interface XGFileDownload : NSObject
// Instance Members
- (NSString*)destination;
- (XGFile*)file;
- (id)delegate;
- (id)initWithFile:(XGFile*)file delegate:(id)delegate;
- (void)cancel;
- (void)setDestination:(NSString*)destination allowOverwrite:(BOOL)allowOverwrite;
@interface NSObject (XGFileDownloadDelegate)
// Instance Members
- (void)fileDownload:(XGFileDownload*)fileDownload didCreateDestination:(NSString*)destination;
- (void)fileDownload:(XGFileDownload*)fileDownload didReceiveAttributes:(NSDictionary*)attributes;
- (void)fileDownload:(XGFileDownload*)fileDownload decideDestinationWithSuggestedPath:(NSString*)path;
- (void)fileDownload:(XGFileDownload*)fileDownload didFailWithError:(NSError*)error;
- (void)fileDownload:(XGFileDownload*)fileDownload didReceiveData:(NSData*)data;
- (void)fileDownloadDidBegin:(XGFileDownload*)fileDownload;
- (void)fileDownloadDidFinish:(XGFileDownload*)fileDownload;
@interface XGGrid : XGResource
// Instance Members
- (BOOL)isDefault;
- (NSArray*)jobs;
- (NSString*)name;
- (XGJob*)jobForIdentifier:(NSString*)identifier;
@interface XGGSSAuthenticator : XGAuthenticator
// Instance Members
- (NSString*)servicePrincipal;
- (void)setServicePrincipal:(NSString*)servicePrincipal;
@interface XGJob : XGResource
// Instance Members
- (NSDate*)dateStarted;
- (NSDate*)dateStopped;
- (NSDate*)dateSubmitted;
- (NSDictionary*)applicationInfo;
- (NSInteger)completedTaskCount;
- (NSInteger)taskCount;
- (NSString*)applicationIdentifier;
- (NSString*)name;
- (XGActionMonitor*)performDeleteAction;
- (XGActionMonitor*)performGetOutputFilesAction;
- (XGActionMonitor*)performGetOutputStreamsAction;
- (XGActionMonitor*)performGetSpecificationAction;
- (XGActionMonitor*)performRestartAction;
- (XGActionMonitor*)performResumeAction;
- (XGActionMonitor*)performStopAction;
- (XGActionMonitor*)performSuspendAction;
- (float)activeCPUPower;
- (float)percentDone;
@interface XGResource : NSObject
// Instance Members
- (BOOL)isUpdated;
- (BOOL)isUpdating;
- (NSArray*)actionMonitors;
- (NSString*)identifier;
- (XGActionMonitor*)performAction:(XGResourceAction)action withParameters:(NSDictionary*)parameters;
- (XGConnection*)connection;
- (XGController*)controller;
- (XGResourceState)state;
@interface XGTwoWayRandomAuthenticator : XGAuthenticator
// Instance Members
- (NSString*)username;
- (void)setPassword:(NSString*)password;
- (void)setUsername:(NSString*)username;