XgridFoundation.framework

@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;