86 lines
2.2 KiB
Mathematica
86 lines
2.2 KiB
Mathematica
|
/*
|
||
|
Copyright (C) 2005 SKYRIX Software AG
|
||
|
|
||
|
This file is part of OpenGroupware.org.
|
||
|
|
||
|
OGo is free software; you can redistribute it and/or modify it under
|
||
|
the terms of the GNU Lesser General Public License as published by the
|
||
|
Free Software Foundation; either version 2, or (at your option) any
|
||
|
later version.
|
||
|
|
||
|
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
|
||
|
WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
|
||
|
License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU Lesser General Public
|
||
|
License along with OGo; see the file COPYING. If not, write to the
|
||
|
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||
|
02111-1307, USA.
|
||
|
*/
|
||
|
|
||
|
#include "AgenorUserManager.h"
|
||
|
#include "common.h"
|
||
|
|
||
|
static void usage(NSArray *args) {
|
||
|
fprintf(stderr, "usage: %s <uid1> <uid2> <uid3>\n",
|
||
|
[[args objectAtIndex:0] cString]);
|
||
|
}
|
||
|
|
||
|
static void handleUID(NSString *uid, AgenorUserManager *userManager) {
|
||
|
NSArray *emails;
|
||
|
NSString *primary;
|
||
|
unsigned i, count;
|
||
|
|
||
|
primary = [userManager getEmailForUID:uid];
|
||
|
emails = [userManager getSharedMailboxEMailsForUID:uid];
|
||
|
|
||
|
printf("%s:", [uid cString]);
|
||
|
|
||
|
if ([primary length] > 0)
|
||
|
printf(" %s\n", [primary cString]);
|
||
|
else
|
||
|
printf(" <no primary email found>\n");
|
||
|
|
||
|
if ((count = [emails count]) == 0) {
|
||
|
printf(" <no shares with emitter access>\n");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
for (i = 0; i < count; i++)
|
||
|
printf(" %s\n", [[emails objectAtIndex:i] cString]);
|
||
|
}
|
||
|
|
||
|
static void doIt(NSArray *args) {
|
||
|
AgenorUserManager *userManager;
|
||
|
NSEnumerator *e;
|
||
|
NSString *uid;
|
||
|
|
||
|
if ([args count] < 2) {
|
||
|
usage(args);
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
userManager = [AgenorUserManager sharedUserManager];
|
||
|
|
||
|
e = [args objectEnumerator];
|
||
|
[e nextObject]; /* consume the command name */
|
||
|
|
||
|
while ((uid = [e nextObject]) != nil)
|
||
|
handleUID(uid, userManager);
|
||
|
}
|
||
|
|
||
|
int main(int argc, char **argv, char **env) {
|
||
|
NSAutoreleasePool *pool;
|
||
|
|
||
|
pool = [[NSAutoreleasePool alloc] init];
|
||
|
#if LIB_FOUNDATION_LIBRARY
|
||
|
[NSProcessInfo initializeWithArguments:argv count:argc environment:env];
|
||
|
#endif
|
||
|
|
||
|
doIt([[NSProcessInfo processInfo] argumentsWithoutDefaults]);
|
||
|
|
||
|
[pool release];
|
||
|
return 0;
|
||
|
}
|