jaromail

a commandline tool to easily and privately handle your e-mail
git clone git://parazyd.org/jaromail.git
Log | Files | Refs | Submodules | README

commit 0ec34d7154d42a04d115ae3bf1429857a69252a3
parent 405918fefc557d80115d82dfb8440eccf5293f51
Author: Jaromil <jaromil@dyne.org>
Date:   Mon, 19 Mar 2012 21:10:24 +0100

lbdb module for Apple/OSX

Diffstat:
Aaux/lbdb-ABQuery/ABQuery.m | 72++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aaux/lbdb-ABQuery/ABQuery_Prefix.h | 7+++++++
Aaux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.pbxproj | 221+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aaux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.xcworkspace/contents.xcworkspacedata | 7+++++++
Aaux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.xcworkspace/xcuserdata/jaromil.xcuserdatad/UserInterfaceState.xcuserstate | 0
Aaux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/xcuserdata/jaromil.xcuserdatad/xcschemes/lbdb-ABQuery.xcscheme | 85+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aaux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/xcuserdata/jaromil.xcuserdatad/xcschemes/xcschememanagement.plist | 22++++++++++++++++++++++
7 files changed, 414 insertions(+), 0 deletions(-)

diff --git a/aux/lbdb-ABQuery/ABQuery.m b/aux/lbdb-ABQuery/ABQuery.m @@ -0,0 +1,72 @@ +/* ABQuery + * + * Copyright 2003 Brendan Cully <brendan@kublai.com> + * 2012 Denis Roio <jaromil@dyne.org> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301,, USA. + * + */ + +#import <Foundation/Foundation.h> +#import <AddressBook/AddressBook.h> + +int main (int argc, const char *argv[]) { + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; + ABAddressBook *book = [ABAddressBook sharedAddressBook]; + ABSearchElement *firstNameSearch, *lastNameSearch, *emailSearch, *search; + NSArray *searchTerms; + NSArray *results; + NSEnumerator *addressEnum; + ABPerson *person; + if(argc<2) exit(0); + NSString *key = [NSString stringWithUTF8String:argv[1]]; + firstNameSearch = [ABPerson searchElementForProperty:kABFirstNameProperty + label:nil + key:nil + value:key + comparison:kABContainsSubStringCaseInsensitive]; + lastNameSearch = [ABPerson searchElementForProperty:kABLastNameProperty + label:nil + key:nil + value:key + comparison:kABContainsSubStringCaseInsensitive]; + emailSearch = [ABPerson searchElementForProperty:kABEmailProperty + label:nil + key:nil + value:key + comparison:kABContainsSubStringCaseInsensitive]; + searchTerms = [NSArray arrayWithObjects:firstNameSearch, lastNameSearch, emailSearch, nil]; + search = [ABSearchElement searchElementForConjunction:kABSearchOr + children:searchTerms]; + results = [book recordsMatchingSearchElement:search]; + + addressEnum = [results objectEnumerator]; + + while (person = (ABPerson*)[addressEnum nextObject]) { + NSString *fullName = [NSString stringWithFormat:@"%@ %@", [[person valueForProperty:kABFirstNameProperty] description], [[person valueForProperty:kABLastNameProperty] description]]; + + ABMultiValue *emails = [person valueForProperty:kABEmailProperty]; + int count = [emails count]; + int i; + for (i = 0; i < count; i++) { + NSString *email = [emails valueAtIndex:i]; + printf("%s\t%s\t(AddressBook)\n", [email cString], [fullName UTF8String]); + } + } + + [pool release]; + + return 0; +} diff --git a/aux/lbdb-ABQuery/ABQuery_Prefix.h b/aux/lbdb-ABQuery/ABQuery_Prefix.h @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'ABQuery' target in the 'ABQuery' project. +// + +#ifdef __OBJC__ + #import <Foundation/Foundation.h> +#endif diff --git a/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.pbxproj b/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.pbxproj @@ -0,0 +1,221 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 58D5E1831517C541005AD1D6 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 58D5E1821517C541005AD1D6 /* CoreFoundation.framework */; }; + 58D5E1861517C541005AD1D6 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = 58D5E1851517C541005AD1D6 /* main.c */; }; + 58D5E1881517C541005AD1D6 /* lbdb_ABQuery.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = 58D5E1871517C541005AD1D6 /* lbdb_ABQuery.1 */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + 58D5E17C1517C541005AD1D6 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + 58D5E1881517C541005AD1D6 /* lbdb_ABQuery.1 in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + 58D5E17E1517C541005AD1D6 /* lbdb-ABQuery */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "lbdb-ABQuery"; sourceTree = BUILT_PRODUCTS_DIR; }; + 58D5E1821517C541005AD1D6 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 58D5E1851517C541005AD1D6 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = "<group>"; }; + 58D5E1871517C541005AD1D6 /* lbdb_ABQuery.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = lbdb_ABQuery.1; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 58D5E17B1517C541005AD1D6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 58D5E1831517C541005AD1D6 /* CoreFoundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 58D5E1731517C541005AD1D6 = { + isa = PBXGroup; + children = ( + 58D5E1841517C541005AD1D6 /* lbdb-ABQuery */, + 58D5E1811517C541005AD1D6 /* Frameworks */, + 58D5E17F1517C541005AD1D6 /* Products */, + ); + sourceTree = "<group>"; + }; + 58D5E17F1517C541005AD1D6 /* Products */ = { + isa = PBXGroup; + children = ( + 58D5E17E1517C541005AD1D6 /* lbdb-ABQuery */, + ); + name = Products; + sourceTree = "<group>"; + }; + 58D5E1811517C541005AD1D6 /* Frameworks */ = { + isa = PBXGroup; + children = ( + 58D5E1821517C541005AD1D6 /* CoreFoundation.framework */, + ); + name = Frameworks; + sourceTree = "<group>"; + }; + 58D5E1841517C541005AD1D6 /* lbdb-ABQuery */ = { + isa = PBXGroup; + children = ( + 58D5E1851517C541005AD1D6 /* main.c */, + 58D5E1871517C541005AD1D6 /* lbdb_ABQuery.1 */, + ); + path = "lbdb-ABQuery"; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 58D5E17D1517C541005AD1D6 /* lbdb-ABQuery */ = { + isa = PBXNativeTarget; + buildConfigurationList = 58D5E18B1517C541005AD1D6 /* Build configuration list for PBXNativeTarget "lbdb-ABQuery" */; + buildPhases = ( + 58D5E17A1517C541005AD1D6 /* Sources */, + 58D5E17B1517C541005AD1D6 /* Frameworks */, + 58D5E17C1517C541005AD1D6 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "lbdb-ABQuery"; + productName = "lbdb-ABQuery"; + productReference = 58D5E17E1517C541005AD1D6 /* lbdb-ABQuery */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 58D5E1751517C541005AD1D6 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0430; + ORGANIZATIONNAME = Dyne.org; + }; + buildConfigurationList = 58D5E1781517C541005AD1D6 /* Build configuration list for PBXProject "lbdb-ABQuery" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 58D5E1731517C541005AD1D6; + productRefGroup = 58D5E17F1517C541005AD1D6 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 58D5E17D1517C541005AD1D6 /* lbdb-ABQuery */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + 58D5E17A1517C541005AD1D6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 58D5E1861517C541005AD1D6 /* main.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + 58D5E1891517C541005AD1D6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + 58D5E18A1517C541005AD1D6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; + SDKROOT = macosx; + }; + name = Release; + }; + 58D5E18C1517C541005AD1D6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 58D5E18D1517C541005AD1D6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 58D5E1781517C541005AD1D6 /* Build configuration list for PBXProject "lbdb-ABQuery" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58D5E1891517C541005AD1D6 /* Debug */, + 58D5E18A1517C541005AD1D6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 58D5E18B1517C541005AD1D6 /* Build configuration list for PBXNativeTarget "lbdb-ABQuery" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 58D5E18C1517C541005AD1D6 /* Debug */, + 58D5E18D1517C541005AD1D6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = 58D5E1751517C541005AD1D6 /* Project object */; +} diff --git a/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Workspace + version = "1.0"> + <FileRef + location = "self:lbdb-ABQuery.xcodeproj"> + </FileRef> +</Workspace> diff --git a/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.xcworkspace/xcuserdata/jaromil.xcuserdatad/UserInterfaceState.xcuserstate b/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/project.xcworkspace/xcuserdata/jaromil.xcuserdatad/UserInterfaceState.xcuserstate Binary files differ. diff --git a/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/xcuserdata/jaromil.xcuserdatad/xcschemes/lbdb-ABQuery.xcscheme b/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/xcuserdata/jaromil.xcuserdatad/xcschemes/lbdb-ABQuery.xcscheme @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Scheme + version = "1.3"> + <BuildAction + parallelizeBuildables = "YES" + buildImplicitDependencies = "YES"> + <BuildActionEntries> + <BuildActionEntry + buildForTesting = "YES" + buildForRunning = "YES" + buildForProfiling = "YES" + buildForArchiving = "YES" + buildForAnalyzing = "YES"> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "58D5E17D1517C541005AD1D6" + BuildableName = "lbdb-ABQuery" + BlueprintName = "lbdb-ABQuery" + ReferencedContainer = "container:lbdb-ABQuery.xcodeproj"> + </BuildableReference> + </BuildActionEntry> + </BuildActionEntries> + </BuildAction> + <TestAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + shouldUseLaunchSchemeArgsEnv = "YES" + buildConfiguration = "Debug"> + <Testables> + </Testables> + <MacroExpansion> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "58D5E17D1517C541005AD1D6" + BuildableName = "lbdb-ABQuery" + BlueprintName = "lbdb-ABQuery" + ReferencedContainer = "container:lbdb-ABQuery.xcodeproj"> + </BuildableReference> + </MacroExpansion> + </TestAction> + <LaunchAction + selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" + selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + launchStyle = "0" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Debug" + ignoresPersistentStateOnLaunch = "NO" + debugDocumentVersioning = "YES" + allowLocationSimulation = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "58D5E17D1517C541005AD1D6" + BuildableName = "lbdb-ABQuery" + BlueprintName = "lbdb-ABQuery" + ReferencedContainer = "container:lbdb-ABQuery.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + <AdditionalOptions> + </AdditionalOptions> + </LaunchAction> + <ProfileAction + shouldUseLaunchSchemeArgsEnv = "YES" + savedToolIdentifier = "" + useCustomWorkingDirectory = "NO" + buildConfiguration = "Release" + debugDocumentVersioning = "YES"> + <BuildableProductRunnable> + <BuildableReference + BuildableIdentifier = "primary" + BlueprintIdentifier = "58D5E17D1517C541005AD1D6" + BuildableName = "lbdb-ABQuery" + BlueprintName = "lbdb-ABQuery" + ReferencedContainer = "container:lbdb-ABQuery.xcodeproj"> + </BuildableReference> + </BuildableProductRunnable> + </ProfileAction> + <AnalyzeAction + buildConfiguration = "Debug"> + </AnalyzeAction> + <ArchiveAction + buildConfiguration = "Release" + revealArchiveInOrganizer = "YES"> + </ArchiveAction> +</Scheme> diff --git a/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/xcuserdata/jaromil.xcuserdatad/xcschemes/xcschememanagement.plist b/aux/lbdb-ABQuery/lbdb-ABQuery.xcodeproj/xcuserdata/jaromil.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>SchemeUserState</key> + <dict> + <key>lbdb-ABQuery.xcscheme</key> + <dict> + <key>orderHint</key> + <integer>0</integer> + </dict> + </dict> + <key>SuppressBuildableAutocreation</key> + <dict> + <key>58D5E17D1517C541005AD1D6</key> + <dict> + <key>primary</key> + <true/> + </dict> + </dict> +</dict> +</plist>