Today's Menu  Portugal
journal and plan nutrition
Instance Methods | Properties | List of all members
Z5GmailDataController Class Reference

#import <Z5GmailDataController.h>

Inheritance diagram for Z5GmailDataController:
Inheritance graph
[legend]
Collaboration diagram for Z5GmailDataController:
Collaboration graph
[legend]

Instance Methods

(void) - addDataListener:
 
(void) - removeDataListener:
 
(void) - fetchJournalHeaders:
 
(GTLRServiceTicket *) - fetchJournalMessage:withListener:
 
(GTLRServiceTicket *) - fetchMessageAttachment:onMessage:withListener:
 
(id) - init [implementation]
 
(void) - connectToLogin [implementation]
 
(void) - signedIn: [implementation]
 
(void) - signedOut: [implementation]
 

Properties

GTLRGmailService * service
 

Detailed Description

Definition at line 17 of file Z5GmailDataController.h.

Method Documentation

◆ addDataListener:()

- (void) addDataListener: (id<Z5GmailDataListener>)  ear

Definition at line 40 of file Z5GmailDataController.m.

40  : (id<Z5GmailDataListener>)ear
41 {
42  [self connectToLogin];
43  [localDataListeners addObject:ear];
44 }

◆ connectToLogin()

- (void) connectToLogin
implementation

Definition at line 49 of file Z5GmailDataController.m.

50 {
51  Z5GoogleLoginController *loginControl = [[[Z5DataController sharedInstance] remoteDataController] loginController];
52  [loginControl addLoginListener:self];
53 }
void addLoginListener:(id< Z5GoogleLoginListener > ear)
instancetype sharedInstance()
Singleton interface to both core and remote data sources.

◆ fetchJournalHeaders:()

- (void) fetchJournalHeaders: (id<Z5GmailDataListener>)  listener

Definition at line 75 of file Z5GmailDataController.m.

75  :(id<Z5GmailDataListener>)listener
76 {
77 // self.output.text = @"Getting journal headers...";
78  GTLRGmailQuery_UsersMessagesList *query2 = [GTLRGmailQuery_UsersMessagesList queryWithUserId:@"me"];
79  query2.maxResults = 1000;
80  // query2.fields
81  [query2 setQ:@"subject:(Nutrition Journal Information)"];
82  [self.service executeQuery:query2 delegate:listener didFinishSelector:@selector(rcvdNutriJournInfoHeadersWithTicket:finishedWithObject:error:)];
83 }

◆ fetchJournalMessage:withListener:()

- (GTLRServiceTicket *) fetchJournalMessage: (NSString *)  identifier
withListener: (id<Z5GmailDataListener>)  listener 

Definition at line 85 of file Z5GmailDataController.m.

85  :(NSString *) identifier withListener: (id<Z5GmailDataListener>)listener
86 {
87  GTLRGmailQuery_UsersMessagesGet *query3 = [GTLRGmailQuery_UsersMessagesGet queryWithUserId:@"me" identifier:identifier];
88  [query3 setFormat:kGTLRGmailFormatFull];
89  NSLog(@"GmailController.fetchJournalMessage: identifier: %@", identifier);
90 
91  return [self.service executeQuery:query3 delegate:listener didFinishSelector:@selector(rcvdMessageWithTicket:finishedWithObject:error:)];
92 }

◆ fetchMessageAttachment:onMessage:withListener:()

- (GTLRServiceTicket *) fetchMessageAttachment: (NSString *)  identifier
onMessage: (NSString *)  msgId
withListener: (id<Z5GmailDataListener>)  listener 

Definition at line 93 of file Z5GmailDataController.m.

93  :(NSString *) identifier
94  onMessage:(NSString *) msgId
95  withListener: (id<Z5GmailDataListener>)listener
96 {
97  GTLRGmailQuery_UsersMessagesAttachmentsGet *queryAttachment = [GTLRGmailQuery_UsersMessagesAttachmentsGet queryWithUserId:@"me" messageId:msgId identifier:identifier];
98 
99  queryAttachment.executionParameters.ticketProperties = @{ @"Message ID": msgId };
100  return [self.service executeQuery:queryAttachment delegate:listener didFinishSelector:@selector(rcvdAttachmentWithTicket:finishedWithObject:error:)];
101 
102 }

◆ init()

- (id) init
implementation

Definition at line 27 of file Z5GmailDataController.m.

28 {
29  // Initialize the service object.
30  self.service = [[GTLRGmailService alloc] init];
31 
32  messageByUidDictionary = [[NSMutableDictionary alloc] init];
33  nutritionJournalDataTitleKey = @"Nutrition Journal Information";
34  localDataListeners = [[NSMutableArray alloc] init];
35  mesgUidDictionary = [[NSMutableDictionary alloc] init];
36 
37  return self;
38 }
NSMutableArray * localDataListeners
NSMutableDictionary * mesgUidDictionary
NSString * nutritionJournalDataTitleKey

◆ removeDataListener:()

- (void) removeDataListener: (id<Z5GmailDataListener>)  ear

Definition at line 45 of file Z5GmailDataController.m.

45  : (id<Z5GmailDataListener>)ear
46 {
47  [localDataListeners removeObject:ear];
48 }

◆ signedIn:()

- (void) signedIn: (GIDGoogleUser *)  user
implementation

Definition at line 56 of file Z5GmailDataController.m.

56  : (GIDGoogleUser *)user
57 {
58  NSLog(@"GmailDataController.signedIn: %@", user.profile.name);
59  // signedInUser = user;
60  // self.signedIn = [NSNumber numberWithBool:YES];
61 
62  // NSString *fullName = user.profile.name;
63  // self.signedIn = [NSNumber numberWithBool:YES];
64  self.service.authorizer = user.authentication.fetcherAuthorizer;
65  self.service.shouldFetchNextPages = true;
66 
67  NSLog(@"GmailDataController.signedIn: auth: %@", self.service.authorizer );
68 }
GIDProfileData * profile
Definition: GIDGoogleUser.h:24
id< GTMFetcherAuthorizationProtocol > fetcherAuthorizer()
GTLRGmailService * service
NSString * name
GIDAuthentication * authentication
Definition: GIDGoogleUser.h:27

◆ signedOut:()

- (void) signedOut: (GIDGoogleUser *)  user
implementation

Definition at line 69 of file Z5GmailDataController.m.

69  :(GIDGoogleUser *)user
70 {
71  self.service.authorizer = nil;
72 }

Property Documentation

◆ service

- (GTLRGmailService*) service
readwritenonatomicstrong

Definition at line 19 of file Z5GmailDataController.h.


The documentation for this class was generated from the following files: