9 #import <UIKit/UIKit.h> 18 NSMutableDictionary *messageByUidDictionary;
30 self.service = [[GTLRGmailService alloc] init];
32 messageByUidDictionary = [[NSMutableDictionary alloc] init];
40 - (void) addDataListener: (
id<Z5GmailDataListener>)ear
43 [localDataListeners addObject:ear];
45 - (void) removeDataListener: (
id<Z5GmailDataListener>)ear
47 [localDataListeners removeObject:ear];
49 - (void) connectToLogin
55 #pragma mark - Z5GoogleLoginListener 58 NSLog(
@"GmailDataController.signedIn: %@", user.
profile.
name);
65 self.service.shouldFetchNextPages =
true;
67 NSLog(
@"GmailDataController.signedIn: auth: %@",
self.service.authorizer );
71 self.service.authorizer = nil;
75 - (void)fetchJournalHeaders:(
id<Z5GmailDataListener>)listener
78 GTLRGmailQuery_UsersMessagesList *query2 = [GTLRGmailQuery_UsersMessagesList queryWithUserId:@"me"];
79 query2.maxResults = 1000;
81 [query2 setQ:@"subject:(Nutrition Journal Information)"];
82 [
self.service executeQuery:query2 delegate:listener didFinishSelector:@selector(rcvdNutriJournInfoHeadersWithTicket:finishedWithObject:error:)];
85 - (GTLRServiceTicket *)fetchJournalMessage:(NSString *) identifier withListener: (
id<Z5GmailDataListener>)listener
87 GTLRGmailQuery_UsersMessagesGet *query3 = [GTLRGmailQuery_UsersMessagesGet queryWithUserId:@"me" identifier:identifier];
88 [query3 setFormat:kGTLRGmailFormatFull];
89 NSLog(
@"GmailController.fetchJournalMessage: identifier: %@", identifier);
91 return [
self.service executeQuery:query3 delegate:listener didFinishSelector:@selector(rcvdMessageWithTicket:finishedWithObject:error:)];
93 - (GTLRServiceTicket *)fetchMessageAttachment:(NSString *) identifier
94 onMessage:(NSString *) msgId
95 withListener: (
id<Z5GmailDataListener>)listener
97 GTLRGmailQuery_UsersMessagesAttachmentsGet *queryAttachment = [GTLRGmailQuery_UsersMessagesAttachmentsGet queryWithUserId:@"me" messageId:msgId identifier:identifier];
99 queryAttachment.executionParameters.ticketProperties = @{
@"Message ID": msgId };
100 return [
self.service executeQuery:queryAttachment delegate:listener didFinishSelector:@selector(rcvdAttachmentWithTicket:finishedWithObject:error:)];
void addLoginListener:(id< Z5GoogleLoginListener > ear)
NSMutableArray * localDataListeners
instancetype sharedInstance()
id< GTMFetcherAuthorizationProtocol > fetcherAuthorizer()
Singleton interface to both core and remote data sources.
NSMutableDictionary * mesgUidDictionary
GIDAuthentication * authentication
NSString * nutritionJournalDataTitleKey