From c054c8c038c0e6f4638b66a6b5dd76b49da6b5ca Mon Sep 17 00:00:00 2001 From: Dima4ka <dima4ka007@gmail.com> Date: Wed, 9 Apr 2014 01:41:51 -0400 Subject: [PATCH] Event File (*.ics) attachment implemented --- .../project.pbxproj | 16 + .../AppIcon.appiconset/Contents.json | 9 +- .../AppIcon.appiconset/rsz_1rsz_1rsz_icon.png | Bin 0 -> 4974 bytes .../AppIcon.appiconset/rsz_1rsz_icon.png | Bin 0 -> 7312 bytes .../AppIcon.appiconset/rsz_icon.png | Bin 0 -> 11429 bytes .../LaunchImage.launchimage/BackGround4.png | Bin 0 -> 86082 bytes .../LaunchImage.launchimage/BackGround5S.png | Bin 0 -> 93939 bytes .../LaunchImage.launchimage/Contents.json | 6 +- .../WPICalendarEventCreatorAppIcon.png | Bin 0 -> 31541 bytes WPI Calendar Event Creator/WPIModel.m | 31 +- .../iCalObjCSDK/.svn/entries | 581 ++++++++++++++++++ .../.svn/text-base/CGICalendar.h.svn-base | 39 ++ .../.svn/text-base/CGICalendar.m.svn-base | 221 +++++++ .../text-base/CGICalendarComponent.h.svn-base | 129 ++++ .../text-base/CGICalendarComponent.m.svn-base | 523 ++++++++++++++++ .../CGICalendarContentLine.h.svn-base | 41 ++ .../CGICalendarContentLine.m.svn-base | 184 ++++++ .../text-base/CGICalendarObject.h.svn-base | 42 ++ .../text-base/CGICalendarObject.m.svn-base | 129 ++++ .../text-base/CGICalendarParameter.h.svn-base | 18 + .../text-base/CGICalendarParameter.m.svn-base | 46 ++ .../text-base/CGICalendarProperty.h.svn-base | 78 +++ .../text-base/CGICalendarProperty.m.svn-base | 228 +++++++ .../text-base/CGICalendarValue.h.svn-base | 50 ++ .../text-base/CGICalendarValue.m.svn-base | 77 +++ .../text-base/NSDate+CGICalendar.h.svn-base | 16 + .../text-base/NSDate+CGICalendar.m.svn-base | 49 ++ .../iCalObjCSDK/CGICalendar.h | 39 ++ .../iCalObjCSDK/CGICalendar.m | 217 +++++++ .../iCalObjCSDK/CGICalendarComponent.h | 129 ++++ .../iCalObjCSDK/CGICalendarComponent.m | 523 ++++++++++++++++ .../iCalObjCSDK/CGICalendarContentLine.h | 41 ++ .../iCalObjCSDK/CGICalendarContentLine.m | 183 ++++++ .../iCalObjCSDK/CGICalendarObject.h | 42 ++ .../iCalObjCSDK/CGICalendarObject.m | 129 ++++ .../iCalObjCSDK/CGICalendarParameter.h | 18 + .../iCalObjCSDK/CGICalendarParameter.m | 46 ++ .../iCalObjCSDK/CGICalendarProperty.h | 78 +++ .../iCalObjCSDK/CGICalendarProperty.m | 228 +++++++ .../iCalObjCSDK/CGICalendarValue.h | 50 ++ .../iCalObjCSDK/CGICalendarValue.m | 77 +++ .../iCalObjCSDK/NSDate+CGICalendar.h | 16 + .../iCalObjCSDK/NSDate+CGICalendar.m | 49 ++ .../rsz_wpicalendareventcreatorappicon.png | Bin 0 -> 10914 bytes 44 files changed, 4371 insertions(+), 7 deletions(-) create mode 100644 WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_1rsz_1rsz_icon.png create mode 100644 WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_1rsz_icon.png create mode 100644 WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_icon.png create mode 100644 WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/BackGround4.png create mode 100644 WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/BackGround5S.png create mode 100644 WPI Calendar Event Creator/WPICalendarEventCreatorAppIcon.png create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/entries create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.h.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.m.svn-base create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.m create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.h create mode 100755 WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.m create mode 100644 WPI Calendar Event Creator/rsz_wpicalendareventcreatorappicon.png diff --git a/WPI Calendar Event Creator.xcodeproj/project.pbxproj b/WPI Calendar Event Creator.xcodeproj/project.pbxproj index 86c4881..c75cbd9 100644 --- a/WPI Calendar Event Creator.xcodeproj/project.pbxproj +++ b/WPI Calendar Event Creator.xcodeproj/project.pbxproj @@ -375,6 +375,8 @@ C74BF58618E3BB4F00856171 /* tutorial6.png in Resources */ = {isa = PBXBuildFile; fileRef = C74BF58018E3BB4F00856171 /* tutorial6.png */; }; C74BF58718E3BB4F00856171 /* tutorial7.png in Resources */ = {isa = PBXBuildFile; fileRef = C74BF58118E3BB4F00856171 /* tutorial7.png */; }; C74BF58918E3BF3B00856171 /* tutorial0.png in Resources */ = {isa = PBXBuildFile; fileRef = C74BF58818E3BF3B00856171 /* tutorial0.png */; }; + C74BF58C18E4C1FC00856171 /* WPICalendarEventCreatorAppIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = C74BF58B18E4C1FC00856171 /* WPICalendarEventCreatorAppIcon.png */; }; + C74BF58E18E4C2F000856171 /* rsz_wpicalendareventcreatorappicon.png in Resources */ = {isa = PBXBuildFile; fileRef = C74BF58D18E4C2F000856171 /* rsz_wpicalendareventcreatorappicon.png */; }; C751D4DA18AB046600CFA0FF /* camesano-formal.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C751D4D918AB046600CFA0FF /* camesano-formal.jpg */; }; C751D4DC18AB04B900CFA0FF /* clark-formal.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C751D4DB18AB04B900CFA0FF /* clark-formal.jpg */; }; C751D4DE18AB04F500CFA0FF /* Ravi_Recent_rdax_161x179.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C751D4DD18AB04F500CFA0FF /* Ravi_Recent_rdax_161x179.jpg */; }; @@ -890,6 +892,8 @@ C74BF58018E3BB4F00856171 /* tutorial6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tutorial6.png; sourceTree = "<group>"; }; C74BF58118E3BB4F00856171 /* tutorial7.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tutorial7.png; sourceTree = "<group>"; }; C74BF58818E3BF3B00856171 /* tutorial0.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = tutorial0.png; sourceTree = "<group>"; }; + C74BF58B18E4C1FC00856171 /* WPICalendarEventCreatorAppIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = WPICalendarEventCreatorAppIcon.png; sourceTree = "<group>"; }; + C74BF58D18E4C2F000856171 /* rsz_wpicalendareventcreatorappicon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rsz_wpicalendareventcreatorappicon.png; sourceTree = "<group>"; }; C751D4D918AB046600CFA0FF /* camesano-formal.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "camesano-formal.jpg"; sourceTree = "<group>"; }; C751D4DB18AB04B900CFA0FF /* clark-formal.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = "clark-formal.jpg"; sourceTree = "<group>"; }; C751D4DD18AB04F500CFA0FF /* Ravi_Recent_rdax_161x179.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Ravi_Recent_rdax_161x179.jpg; sourceTree = "<group>"; }; @@ -1134,6 +1138,7 @@ 2C490FD01846A99B00440D04 /* Supporting Files */ = { isa = PBXGroup; children = ( + C74BF58A18E4C1EB00856171 /* Icons and Images */, 2C49103E1847043100440D04 /* preview.html */, 2C4910111846DA3500440D04 /* Model */, 2C490FD11846A99B00440D04 /* WPI Calendar Event Creator-Info.plist */, @@ -1748,6 +1753,15 @@ name = Tutorial; sourceTree = "<group>"; }; + C74BF58A18E4C1EB00856171 /* Icons and Images */ = { + isa = PBXGroup; + children = ( + C74BF58D18E4C2F000856171 /* rsz_wpicalendareventcreatorappicon.png */, + C74BF58B18E4C1FC00856171 /* WPICalendarEventCreatorAppIcon.png */, + ); + name = "Icons and Images"; + sourceTree = "<group>"; + }; C751D4D818AB044F00CFA0FF /* Chemical Engineering */ = { isa = PBXGroup; children = ( @@ -2209,6 +2223,7 @@ C740EC2018AEB83B00C3A701 /* brian-meacham-formal_rdax_161x121.jpg in Resources */, C740ED7118AECD4600C3A701 /* Stapleton_Informal-001_rdax_161x121.jpg in Resources */, C740ED8E18AED3BA00C3A701 /* boynton_rdax_300x200.jpg in Resources */, + C74BF58C18E4C1FC00856171 /* WPICalendarEventCreatorAppIcon.png in Resources */, C740ECF018AEC31400C3A701 /* me-chierichetti-profile.jpg in Resources */, C74BF58318E3BB4F00856171 /* tutorial3.png in Resources */, C740ECFB18AEC36500C3A701 /* me-demetriou-profile.jpg in Resources */, @@ -2242,6 +2257,7 @@ C740EDC618AED73000C3A701 /* sports-and-recreation-center-complex.jpg in Resources */, C740ECA318AEC0E900C3A701 /* math-formal-farr.jpg in Resources */, 2C3BEE971859533D00BC6753 /* borderTextView.png in Resources */, + C74BF58E18E4C2F000856171 /* rsz_wpicalendareventcreatorappicon.png in Resources */, C740EC5A18AEBD3E00C3A701 /* hua-deloray-profile.jpg in Resources */, C740ED5018AEC81F00C3A701 /* johnson-large-new.jpg in Resources */, C751D56C18AB155C00CFA0FF /* cs-rich-formal.jpg in Resources */, diff --git a/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/Contents.json b/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/Contents.json index a396706..dc2f18f 100644 --- a/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/Contents.json @@ -1,18 +1,21 @@ { "images" : [ { - "idiom" : "iphone", "size" : "29x29", + "idiom" : "iphone", + "filename" : "rsz_1rsz_1rsz_icon.png", "scale" : "2x" }, { - "idiom" : "iphone", "size" : "40x40", + "idiom" : "iphone", + "filename" : "rsz_1rsz_icon.png", "scale" : "2x" }, { - "idiom" : "iphone", "size" : "60x60", + "idiom" : "iphone", + "filename" : "rsz_icon.png", "scale" : "2x" } ], diff --git a/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_1rsz_1rsz_icon.png b/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_1rsz_1rsz_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7d6b31e54d560fd3e2ecec3c1b285cb802b7e511 GIT binary patch literal 4974 zcmeAS@N?(olHy`uVBq!ia0y~yV6XyV4mJh`hKIYoG#D5dSkfJR9T^xl_H+M9WMyDr zU@Q)DcVbv~PUa;81A{`cN02WALzNl>LqiJ#!!HH~hK3gm45bDP46hOx7_4S6Fo+k- z*%fHRz`($k<n8Xl@E-&h>|H*Yfq{Xuz$3Dlfq`2Xgc%uT&5>YW5K8uRaSX}0cXw8G z&YY_=kJUe~nf~)xl6BwQjmhfUlIM6oKEkOOb9z~T#@kgFluB<aHEM`v1cpx77M-E3 z6&kW(b=a2OYr>+p-ddOOpCOPXHrKl|W4p&}wk-}jR8<9po<FiEd-KEY@y}<w=M;bI z&rf@^q%WCibx@zlr;2Aa>F27?eYSi5dEfI6_glASgmrNjTSn!~o}Qle=Dbe4-1Yje zt3Ta1%wJz()tAq)^`2n%-NlKLP7w^pBp6s41h)P^f6e9T`<qpqfiDwzy8A<<{XJ)F zT59veYv<~N+vdO9^SJM>vHky@|E?Zssr9U_wUIi$CrD@0nN0%!_Z6uglGt|jYNxuJ z+mrjxKA(!X7T?Q$@Ot{=AGaJ<=0q4eF=v&DCEkvhH~oxvb^w<Sw_<AUBBzcgdkr}> z4ZRu-Id0p%{rsw0w(W(+A;0B<)28+WMjp9*Y>m#Q4LU7B3_F}AY+7@3PVWEjpF&=> zJFT?;lak_6w{h#$Jy9AG$}HDxf7;xV_;};PhCkPXJnvq-QE`65`~M|MJm$Z>EKf<q z&RuaKO6T?K!{<^u)YK+4Jl$n+Q%9*!v1>w*QY*vKN$+LZh1)D%nuKY!eyd%QtK8}! z!5pQ$ROR|j&%?jIt_b23X7SJzKKw{Rk>%2+Nru|zUpg_qv|!WpU9wd#`|UZctqa#& z5tlj5m2X%1>1RdRwOcXa?(NSNmroU%9GLR=%Q@?_^VY3v_xthBIXG|%t5P(Fj-pP_ zL?^F{#qalSiK(|O-Mjb3P8qAdi8pn!-|gyN5#p3)^uoez>S>PK$0VFXbQV3DG3|U! zn`n4^??fX<cZo$)4@orNy>Vh!e%)lBeEqUoTP+^LV+)!X0v-Kgv=nosMO{yn%nCKX z-{Y~ACCb~|>$G2)^{lQ%ZzjCA|B@AcoxiT?`P?+4t~HrUTejXUoy(nLJ@4K7|G!om z?AgC2B!{z+@wS9=fy|+ko?&(0He2kJssHnB`^SFS#V=23zx;7&I)|FN=k~3FV%;Tm zKTj|DR9Pf#w&B;b=oPm&Fp9R7+%1znt-rhHP;~ypx9`%P_L>J-RZY3aF2BUa$jQL& zT-WM#k8Yf=b31%(?UL~I$Id>F+?dSXJ3Zd7HeY|`wJ@vv-Mwx5>{?!L`ggB-X2nNW zujBp7vEs=+3_6-Ed|SgB4a5Due?NaK>b;!+OW)Tw+j4h3`7LiN%JToAc51Yf2lFN` znM0d8x?QKm*I8aFmHc^F-eY})<KJs*O>*w_Jgq!(`SO;ya@mdVm2+md-HY>kbEk82 zjivaVI&1d2Pr`?Sm#=vJN@>pAr7u67zWCHAFId=JzOp4GSa|LHUm_pR@ErYDcPnp? z;O>3%e)URETq&~g{pAbSkKgdtU%05lr`p>1_jltzXN)7(aYw1|i+QN2+0wDaY~wZg z*q4?6i<8U02fpSz|Cz1k|NQi+w{#pNH~1|!PZsEN&P-^y=3hVS*xA{h<)s%ZJ{~=? zROsOm7B@|==H`@Jw=H)TtDoDHDssP0digrOx4%<%?>bRhl8|n+<EPE4kVEoPPR9)& z?=F9AX1eiDm$n8kkHOA#{@&Z$7oSdTtN$!LOK*42#Ps>Bnw)KI2P8@aCcJ&8CMCVt z#Gt`vsb6yK<QZ#~lK0%0u`ER5-|~vOudif<1GgBP9b<M`dO1@>e~HWV(<e%19qZOR zBroIg(=IPq_~~TziQ9aCUeS~?%T>~w+QH3QBA^gEy&|pc4Xb#A;gmjE<*h}kPF_tH z19i?T%gD2zUbJpG`}(a@SMII8=-5yo(=<^~$}IN~!@-roGc4S0lr^;-b7S};tiI~P z+SZL+$<haII8B+p`(1qZ+}vDy9qq5*8<^H?K4z(DSm+a?le9Fb^J8I8$=zG)j&I(~ zx!FxnqPaw-C3Rtqe2YhzU6;WzmGhx7%xeRm8d>pdEZ!OAF|p4%MvGA)S6b^Kho)iR zl$v>7s`GVawohfyPL2Gp@-O@8sp(U%-DZ8UDu14>7xxjHLWBRcrf$btnevK_%dC7Y z3<InAlArx!^6-q&QCqmo>gFoNsW-e#+4R-i#D1>JnymX&`<i(1&iB$D^A!`OnSI#v z{m`b4Wy>>nzO%B*-#fLW+WPYE@4~(P*Tr0a)+w<~QJOU?>1dy9##&8&-o_~z_m3Yj zwBp$)^L$R5&PGn=%-5f9zOg@5xvw%#*|U?6Dd?xo-SRsJ8{gOVPd;yRcoVn&lHc0# zj0*K{x29NGT}V7J>vq2Sw_3Bh$I>Tq%s9o%@AqDt730q@YkvRC6YcdX`?4aR=O$iN z<JGh_bF=ci6Z2@A9#5vIYl@V#@Fht(H&?-(TeB|)y8OG9ZMe_B?5tEzP=&58D3>Vj z|8INQz3)QV->-Xqo>2aBr$Tw=Iz7L4cRUU3`fgun=zRRybW>VzPS2KqYP0v=U-f3G z&HJU^CsZveCmqYZeWLzNGRJA9yZ8K7?w6NsTXOrBMBOvVPvNnw(_Af#n1Yh7Uu_IZ z3191U#L$XkM$JRkKMNJtlvrK7_`Gpz<(qD{Bad};kIma|{QRx3)0LL$)27!KOkGs* zLO`ucqrY#`{$E+A7B6Ob{P@cHX!nl~9Jd6e+`6S9XXo>8)oO{mTeTD4TBylLuU2Jv zZax3iW<v$J)6aXO?>_tdEyyqVYC#s4qUyBgic8iAPA$3Xvi?`yrf4UXBabUxE?>U! z^{eT!wUR&Oo~twn2=wbkr@g7X{b$~6f#Q`ju5Aq!-4^?M|EWEnov-{kze@4h-fgRV z4He@4KGp9{zRlTJIsf*|bsJ`6?-Ab~c_e_-rLf1s!XV*J2-n)LG1LAlW*(DRGNr|_ zK~|jWgn~!HS4Cry<O@MU?TXtrtWnYM{`t^o(=$P)#K;@V7HOaT{YGBigyZ(}<OlPs z1Mlfhmq^}lzP%yDl;_XPS*ellPemvmiPtOfZOyqS|02saygoLEb^49-8Mf?uD@*UQ z3a2Zc^O~?MNNsIb|976)iC(IwRQtq5uWzlJdg@T*hsi28CTJ)ub?{n}t3G+HRQyd% zVb>X6H$VF%w+M82wKiGUeb;mp-4(j}=pL_zi&CbRoKea~GnY&$6nndJ*>XcKMdO*9 zxeM0@1_w*5oj9+(;O-OiW5)xJDp~OuCUP80cv=*3divuv5sY37yN+5WYoBb^5}Uk6 zbF$~Y=!Cq`**%6gK1Xh0Q&u!^DtNQ+x5m5M$Gh}v8oyP)Q=B(%-QNX)T-vjb+7~n= z$N!dE6|msvwCIezuk{|ST)DGTvvtkt<h1X3ef6)SZ}9S#*!?k>d3LsB^(W7^{onVd zBp*92?A+>5CFhr|J(F91$;)N4PvqY3(-N8FdLm6z-sZ%_-S68plFs(mxuiXI3t2cp z=ToFoOAJSnTHnUkuM2PA>R@Bne0Q^1YpP%S1VfJNso%a{*ZlrnxW7NR=I7HTS^;bS zhOq9=HU51{n}wM<qPN!~H`nvzk^lv(LZ&Ut9?r_n*!4ARR{qY`UE1qiM7w?dJQA1L z_qR-KUd^Uy+ryrV_xB3+_BqMud%n5BEg97s_w7;lM!D*qf`SPJ6*I29y85E%rwPZ| zecz-mecn)H*`(~=;pSHGsnSQ_$_c0GUQ@okbM^3i*QLFo*wRNv-A-H8FI#)=|4;fS zN_IWlfAE3AVSd{qXEvWV`ttYv<ack6zJ53FbMAH5`G)t8&YB}1=VQ86h$&QWa@=;l z-8*Myq_F(Ipja@+@>z+@l`}j`ZL14*@A_btr(#n#=hMZ-Tdh`Kl$z)z$ipwZ=QCfJ znRnUiYf+U)&Uim9S=caZhJ&x)B5u|_eSBee>+M%=&F=J{oAhe?e%GqFwfisbI`(aA zc<C9|IPUj5r_4||5WBT2q};r!OsxL@KbA>T4HRwrKRrA=rC&~UbEWakwb6lz9si%r zE)H1rt@^d@qKAoh&iU;reeKu&-6k$!-n%|^wGFdppNy;0bkjU^xcy?_lqYM`h0fb- zvwPh)&-B|7!!R@Nw99G?UitfG9tiUa;Cg6rX5Tj{t3J=~-zNP#;V#gyKVRO8XR<)R z%mZ&;uU~v<f=|5sxh_%DOO~tGtd{7#7I8CYQ*dETne#dBU7r&fmi+!Duu|mdzq&)g z%LV#^yJv2${-&^0WpADByIH0YJ7xYgG9Q^dnUgt6Y*oO4^*_?fet+BPb(m@4gDsum zzgXP+6d1JU`yX4g<J_O;(>_f~=ias`=)C9p==R%}oNP>{{8^FP{8*s3@6r3)?YpZ? zSDy2`Q!_8bo&DhfhfC*6Cx4#Y$at!q@8OfrDZhUC-9Nj^LqKVz@Y&ADIor&*&fA}V z<E^h~+keMZ{H*7G<CC9dc3qcfwpnc?#3bCd<koG^uU{5)9X;Z&tNn3zGdpL$y!z%; zZogpRFtz6Gg~>%h+v@Fam>t^o@qSfzMu|xNVYZ;Tb6*tgeD?b4BhjeEQ<<)_-gY~C z&gk2V#XNP-ty`R(pOn2>@Nic41@5D#RIf}wr~7I#$ITlayS7h%`F!5t`}^fZ+alIQ ze?I@_+uMM~khIHcYV&F)UD{WB^5pa>Q|?tTFE+i|t#{~DTBo|YzxwKsu8fi?&gOSp zuHNb4WLmUP@zCSrf_=_^)$KixH}k6{YH|Ea3D5S~-LZaN@RjiW-rv6_TJrrn*u3Ip zrc1K&=Jk7;zSwNKy)E&Ofo4ShosOv|AMF2Ywkp73m)_F7)e~2W?0kEBvc!%H`5{TU zUyj==#fb0TIrHiCIIq9Q?ayuUuUS;~L{Utb?fHh}k2N72B?1%T_RH<wI`zekjV`?* zH%#wdZoYnZZU^)Aqp#l`i{0Aw;YHx0ix*iQvGYxc+RT=JxQ%7oG}H1k36UpV`$V;0 z{QB50JXP6cQR(YflcWk3PEg_gJimInFULlX*I|7hOLq2LzSXt8O!wmxm4h3TTaNb$ z_VrD=xleZWLdL}*Mh~B*?fLq;Gd+!?UtZm!W=2L@+nZ}^Eqr}X?tJ;Db#D3c6X%{5 zL`N6Snmut{_pG_T33mT23KjRqG(|*ADSiGrZsy4e_cpQevbguD*l|43+gtL^X=+eM zh*o0Qf|?fsOZQf12W_f)uv_6tkLQ+r0hN_AgNm>IG8Qa9R&(|@)7@1}7iXQBrt6{k z@qQKeVpBh7=9%~I9Vyp(bXUW5*>>^Mn}i<Cn&<cH>sQqe(K_Gfif7$>ziG8V5@X>0 z02^MWJ@e%5d@K92xBBAKqD4iwZe<k)hNL8~+AY0(ar33@^$WdKFYVpy84=mwllAK5 zU5T<Zp17pR&qG8-A0|BiyyV(C*WTWR%a%<ln0Qj<rrXjtiH8K#=c`}6>>T5{V)N~7 ziJ_aO+6Ov|#>Q@b7-KeX<)UY?%m$yG&rWjvJCh@fYo_1im#@9^T6gNr%)OmeD*f!| z$}cvTW}B<?yta6vxAV!Dy3ezNUYxQ$uyo4KXTKNoHC_Jt-m;~+;_KD$sn07v#fU4l z<O=)y3d-5ek|;jN+7a^VOH|O(coRd%iZ>F63O`g;P1=&XZ{ON)((>vSRU+E6kG_5x zDJ7yk-R9KazYG<3?{@e+TVtxL$nvx(vRgd9rf|`^b?XANbB`pQN#U{JGn#s6lF;Md z+^bif3Z3&xRsHR6?)4>G=Ra31RlFa+X@6$&fzOjJzbUHRcxbMmQ%BN9i`3~}OAqgi zdAEq=UfM@h-osDqCQRv`X6Cz-XK7IHl4)1o$Httx5S5&kHc57M-+lunUWK&ubpG4P z$;tXArlzqek<%>G1$R$U51U&TXc+5zY5J}Fg%Z1OgiPCD;KZ?bN>WbFo65=;7Z%2g zcDvr+q?2gpqV9W4A~|xJhFJH%h0g7DshMlrudR=-_be{{Y&9vnNWSZ{vto<Uv53Ea z|L(8;^YM6n0xuumtiHa!h0~@@J8y1gW>r}9_^19amx%1#pp{cB3LmxX&%VBH_xy@S zorlB9%gYa6_P4Js`1|Xt(){!Fd-m;%a}QMc7u0(-O8WfgFDrwWuX#Sd{$C@zT*ZTn z@7}$$S{<O#aqir?H^Kh4TdVKxD&;*rU4Q?UjT;4*PFc0#1N*&aTw5g+TRz$N_x1Fg zxVyXj|LxlEcfTK)Wtwfo%*@=lbgNjPNawnBdfz+M=lzKF_V%7|GDR<XTTZ0bR2jKU z+v6QcE03=D|33Vx+kqR~*2*3i^wM0tfB*hJcZ$#dJzT#3_g(hu>tbKev8goTYElpi z^778k-MMb|spp?p9z1yP(sR4-J7ulQ-u&2I`uf`26VE@tEV1hS({QiwLe%5mc8eD; z{%8Gu&*tpw>tgxszg`L69kw=Vs-&ze?;!)87J*e<zL`B6TLt{0qoaQv=@eEyu=in` z^tv0HQcr(<`}Xa0-RNy=wCDO=_tad=-_dyL``<%Xu3Wh&tnT;cy>$Mbk6+f;|9vgq zuwn0BTVoTGC(_AEiY_@l7yq+Qvgc3nTDD{x0|SF<iEBhjN@7W>RdP{kVo554k%6I! zu7R<xk$H%rnU#sLm7$TYfr*uY!3oEW%qSXi^HVa@DsgMrDZ{y+fq{X+)78&qol`;+ E0E5|*c>n+a literal 0 HcmV?d00001 diff --git a/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_1rsz_icon.png b/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_1rsz_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0a23bd03a89e0f86d77c4dfcdbdda634bcc5020d GIT binary patch literal 7312 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 Y61N7~Z_#fU7#J8lUHx3vIVCg!0G^{a!vFvP literal 0 HcmV?d00001 diff --git a/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_icon.png b/WPI Calendar Event Creator/Images.xcassets/AppIcon.appiconset/rsz_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f5dcf87537f36d0a043aac307563dceec94d5f4f GIT binary patch literal 11429 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 Sbb^6_fx*+&&t;ucLK6V8ti0g> literal 0 HcmV?d00001 diff --git a/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/BackGround4.png b/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/BackGround4.png new file mode 100644 index 0000000000000000000000000000000000000000..fff55ba9ecb6ebbb9d04224ec6dc2d41b93949ad GIT binary patch literal 86082 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 literal 0 HcmV?d00001 diff --git a/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/BackGround5S.png b/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/BackGround5S.png new file mode 100644 index 0000000000000000000000000000000000000000..9787537cc7b189a1088fcc3b627097a493367e25 GIT binary patch literal 93939 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 literal 0 HcmV?d00001 diff --git a/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/Contents.json b/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/Contents.json index c79ebd3..93f97a3 100644 --- a/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/Contents.json +++ b/WPI Calendar Event Creator/Images.xcassets/LaunchImage.launchimage/Contents.json @@ -5,14 +5,16 @@ "idiom" : "iphone", "extent" : "full-screen", "minimum-system-version" : "7.0", + "filename" : "BackGround4.png", "scale" : "2x" }, { - "orientation" : "portrait", + "extent" : "full-screen", "idiom" : "iphone", "subtype" : "retina4", - "extent" : "full-screen", + "filename" : "BackGround5S.png", "minimum-system-version" : "7.0", + "orientation" : "portrait", "scale" : "2x" } ], diff --git a/WPI Calendar Event Creator/WPICalendarEventCreatorAppIcon.png b/WPI Calendar Event Creator/WPICalendarEventCreatorAppIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..6d75ceb8e9ef30090d5724fec9220e5e543f6166 GIT binary patch literal 31541 zcmeAS@N?(olHy`uVBq!ia0y~yU=#si4mJh`hF1kAD;XFVI14-?iy0WWg+Z8+Vb&Z8 z1_oEf%#etZ2wxwo<osN{#FYG`RK1Ga0tOJUv9BmdOwLX%QAkQn&&;z`dcS+Wl0s&R ztx~wDuYqrYb81GWM^#a3aFt(3a#eP+Wr~u$9hXgoRYh(=ZfZ%QLPc&)Ua?h$trFN= ztGr?>kg&dz0$52&wylyQ$U=n(-v9;Y{GwC^Q$17NWCJ5Z1#?S1LsJt=Lqi<}BLhQY zeM19%BTHRFLn{+=D?>8{C{VKFQczH^DN0GR3UYCST33{kW~-D@Qc_^0uU}qXu2*iX zmtT~wZ)j<0sc&GUZ)Bufl#-@fT$xvrSfQI&tPC*(W{yj0adJ^+K}lwQo&w0+#H9Sv z5?duDkVQ~i6`&SX<QDk)!mY|HhK62pey)B+Vu8M)o`HUDu0A%M#U(+h2uEVoSsYSX zkg6Y)TAW{6l$;urnx>51AlI@I{7yhM$h9mruLP@66}biY4Z>!BN-|teL1|GAIG|IK z^;2_Fb5rw5iuDck46z14K}LQ_esM-V4lCi(;6TJ?aY<$xjsOJ7;MA5{k%>baNCu(} zoTeaAZ3B*CEB~U*^vt}(9GCp$QjotqUF<4y3-nSlQ>+XOEes3|%}or<jSS2z3=J*J z4c(k9ES$|;j17%Ujht=taT<Y0QBZ5J7;kB8X<?9Rk))eylxCo7Vs2!io0ytnpqprs zoMvp8Vwh}XW(KnYNjrwoo_WP3iFwJXP?u+BrdXM#8k(6TCRyrQB&C|`niv}z>n0hQ zB<m)pni?jWCz)BKBqqX)M$(R9v`cDHW?5>ATTy;4IKvbq78R$060fZiEcL>37&KJD z$=@my(@kjxX2~gLmX^B7rUquZCdtN0x`~EHCc0^friSKbhL*-DiIz6{7}^nT0_9?e zbP8r%5f_*k+Oe6QPf3b^*nq_dgiWx3M+#ibWa*JvT#{c@i6jB?KB&+NPAx<gg-PUO z5*bJEm~t&Eu}Vw^6^C}kiDjuNpx{RmLpT|t17uNg2}l8!=uJ#9HA+pfNYOP+Gc(sU zF*HimO*At%(KRzqHZe^zFfmF_v4EM6q#d^%<r%4Yc18w<Cb|a3x<=+9hGteqmR6=l zx&|gz1_m&rz^ZT?Qk<VwQl40p>X@FIS7HaLkOE-klY+Cef`)Hma%LW=ywZdjiK+*; z*~uA+dFiPscKR@lFadNeHu|7=%gLlcv?b@~m8BMykPvkRiA9OIsU@jJ#dc|+Y@L~# zn4YR%ke9AdlCO|hP>_?EoCr!0`ek`3&`J+pV#7R&WCk7mngS_|V2*$$TyzH@5-E}^ z;lZRZ#QaQgwj{P(M9bB<LlvCiMzbZnM1(SIAO#~dQBoXj#8#G+M4PdJm4WeSX$lHL zXtcqL33AF9aLGcT00ot?@B$ZR2~s(Qp6zH@b5O4|9XfudI9n3eu7(r^<Ti4KRknmA zVALinto@7G#0B-0telHd6HD@oLh|!-2sYR%atlz@Bk~Wzs8pB4l2r7Dq=A)*A*|?w z8v;>@W`=KmN@iLm7Bf)d31kM6N^~<)OA=EOOA?7P1z9bUIVs6jY57IDi6wSO1qebA zNhQ3wX62lplV9YUpOR{4Y@?4&7^|+3)QS?H#7a;L5g`w1R)JcvPKoK%X~rU)1GdXA zF*nsNJirs#od^jOcR*@f8#DtzuEuHrSOVPuNV=p}lN`+{V81vg=A`DOBo--vM`aYC zshTqH5osm~K8Az?YNR5&5o8oN8j6u(-3Bxa0~$C<%_{--73>Uc^fAN`K@L$L0U9yL zDFyW{?97b}3=9nP4M8MSE3!1Y)=2zXk)_eKB6No4WtP|(L2W}5M$!cuD}rR4;DW^D zR68?MQ)5#beRN@T9RZmYsW}lYnYpQX#hLkec1GrAP)+DESan9?)QKbm)d`6+q_IqJ z)IdaoT-@xqZ1llHu%O{suoNW2(2#^WjD|KSC@73tLQ?pS2G?kCkrV<XDIQH-qrpW| z2#}<BG<A&z7fB&NlH$?SH5yzbg#by4M^o2maFG-OBq<(EU8BK8QV5Wwcr<m51{X;o zK$7Co)HNDhB!vJ;ibqq|XmF7f0wgIOO<kkGMN$Zmq<A!SjRqG<AwZJi(bP2>TqK16 zNs32P*JyB&6apkE9!*`N!9`LCkfeAtb&UoWNg+Uz;?dMK8eAlW07;5RQ`cy4krV<X zDIQH-qrpW|2#}<BG<A&z7fB&Nl4886iwkk?Norn-tx~y?z1@Nrb<Y_X7!;B{f_xbm zs#F;m8k!jxe*R}*Xn4uMP-?)y@G60U!D<ErgLwX=_@izN45odaE{-7;x8BUHEQz@~ z_1*sJ>>%D*s@|UzvOjdBIzM8(dE|!LvcoAA?^;@19{yzYc%J%3ZNdSr$P!_zBPH!6 z%X$6U-yM0&dT2vIl5lfnLi@o49qED&^&Zpds@WQzOIJR#-eVu4<rQ>w@AGR*v?~8! zTeWmyUg+JIHCw;i{eE-y<R+dbg$|bkmo*hQnpj#DID|x+6g&brpoF6$LKGnd5>)^Z zFb#UaU%dQ_WXy&8XD&YNw`783xV+2CC!KX{@g72aN^{>ImW=H1sF#ef5Rz7sT`QcY z#^tk&n@jxoXB91%O-Eh2OAno8DV$m6C@CXzWlL>b+`O=f3W183e0{F05!TD8Q3;Lt z^yyRDv;|+*L@nKQ_R%sm-9-X{A$4Zi(>|unUVH37Vfc&2tiH!u77w~Mi0iT@EZgXC zq`{rdjxV^qc$3a{PKRQLY3KJESyerIcrR{$(+robeuwru*hg+qc&jV!r<pXnD{`K{ zm`;bQ#}${B>a=q*w?C~}lihn@tIhG;M-AsM)%yD^K3Nnr>8bhO0~0UDy`N}pZSAfc zp_Wyz9upyEZklN?rh3-H-7!&QlBUw9M|XDa44>h%{iVgb)iN6@KTZAUDfDMji^GS9 z)0bTMZ0E^z^}l-3uQ0ZRNA|uijXv4%9BiNXJn_*_kF=ACfz!Uv`TR3(*WSg+9<Dx< z)O3vF0v2^}F8}h|{p!_tgQ7dvOAq8e&g)h={h>q2W)jPGg#*%Rax4?GHdV-p?UhTL z*B-f?`TxrspE?elu8X`^8(RE1TPsOPJt`z^&4MFJD$7@`-k<ekhkUWa*&Q7{T}o}t zj5}N>zDrWd-T0#9grP(Nx3IXR#pCHu>mx7T*`pqM$mlT(>nmep;ky0C=HcHLFIu#o zy){LUVMmjakrv03Z32?d^=^KtdLqHI;Z@1wtipr(r~iLiUt4?L&e%jnEjS`=)&h;r zlOlmX7p%%^?tNa)lAdCq#3AwF_e16Kwi%2wD&$z*lsA3-Rk-y>MaZOoiJ{)7rMZ%X zrmr}o;`mTvjSwHhx3ja&vp1gn(!#gHnaw~(M97|#(~#MatyR^1Jv+Mt%e?<bp6||o zeYAToSCZ0kB`ssefQU7dE}Wkn8fqR{`ENgi$Zl6bTRVA9&cd4<-km2|PS4POQs8;X z-2V2ZB7>#{M{?GxL<I!J?rVtjsf!6ov5Jn}d-v4m->i{(?><!(UVN-*sHi9XXHrYI z9RIF8aU7dsa-RPDo4$JW_WwIpoLKV7RYp%j^DLYH($+(-9u?$=g`Cm8{Q9-!g0c{S z3vWL=PSL#M6|?V!1>aIN;hZYllm!dD1zwqL-5SdirE0j_VP@9C0<N%=EypjOIyE)5 z>TfkemTaB9)!sNE;YXX?r=*rt?JfB6mmwf}+4cS9TQ(J?E-@6zJhSvvkY{V_p^eA9 z?N+S1HRbH*dX5vD)}DUdnl4r3nRfMR;x}G%h3&hfo<(j>*bw!w(8A!#ot|%dt1m{! z%U`aJ`+GY6(Bpy!AG$;{OBefH-`88ePDuCnw})@a_c>=7ac=f&-?T<Y!XmH4WzxPK ztCl|Xy|&|2inr=z9T73ZhYSVsp`o>wv!C-<sGdwK-yN){cJ1owjqfff#{4}UpLFlp z*%K?*{Q1HpCcb#fHZg6v3Wa^r3wK!5=3g?ox4q=}uBuWm`}4|O8+PCQ;5A8i_H+K4 zkkGHGtlX+gr*+x+9(ht`eExk|_o8)|U$;(45<kAH%Jka%o5GviX3ejc+uP1}@aw<d z3=GMYmY=SzUp{fN3g48esZZ*j->*;(v-@Xp=IBvPdp5^ug%=+moU=w}vFq~Ne*;6O zzFReI+H>`z0XsbHofl17GxhYZmtvEJr%s)H#^(R;M8^xI)q5{bdb#Uc`TpjES+4(Q z8vl6kZui6Ox7BUlZ@-;fRN67Kcj1DBC|zsMX%`=UTwtQ@J$>=@|JOTDotkI5c5S}j z@)aL0YpS_xX@xy|Rie+s-Bh^iNXo@;Zw<u7l^+zjiU>D(q^B_4jni*qJvd|a<-G+< z79~9`*=4`7YoU+e<msnRpYHzp%YLVe;r7$7TU-2}?+^O9;@73=3=F!}-w&m4H{P%J z{+M*(RpavshpXQweqI@Tqvn-J*!$b<d!+N{Y<l}dI^omdT~(&*s-8*a*p+fc@7lHD z;ok2XGJb#4ynXiPyYh`oS96~(d)LCV;E}rh!ClVn8<wu-p6x&P(5AW8i5mL-KO{H5 zdbQ!*1;slTuCz$cngwE>`T4GV@w?g69#3w(VD|X8<-c7S&;8%dX|X@nU-)N-vh3|2 zmK^r~Qs#y`S6Xf>DSf!P-$ux)O*b}n;oIO^es6|dd*XJu7;cYP|Nrvor%#`*Sv2XL z9{+JAweL@!&(`WamR>t4<cg*5w39pdb2daVGR&?2(Y);Xy8nOQGcp`ryH+AA&n>Ui z)GIqXFe<wH@%Q`va&F=)RdTj1{(nYtM|IVN;K<ISx3?|Kc<Lpy_usDz+Zq#gp1IS? zU3hk(v&Nd0jt8DP9eCQbbB9D|^!7zBR;~VUZC9zVUGm3oZzJ~PM!$If@LJfDkg!La z?f+{2IzPwr#K+#~%Bl80Ij7bC|INAAZ~DC&;Z{@A8Q;z8n?0(nf4509FgTw*tH^D9 z^Lgoxt)gtRbxZ#9Y~R+mclv45+-Y9RuXk6b6$dW8xa0Y}KYw2TyZ!Qu;SPHlp@_rN z{3p#&m^FjpL0v$=hYp?7;pG)Jn*0a+IF5ydw&pcmOkkKc7397D<zKH>WZ$)#b7Pli zd)OL>)B9=}8kSDp_j7S#^j@j?wNC_DV)SJ8|F4tT`>zUw|NPwb`a=CP9<J=H4Hdt? zX|C5^v(nKoRkiPay?tEl28Q)|5e=8E%NP#aSio6*_Rjk{a}~AuZ|?QlPo4U3ZRzU| zubNnYq<qg4xpqb6%@3Y1?P+&P#ebcjbMWKu_s6Zv?@pcY`pVBYn>lvG7(}eqSh;%k zr<#|ywlXw)+glx66!*8x`d-v_zU6ZDHeYUSzqa;p^y_QB0;^tjtvs=5&ntFT*8T=X zd)13!-1AioXXdPIkvp!fy<NiM-97Kj2^-Spn(LbgY`GL1Z?Af<NU`GZ(~z)35pnB& z$#K_zV3t@Dw&l%T>xa_!^S3{~v%Zd%L1X{RWgY8nfA;^kcxbw|-?pv0ou8SZD{LLl z-+IRahHY<dxBJW06dbCq`ShUqMP7!-i;tXn=6!MXwpFiQKdkv0x~#Y|J3Rb|`@dfE zwsY?PUtShoGqHd>zosnjPtB4?dzNWG<}6_A+x@*F_31Q?MT^YRE+2c^nKHHI$NQU` zxr<76E&u)JU#4f&?4J4xi#+44OV;sKo}PZ#D4mbT?Dq1ctvNHZ8p`iI+o&~lt#!Fy z<+-1)Rx3`v9T8{ua4(ZyxXbiY7cUqnwjbM8Rr=!lw%FZDyM^2N7jM~SmUukfzQREB z`l{OZ_Y9|NXY}?M+e<KW|G$$m|9Z)B?XDM}e+Q<R*!{h~IbDDE^Gi$raXb$8+p>GI zhGSsYY@ZDQ*JhmU-@&3-pP*A)ajS6q_I4eS+pn(9x-)OmE~_;a4;n9QdAP&#T$iqn z<g2#F$EWJ9^lUc2^}Ode)3N#6^`e%%y2QF@i(%*2A8gIjTEzYxnQ-`Ga6G?%LA}?j zR~Lfg`I9Rxxu)yS7hv{2T6va*?N8l|O1t{rn}0YO-urhgRfzmJB_u*4IlDwlYu&|@ zpUijfjZ^Tw_RQjbrTUlZk6*7Re>uW=w(-ie+TRzpWrx4my1lHtJ=Uu7(fJMcd0kx> z*1Hy4A1j<|YyE8($9rQ#BlDM)Ti-5zGyB=&*?;PEu1`<BuXge4yWJ~p?GoLbzk|{C zyj^!>^tP5y?Z>|Bt3EgFOZHH`8>g?OJ1t*s?TU(jv$kzpEcj?gX8OVcox;i4I%2i^ z{J!V!wUci#vHH00TUm*@$$~B0#IBa#X`D9y|D2bl-1|QAGB|wRS8MV4ZN9slen1?P zRn@ng7xnc&fA4R%&(PKEJE*bWy}EA8M#C>>vtl=^ElPOx`SbEUaj!pa{1g9rqsyYw z>v|!%ce^fa%}$(QFTc5Yo$upyv6{B)Kgu|338qN$?U&!|v#fsiv82fID{sXX$wVDm zBVu<jNl5d<;lI_Mo^!)R!g<)3GRrUN+x#_QI1m)mbDp(1Kda~WrM~j}b6*@=6M0x} ze`Y?vuj#qJzphU%%2}-Lci?RS1A|tRlHp9t+2-m`e@rU1IlOkQLB!e_TT{6~(IxcV z<7nmFM?$`rLkzi_8yWU2+VSYVx7WY&Egx4V$t>{+xWdxL++dov`QD+z@85saWL6%U z%g*1njEy@xtKjd;%PXp0EaYrHZc%UN_3D*V@U(gNHhR@;Zr&{L_;$?K8_Bcmb{kp< zfJ#Y_!j*;7OtTZ_*xRproLyI!Q|bQo+S-UeKOQgqZhUTj|9P9=IT~z&evA6_CAaMV zW5kf~a{E5k=Br%4U$6H+UCGK2K7&;v)5<#b#mAos4|h~wpK-RTRsUaRY2}O<S%y24 zmoAN$5^ZUH8RN0*>2v$`)oXdR<!S_`J$kh9$Qq85k%!l=eX(-AdvdL9*uO8!HSX_` ztUTVQ_@GE}`6eO8?bcIFjyWBl?0?8AUv65??Y5`)|JzNwQyQLO&_CVJVsA40W^J*z zH;Sg~x&C~1Heyq*^t2Y$9gGKF%33c|S)}^vN5oED8$IE++Yb*c^lZBR@y+IlqU*66 zSelPcOj{pR7<X8A*_=~eSL{Brd^jTf!oHa8z1xOg%dT#nuF}JC=#aX%_x>%*wtlT- zU9XpST|Kf=L$PpU(H-W$nJ-@X1b+NgB@?wzW_kG=hjM4<6QLYCVkGi%TmODYoKyYj z<OSZ_1@~(~M*d3Jw&d^E>mR@AZa;AMvhlZGIkDLs@(PoGK51kxc(QJHf_;qy<92Dw zsZ$Nk&tmn@*Pr$Mt@HbZ&OYxKfB6%??_X)nkMsX!PIZ-9%e=_TI52VdJ12L8Or1M9 z{ZD^f`KB58<M!=~rEeq{d^nEz9j|0<SX_Rm@m*Wn1<Mjw!Q(H}6a*TkK7QAqFjwV@ zSLf0LlY-u)d^&T^m(BCnVO7!c_EkrOT>h+xWZ&$o#!~UG`}&rxz2dw2ww>`Zyf^0! zllMfUcNPpWa_93;v%GFm&}09_%=qNvA2XM8b9_6dPC5}ek5lmR{i#!@R=Ipk%R1yL z@KV_OW5=Vj`?a;TdmqIf(bb7!ZB70$oB6=n6Q_2S1_+esoL<k_)FD4@qnQTBF44%y z?O7XwcBF7|O)h0(V2k{BYK6juP_+(|q!59G2~XGiNFC?g93=GgQ_Fi1IZeHDUp+2K zZL;G~`nyJ=UuEsjz{G{To*hdw1gESBK0JA9-sG#h@;n4eN`7)E{gn`6xjXI6o3A`! zU1^P-N1Yyq{5v0MnYY-S_mr>zi=pUxjYFpjr5DDD1#MnB>4b#Wi*m<FW)pWi3%q>& zjbqXl%}Y0WufI(c6;UluKXku7J|LmA^O4Z59F~ducDNRvbar*M42UyWaWks3{8q&& zzL?~VIufF;UGoK8q#g^o-nH7iGwqT@pS7y}J&98ysoGC|rZ%Z$W-&VmxFp3$UTcq^ zl<@FpYQTE-wVf4V((WdcEh6JQrkj17a_ws3xn6Un?YpF=J?M%o-_TioyIX(JY%6IY zsfj6-|CW5z_7@U5d;fct+sA}$5iF7G7I{y#$jQF;z_{PGZPA7@@yFWDx<`+05D{12 zzRPMYOX{9$9Nt?^l74Y`1hH<JsuQ4_x!|Z%;OpJSWx}<qs$7_kq$F?X+<p6@!{yKC z7eBwS@WQ0p$A5lm{J8V{Qr7(I@^(FoW=YBHes5PYdBKw13(oW^h)r~9-f7kqHr;*g zdiLkjm(=VE>3ldVLHPSV<Me_*?{+V*dHnnK?aO%=#9T9F+?L4KMV{+_@Q$HSB&y3) zL%MWUCyT0~PUWA%h^Du;%AK5!DhHfSrpsPGDI%iU-OA12wzl_t=Sm$8vkh6dc85=% z0Sb}qa`Ui1&&(MbMEC#X-B<9d<i-1fgHiQA4DvGbj*0utKlbZzd!W=py{v=2=7~=? zpMSI~`S^#{%gaBuUS1x!yWXBlt@PgNyZhy%53icK_Senx8@BG2j^4d{`JVN;XQkHE ze2c7k_$4#v?Yq8T^P>9NFWgJ8WssQo;Mb;KEFC9XWCc=ha`i1<EzQnqepe(*>*~Ud zoxd&G-n<F0N&b|u?^*f&=A}C%^4ghem-`<M3Tj$3OG?D{Ba2<!MyBWT6$)Gawk2Ht zvT(z)m#JH~YOG!>+dY}3`QW>CdOTaVDVay)n>{EyEW75hl;2lp{zTUZ-rFCqM|5=u zhDCSxm%pF);b+!y=OcX@r>|*joHQdk^F^{CFROXS<U`*&I(j*M??}$>_g$9rHcDbm zn92Lw?S0JbPJgqm{rPo$gNXRz%KLV6xL)rJF1YL)u|1i6THfupd)x0HbJ(!;`NrSx z4j<V4-fzPsP{6LZw@Wm<=6$uIqh$U1LhYyPZ*TXXS*f*lHFxL9l!p<YemsuYl`B0h z?>5`@quo0s*4$rRX5;eaT8~NQo2J}0_rl#SYo5+rQ}yK75p9h^lS2O5#q8|&SLWAC zGqdv_x__^)^8RnRB5m!9<<HKr7&10AHnU&cQm)Ui;8S)y_uu`y_tkZsF15R1V!M4) zP_T8E_P+1749UDl)S?xi%U3X*{r#;s_xsv>Ls@>o`3pKu`F>B@#3^K&>!V^6F|9%E z-9zU3IUkqB<^KNeey8rkm6e7ISFG!kIDH~|Bhxic-^;nDrzJKd7TmtJhI6O0ZlKim z?Qd?izFHfdsHxYc>$Lpv$>Yu{tyBD^)lEXD&*)mcR`<)=obF3bQ(8~nfArX?@af*~ zNmu>rtwK*UF-?=cR=#}8I=*nW-=e+w!rf0(qIU#b?UlAIRQmF7TPyeS9QQEKODrn0 z3Np^kxT;>Te8)%sYgX0HS|$@4H;64zm729<wV@uD^V+o>J$-K5Cp4X(dhKfBTVel} zJ5#1@SoSjd@|OQ+p1wPlaWib5Ro&yhFqNcf?H&gIzLk}jnk-neO^o~94(79kWjmzP zYuuI=Ue{X|^0zh7_p-lh=B#sG6_3AVgoXcjbM41Bms>k*eLj@DyEOTO+Pl}1vv;iK z@+$t!vM?a|&exZ{3o~~m2BjbTaO`b&{fFj`^^*K-{9CuFozYSb;^y?)wab>B|53<> z&gwv4P+l`xrEF5Dzjk%^j0s|${{J4^3l!`O2nlY!_4l_jmvcqY%?i1bb3A=7+b_Og zvRD7cyAr>afBT--{f=gkc)j`0kH^CEqCfq3tiiwU*_|bt$x6i?=50n--%fnGv3*&& z;(JY@vj^4QJ$Ae(8aQhQ|JH3rI}H}A`#orGmp`^@{@)xO%eVgZO}8I%9Q8SNT1jTt z*RY;>7LCV#RjuJN^F7ZC!TkP7+|Mt~&R?`*8C&YstvggR1owWux<2X45zZJMGei0F z=8+$k>L0v&Tl!ZFgT>Zl_Nhr7mK{p!Nxyd_X{Ib(VtM!L*NWVqMRRU#WR9IYYX`q? z)+0H;EywPI#Q*Mk{o&)gyDzMZ+1R>ScTSyZa3e<|EBEN}-Q|bnb2{oio>VV<v+wt@ zZQR+j{w;I5{N>sF|1$FL@9}OwY`D#<DrnoApX_o6ZYTPlInH{j?uP;2-Ky*>6@jZ} zZ4@qylF&MPX|bvEbLBrz7+=iO(|UFOVPycXN0Udq3&Y__E&E@;*5>)A$tqveGGACN zKb7^O0(YxIM~h>VlK=}Rm!p7+28-i_1p+LND<*erwGp1=u|i1NafyB4v5Y&fD}_=Q z2Bb+jrkHU`9<JH-R=`nUrlwk_m`Ia?UNLBB*hAu%%YH@HR8FP8p4TLNcPxmhe8AAv z)wSUA#Voldk8qbjm-u-34Q0AJZCD(asDtcUvi`L4>7o~o0xngP));z;Av*!&CQOHc zT?di^IT!5am5%d!%$FW*WSMwRCA(%)E4o);I$YEiEe~GMr@&Dn)UlCq@p46Htk${A za+u4^>Gb%oZE#<+6}u3NqaHsbU=X1LvLCn8T%I{~!%R??JnqD5)cNG@mPH(i1p<u^ z6FHij1=!dWc=()TBpWTPtiBaza9n!u;0Euz@6K|vvej!98o00JKjr2+Fx%(C^eGPU z5gfIFf<DF14upiU1!rphSfgWg)A*{Br|G%H?iYVPXkK+Y(k##A>f-)oHUC>C3dZbs zDz+?F`~UO$gmr6t-tu_~ovZ(OdV&n!Q|YCvxVp>U2G#DqxH<h{&EL`=QqqDu3K)wN z1itHa?cK}35bv^luKTrFrW@A9aNZ6LKe#J_@qqgM$>n=KaaC>055K$a+1zrE03*)V zlT>|fS4v4KurfX1ZJY9L{_jJq-*Tm;gY`7#_3?!oGB&*7m7a0${OxOP6aW4W*6O&| z##SLMb%Ea@KCbVMZgjwgN@E^Y))b>9GkW+>NpW*0Mr?4n`{!HL!>zZ2_th_6?r)s` z+NxCR>F?)O<$amfx6|z=3x01-*uMDx%H<cnJk?+PdHa6XgoFk+OU^Dg?bN$g+YT;1 z80B%J!M1A3U8l?p1{KY%zso-@d1W@|Aj9iNM<q-BPc$;L&8z0~Ex*^fFFd|=&ZEy> zO_L7Zn5LgDy&?VFl9K&@YHK+%1Po6;Y}me9yY!xu0>k&+?^ore-`ruC%sl_o3yrGn z`R#wj_csXe{18&nI3>pQc>D6#FD_1rVp!L2f9;P{d2;fpZ|5&xW4rk@$bSFou+%@c zkE;HbZuxiE{=ohF{)_E8&vaxaJJ;FucuzmH-l$>ezq*RuyC#^X`(@=l+W#+f_kuar z?M=PX!JF&T&#PTw>UqgF$DF^di|a*E@xs&R*wT#}&1X6VADeWW_vB;80}mVaujF*9 zu0AtgG$Y65cYl3PSNvbDwmUIWe^oTN?l0Q9byX7+!@FnCu5fgz94vj(QRZ0r-u8j@ zeb3$nd;ahH#cNb=w<+zs-;eb0H@8~X>?}Sg-8(Bzeb?O&Tec;A`I5=A|C?0HG_l-8 zm#(z*)&C6-`E%L6)umfuy81T@uE%TK_EcC~D}MWuQ8%~XqtYLq%R4?QRoQ%yv0hde zXP(Psq4#ip{>oLCbkrCYY>r5X-o~@E{7$3m{{Ob8=2vk&%U*x=*{i*u`Kp2~xB50s zs*DiRP5K>{m*H`Cd%et|r+Hakzy9r%mSzkL5udVpo!9;DbA=nOURm%d-Tv?#^?40> z*L0pu|Mvb4XMVc6CIhF}6br9By&j%0uLV0TRd;eOuK(%%rrDM?OeFY^%kpGDnK^lh zCu6sAh5Fm`3a@79QmXp?Mv>K{+>tY0X2z@b(z8<A4qmyl=4Gwv{ALG+yw)F{*KTb+ z^}GC$%O}>>gF&0u#PiR+Ima?y>*voE6>khB!q+4S|7B)3iPnsI-~CdC|KyJC`qJF2 z3^_gKlYamC`DB-{*5!?r=64q4xX!ijKX4)7(l>tzsiyaf`>&i&&&@q{m)UBy=u>`s z9y|5+%-;vM-&fn*#G-o2T+5luj$w!0AA_Cu|7mfSOl##1oz7h`Ny0txtc2gQl0qXx zG4bSU{PiccyuEN*KUhqc(<|l6&6@^>Yb-z3{!nz;Ze7Xzt(kw(?%!_8K1-JxgoXRh z7CpKt&BH!F?$oE!Nsj-vUO%*<U}2TU(#^v6`uKvFgr;cRUlksIcFWx5TTM0R>sQ%) z*z-N^%5z`s@TSWz6K2`lrv-LJ2S{8KSIypK5n5m+`)PY#YH{H5#9nbuuVp)IPfzoG z?fYb3furHx`!aJ(4Ogjj|MZ*Ja$<tmdeQoPeWtT#SKW?WzsKnD`_?&ESI^w`Im@R{ zSx?z<<ECSQNgmzlRq<1Qc!m}H_bGn9sykR{jfQx)_R-H9bYo|I{N7Y}P3J|Zjw8bd zf9FVUp(#9$>06b$AI?7c`Cjz|R>g<&?N>c`$I!5IRhCbL#HE{)1>F+`gFgTIdLeSH z@uNC}*uvIVW{oO4_p4|aAN5M?SbQQ*--h#F8kfb~584qLHFb8Iyu6(cEjPRTxKG(q zPiYd1xU=V>oMRRtZV{S1(-xQ*Ie9rWEmF|vc~-T^n{|iXPnVyw>%YF@{OY$kD{D&a z@5jd#fBxmXZGY{n>ouOadVLkmvwdDQO*%41UTBJB!_r-|Rt6L<;?`T~dwiBUr^mFe zRwZ^O&bhrwE6*>QZ7ZGDmjBhKu{)7b$+5|(Fd#z5z<9>ncge>aT$ak8-jubo>11bl z<kP3Ge$O~?Q$xI&JN5P!P1VrH!L4sTujFq!<P^jtBqF+bZenczjoaMu<>gLx=da)8 zefY?=)%a{X(<Vj7#2JkR>MIJi>TnboE}5C`WtbJlvOKs}z+l-+;a6vFoNE+27P@KO zGBt_j#!EZ){S8e^*>r8q%uN^0O_<JJo2tsfy8T$~mlrL|!Z$w3%MI24ZsEMF`|wBY z&Kd#b=A{yK_5IOHW^MB~Kiw<Fo+UD6m6pTuVEGJAEzt$f{362F_3W7+_)mV<2R-pU zJk3sDEhHbQKP!E`VDrtizTL_kAB;l2nopTJG1IYWQBgu<q(OXf?=J^$hm{PGA`h!x z>!vn#PvTEZ+pt8)P}=m=gj4f7S9eeSaO16y>ki+^F@a4iu9HIr{1$8!Y&>}IN8X)p zWlvYS&y$~B*`=bvGnXk=YF4YO)2FJ3i5b%qgJ&K)XVNC=6|*UhxrwE9uW#m@Y|AUB zY~8x%x6ISl4=+7?=Xl@ItN#vPy|N_gU0`?+ld<yzi{J@+;&=?N^ghio6A}>;F*_3) z>Ql+_PU6>dABhcGUqjb$c{5fl4lM18F0y#gn{0OK=!E>_-S2iun#SI#e-W_a<gQ1B z`S<30s=KbDF|(?`P5I30>#MoFWHjGRI?vwkWwkp>)sp*gNUlwx$n}qpUopSlJb$j? z^}E;a_U@Z&J#*XHyIVR#8dzMLZyz>@*ehShaq)5I%fEMheJ3z8x=y~eNa)LEgA%(E zW3#8TdJK%1<PZC_m$vzcd&lWp)qUhX!Na=c%hahS<~g3`@dyZF2)64|Ie7V+*zN86 zPdRMQyRl%Fb5h!j)B<BRiREwRpZcZ5aAMWkRy*rzw+_$W$^C{`PqQ{W%CBLTan53N zZ2I&vVeJZr;~PZopEdZPWVq^)-wg>b%@><DhekJWlvVri9*9Wm$a#G&b>HmEmz%H6 z|HC48Y|-Uosi!A=-+6u_(}V>XHV(~<V$*7-NGwZhohbMt<dbzoEGM_K^QQ=@2E(b< zXA(BY^RZm`{%Uo`-sf^ZBD(uO+ob(};hr*g!h$1hQy2c6{QQRDS=Q-S?r_$Iiu&|q z{uN_;cyZR%*Y96DJE+cBJ=>J~Syxxj?q!EA2>gnx=It%N-+S-vZAD&w<Ne!y?E9Ut zaOI;V1(7A)X`PEt=!x%<m7T>leU^3N?G25!@{(TRyZq)byxTXs_P>PIzDV;t7IWUq zN15~Y^A@|Z_8dKWAyUVO>Cx*~O}lqWuKRw!{rB7L$*0bq{Cn$qK+Wf~CZCL511_Z& zCRjv1efprdC}jW9JH5Sv;S9xrtM=~>+2kK7-Ot#taf86GRazWeo@I@npDXh4I?kVc zT1|sTd+PG+T|0h1Y_~U^TwJ_RTenruUVhF+4m)k`O$rW0yA}EPoOV=9)NGCGeY5{> z^qGCn=j~Yav;Y3}O~>9|J{Rh9Nn)>#j)>p-_Mfw|A5?t}4V}Iy;d7c<`Jsmn4w}mj ze%@f@!|uO9EGye^$)v5X^D-Uzk~<mAz5lc<e3rFoVq2R6FR$W+Bj-=-e=axW+Ew3f zQ#ZpYGbP*;Gq@L~E?h9nI&t0Ft1&NTE@kD&ewelYFr(wr#?WiCOwU~NJ9h8E&!02) z)>@x>w`cN^78cd5g(4dlGymIXXXY5VQZB!D;RR!FnWJZCBp(cVnXBd_t}S<e?e;~# zzVCOR=T%(Q6f^I}BaO<+2_a!()lt!jI$A-+4xy`$AKz4TJtT<f?i@=2YwN{%k8A(e zdf3g+`k1=xtF^I-_mxeB%3b@vnV!{CcNF6?mN|d;(1vx#4^MdT?CqPD6&oV@&!6qh zWz{}@aMib5tuCL|)v>(1r^NRyNN`)b>1lD%g!=2TD^{&{KdRh6Va9|7OCHSbPQ2E7 zbZNk9x%|6ZG@mWe<Zez~ye;6u{rl@JqFH*@>Ye*?MDOsUqu>Ct|0*K(_hY}t?QOh~ z#w(KSciLp~dDn{EKRJ2Ap12Q@kr!EA*WO8%3EnuZmHR5|(>IX`r>DI*zxjy2M3=wn z<V)@HZQIxK{_Er8u(h4g)~@)wW`di$;_kZ-c-TJt{P`fq>_t&=;tXT<wo5@0UELE+ z>+Lo@J2zMGb-zb|k!7DzI^T~)N*-Q~;hs&)_u8&Hsne}=C+p*6i?DZTXXo+m+aM5B zUthBQ&5w^8m#ov+ET*G9dF^GJ*q9GL&tHC_JYD^A|Frh0iH<Ye4=(+1>uncjQJZUb z!W>iWb+ubooZ08W%=|&KgrQ{b|9y{M`>qZ<IAOYbxxHi4q)8TChh|A`{c639Wlcir z$(fyEGk7iLa;$i=>PCjtR0T&*9-TrFe`n__rAm2Q{|K`g28i0W)rj~{vEcMhHIHWc zHc`PNfMLd|QwxG48FhGhT;6DCbSvHQdR<;2cg?l?(Y@mzx4L(Qg@_~uukJtn{MjY1 zXr*En)tbVDC_9F2zch4pgT(??9`!#n|F_KLQ<0_?bNSMy%31E~w`+Rx)vxqq$Ta>4 z`~N?8>=uYS*Yb{&cP{hgpN?W)N{=*nBo|E-x^rb&axTx`DKle@w@T?vVtK!0tJR?w z8h^ATH(j=k^_kFW^qHkqvF}l@z>HAsf|S&VJIA|b9xVNI>#eZsgoXP9tk&qMc?6_| z$)sM>c@biyRV!c1a`HX@_SlDE9_i1yxrA<MoQ?@(^i$l)$6#~ztnmLZO~K4vpS&cv zxL&MN_XrT;I(~4~wo73m4|kVnep!D1VL;6O<hwfz7p{D>=iq`{3}>uQ?hTyXxG69& zt%*g|Gmqa{M)l6p0{=~H%XqG-gxGCfv1j@FD=R06s&X^gXfa040y$@rss_*Mz`coj zEw{9uq?nuvy6f)A6&ZN1kMHQSuo^$VD{XIC9GisHk3C9y5t=0TurYFJ=!s)Xy{~4k zIHII6b?U0#E63BTu6RjBtl!<YteaD4%91Eet)Ci?8zWD?Z}(sLVDnVP^{UIdCr@qF znYuEgeuKp1D2Fn&uOPcG39XKjaTR&^`i;!#S)xZXJAGG7b^5@jE8OqZTAj@!`h>$t zd-_)1GeOlyZeLp#lNY$$+hbSlmD-q1EPuVkPPKAR*c10dl;vndFmrOE;@!6_ks2qD z1VnJ`^;&T0_8pl`OiFw|ve$>|9242TV8xsG1v@46rt;i-lf8ba^;`u<&(7P6C-pzF ztQL!FWz0^^Xp`f&S}m$J)y}3lf8WZQ9x16lL6)61A33~ydE2JMboJYHMM?59<Z$|I z4;Rv%?{xFzMEie+uZrhfJr%;&sBpr`lOe6m!fVSdja`wO6ZG``f7wMnI#IYW?-t9w zgay`fPxx@F%2rEj&uiFYBO#{m*08Yl*p!325}Ox&on+wHsjPT*TFUe{MaoxhM>zj% zDzW9$il3k}UFq1Q4zpu&hYP#o^7MKP*9rNxdb<gzXgtjG?`hVPeEBVK?G%ZuwG!)h zFdci8wCey1r<YczYDVUom7bZJ4Bk9qUA+r~l^iE5P&vHx!VJ$@uYwphcF3&-1^=?s zUV$qgTBUASw&UWCjT;22c#kf%>~7T*o}u6ou<Yj22Rv<=l53)xj$iAQJ}BK=lGxcJ zDq=a=zeQ~Np*@MspMK3tdAqpnL7@_Nny~S_mfl!9N$V+^mKqOV<e1I4zMlR3g+-UQ zWrg1Ao;S5CP}qyP?3IM?i3Lxmu-P9kyz^uIWVxD_`8Eu9rStb(oIig)fAhfx|M+<~ zUkF8LPdkz0(rP3&Q$?-Ofx&ON@b%d8SVacG29cT*f^}{73fdiP^IL@9O;XWRUMteH zBW8`T=Ol%$McNnN&n<AAsB+Rj$w@#`QR|<Nz!b+ok&{k}9VTMJfg*~YmlAGqdnpJM za5XuE_bObH2ozD|Xfl4w>MFppTY)2Gp@7S*XpJU?l4acsT!Oi8KL5Ox?X2dmB9@8E znv^)0m>L~+UyA5^x>q=k|LEh7Cag@17ku~)gV~dpDSHYrH8RxL&9}W9Gfy-9`on@b z!Yqv}tqPZJ-2M3bZ-Ld^=R&D7Rn9tD7CrGey~wrOW&Zi)#!|h;N}4@QXO8$dPEz?% zW5>e8`0>O<<>!~qI?X(!y?)Q5PZc)eHgf#DE=?YX_1*iAGjG3LoB00T-or0dGy;8< zr=R{h?fi4)>Fo-aE<FACv!-D8-Tb3Q+k#UUo_J_&Xk+syPeFjeS6<kqs?)QejQ#N8 z!|&as_pjU%pj5lT=I2lIdlip&+<z~=H|~8;gpaF$F=L>}!>?5jzyCfO9#{EvFURA^ zG>P||!Xh)Tnp8cV8r~M8cb$Fl;>9BFiXA470xUg!eTSYF)qXf8o!@iJ`ke5~Pb=yg zF2Aff`L^uv`|rV%q#b>XC#f8K|NZdWvcoS+_D$(9l<Qt_q9@;OY1$!n`I>?Qk3V+k zP48YK(&WMX`pDCwgO5LU$k%*0*qHIyEKb+sh>pLDaOU}WwzkU3%IkUg`9Y=@OjB6K z89D9Y_uqy#Ha!z3PQ3o@&CSb;AKmh~t<x`a(2Mip<;$P%oH)U8C(oQUoik~cfU98M zc4=j0<rgnsR_b+?3r=4x+`r(2mXnatLb=*67Y{2dD~r$ZQ`gXMRakc13KWc1b0s7t zcYb)WxL>aC(X$nQ=ZZKc&P<xM!8bqu{rdK{wg*K!H7vXZG~Fht?1<6h;pJVpef#(8 z7x(=!?fKlo*(Ek#d&^>f+pkytO`JH<Z24u*{^QPJT#idFSbeOpd3??DcCf$g*7=Su zlk9SJvMcJmu2du>IJ|lN`nI8gLBqp`iL*W`c8Dl)FtxR}gG3%kh%D~CEOD&LDMoJX zziB)U_ckUU=k{CvdClR64Y%K_U2j(idhlw;-8>5!K8v~MHd~jysc_7lW7PA!WtWZ4 zzo{}W4J|A*wrt&Md*%A|_J9BCSeO`#YB`iT*ZC<3IMmnM|N8ao!nJGPE<AX!Kp?k9 zO{-3*dx6Hv*=tm^tjpioyeqN#{^iS;gp7<1P(&>%H8L@2nKw_)V(vLxko-C&wM|`L z5B0<~Pbdhq>zKVIIA)9N&(HJ!|9NrN{C>^in>pu<rFu`CJI8iDcz;=w$C4R6Jv|RD zE%ko!{=NJkkUEX#=?A6ud32p#yv4ce+9~VzdmeAO{q}oVY3ah{%h}`BPmhsr@>sC? z@z<)0cklLkPuDw`xBdR_bJp)IB-c)AQQ2`++PU*fedNhKw{{jk&)&Ot@BY^>UO2?Z z%O4HqP--lkyl<afNm<#UhXpo!i=Usn9&t=XDB`D`V5P>yGM|?WPk#OS<u1#2+`VkK ztl#p<mp*YS`MCtPTz=VdH?RHh!yha5?fYlAwQz+&TC&)*imnj<zSSGLxb$LoJ+ZI+ z^rYOP&w9c2*W8u!+#MYc_Go1I3S3rITf27cj*^!_|4&X<-(URllB#|4f(>WBWH`-d zFy#DSp!a5{hqW&2TBV;44mQ8NdGqFNhCK&9?+IOgSy5lVziA80!p4u1bFW<syYaT{ zeJi*4Hd&jB4YikMbRV_y^yG0(`(Zt6f{*0}@wkeI`e)CcEx-Ntn?rWCc3WH9iNA^* zywgtZn6YL1cJ^7bXa7IXt-t4k__dG6Gv=N+DKaHP{>YSWp_d=;6rbN){qfOJc{5Yf zg&Q{tHa9m<nddK{#nIGo@SvlKnc1S1D>-FlW$kO;?R<W(_uyI28Kq1Nb1w04A1@UA zFZ-}u?^H9t-J$yaFZS=wS-<~t+p_qXO<-hXX2gaBM~!7dsq!3;Hl^(OeE+}!hFP;_ zUAT2i>cyKkd*07XpZ7DFCEI1zmxQfhB1c^VjgthXcq|g~jQGJ}U%7OD{{Fw;vbD9e z=FPLO-&gwZP^*THPRqp%l|V&~nyAXP`}fQD_V#Av=a+BYy7lkfZvA}~DqS5ezpaCE zSl3MR(qeHv>y;=d#>cQf_4Ks!A)%pfXIYo$Jv`LP9T*kGwfUyc!Kg=@+$O11*vOTX zmoMJ9QBYP^_OGt4?tP1b2M6L8MaZvlT6EINbJ~IpQJP*&LcTFOve)n3R&#Qa>i@{F zux&LU7wPM}`}y%z%u~;9-SK9Pkmn==8ylY8cl(YVb1Nw=ooiSB@6UhRq9+};O%Wbk zOv1haGuBQH;qp>Rd}zw${o?1MMM{r#x8M1ckeK+;eD$hT0imI-hYmT-@KM_o)^Yln z*2kYUFW$d*_x9$Fii)~$|Nj4Y{r!JFecQLsu3p42QBX*;Yl6?}1sSEaGmfgnbnN?a zRR5oEVd2O9Q>RQx(T~``@cG$UXFor_FIBdY+DCe}dL8Rlj@?rs=<DnI;^j-pLJOJi z{~q$!SJ*ZgZ0PceS?8z4;@bWCuqH?Qq7^!^yG-ie-r8!vF+wMPrhUELs#U83f`XV< zU-dF}Jkld16e#krXy=8?mz$?e6Wg+V`{B1``wQOO*m&IT-;d<wY=()QvonfHmw5*q z5b#eFoBZK^{;rqHrWQXx_cwj@)vBX^etr&&i|c#zC@ErX*rte%p6wnndg7qM=ia@( zZ{Nyx#H=d@r8(P*4-eWq=KMURq?J`Dykz!*4ab5Paj`b9XxX+oLTA_Qyxnj6=FFK> zy=l{?Ri{p$Hq5_gBO)%YY;7&g*4&t+<8thX2U8=1o15E%0*iu=k6drOEvwjj@7u$N z5AW~$a>@Jr?z?%0T?!hVos$+E5iy_X=a|^Ld;?3aC2Qfsy#0T_{hvC2{{P&$e%p7f zS;JHO?2MzQC+DY6pAyVwCmKkc$Wpv?PKuL-=|hE$gp7=fzdyf~we`iTS6Kr^><g{t z?yvlKRQ$VhrDXT4=*42jfv>_QiZu!OhHPQUGVS#I@p#+qyxS2WAzwrnU)*sr#VB>^ zv}uc$EMfWi^XG|k=i07jwVq5_RKabSTPQgHJp1(1trI5-TFmwP^5x5d-Mgjj=AVE4 z{rCMhuU}U`Tsl3js@sucN{pN?<Bb{D-z@P8*m5lRii>Oa1_p-h2?v|rTwNWWzwu_y z_7`7&l`>42KfnLcqa+a#kpo#<59OF0PBA)|VR9(Jz+w62R=Fw9osK9;Oj2<aIeI}^ zfaAdX?}wj%KKS_Kfu}`@2?+^%m~0sw1X{kkxx2^L{r~%&-^A3k*P&K+&XSMi(?pNW zI;wKDNvMCt5iPYCmTZozSFc)vnh#fR-n_ZmSM4&}T)*uS3>EX*&!#n>O>+(l6Z26M z=3#U8NYMD_bVP{#<L|#5EKDDM)_kbiD<La;^u>#e6%xBOy5|3=*|*)@&F$X**YW?W z_UznQX>o|5|EN{x(W9N&iVsS-ymS@`t)5X3XvfX4<I|_2)00%aSAG8cSzNmJ7+3Q_ zgZTB=!&&A(FSWWWYGTt7A?W%srXaytpk<qb!i9I=f8U<t_gww?`T6<VZokcIZCsn$ zx*<$4P-t?Gz!aCxu1O0%Xc<ar{OQ@&zvj48%(FPZp4%I{I73*RopMyUmc0q~_wSDh z3TkrU>ay!ppWFSR{Kt8Z+wI(LCsu_B^nBQ_zTbVz`8hF}ecl&%T?Dek8lsk(tbL@| zxOP^pi=pSSgX*W9E@rLF*ceqI8m=Cv-Kry`6xXdP_L`+<(ZW<V^~Ah$CD9riqqKYq zH?VMcZK>LkGEv~9z_bb$)wu6!3zHVL*}1Am`G!Q?QJChCv*rIuo@rd1oD+4*+m{;7 z3k!7I)#<s4#nm@tOU`*M4TmD8Ei8hdCeNZK3D=fXD+|^58NWp4zwxN8xe~J=qjsu# zch?%n0FRK4kWS9k3pPaQWED=@Aw4g>Yr%@n<~5EnJ2)0CQc=3t(&EzUF?EIpC*$g` z2ZbijG&7vZ=g6q!e|-~6rn<TKV-Xj(vu7VlxU?K;y`ZF|leFk6@1>;P6PGnrE^BIZ zmNY)ma9SkNG562Dja=-U=bmaxbapM?(81c>;Ili_C^10Al3(>&<H|JOBfpFT^Y}VB zJG~YqX-3tpid5AUoc!{PbLVkZCl+sK?_0$t+OB=UG8tVnU0h#(TXSf_HK$3MVqQu* z(;|{oWg-<^gpRs-FPIi;bIHl$(p{&(?zI_PBc?QMZz!6U6SdOTP?^PT^@a^xo>BLf z|1#NcpmS)^vo;s+Nx{1fQkDvQ+~ri%^xyBdzD;dgjEO4a1tq<#_ugS#6MZ&b%sQBI z$9CoU1KdkoV<K4F6oOLsp5VMOk0n*=h^w!UM@C19&{WAp+1Ke8TpydnNC*ih?Q%_Z r+jZlYWX(qnJEt=u8&697`_GUzdFk?`?-k{si>*Cf{an^LB{Ts5{Sc(i literal 0 HcmV?d00001 diff --git a/WPI Calendar Event Creator/WPIModel.m b/WPI Calendar Event Creator/WPIModel.m index 834982f..8f9e7de 100644 --- a/WPI Calendar Event Creator/WPIModel.m +++ b/WPI Calendar Event Creator/WPIModel.m @@ -8,7 +8,6 @@ #import "WPIModel.h" - @implementation WPIModel static WPIModel *sharedDataModel = nil; @@ -309,7 +308,9 @@ static WPIModel *sharedDataModel = nil; NSError* error; - [self.eventStore saveEvent:event span:EKSpanThisEvent error:&error]; + //[self.eventStore saveEvent:event span:EKSpanThisEvent error:&error]; + + UIAlertView* alert; if (error) { @@ -328,6 +329,29 @@ static WPIModel *sharedDataModel = nil; [alert show]; } +-(NSString*)getICSFile { + NSString *title = [self getTitleForPurpose:1]; + NSDate *sDate = [self getDateForPurpose:2]; + NSDate *eDate = [self getDateForPurpose:3]; + NSString *location = [self getLocation]; + + NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute fromDate:sDate]; + NSString *startDate = [NSString stringWithFormat:@"%4ld%2ld%2ldT%2ld%2ld00", (long)components.year, (long)components.month , (long)components.day, (long)components.hour, (long)components.minute]; + startDate = [startDate stringByReplacingOccurrencesOfString:@" " withString:@"0"]; + components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitHour | NSCalendarUnitMinute fromDate:eDate]; + NSString *endDate = [NSString stringWithFormat:@"%4ld%2ld%2ldT%2ld%2ld00", (long)components.year, (long)components.month, (long)components.day, (long)components.hour, (long)components.minute]; + endDate = [endDate stringByReplacingOccurrencesOfString:@" " withString:@"0"]; + + NSLog(@"Date start: %@", startDate); + + title = [title stringByReplacingOccurrencesOfString:@"," withString:@"\\,"]; + location = [location stringByReplacingOccurrencesOfString:@"," withString:@"\\,"]; + + NSString *result = [NSString stringWithFormat:@"BEGIN:VCALENDAR\nVERSION:2.0\nPRODID:WPIEventCreatorApp\nBEGIN:VEVENT\nSUMMARY:%@\nLOCATION:%@\nDTSTART;TZID=America/New_York:%@\nDTEND;TZID=America/New_York:%@\nEND:VEVENT\nEND:VCALENDAR", title, location, startDate, endDate]; + + return result; +} + - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if (buttonIndex) { if ([MFMailComposeViewController canSendMail]) { @@ -343,6 +367,9 @@ static WPIModel *sharedDataModel = nil; NSString *message = [NSString stringWithFormat:@"Dear Professor %@:\n\n I am just writing you a reminder about an appointment we set on %@. \n\n Thank you!\n\n(This is an automated email from WPI Calendar Events Creator app)\n", [prof valueForKey:@"Name"], [self getDateForPurpose:4]]; [mailViewController setMessageBody:message isHTML:NO]; + + [mailViewController addAttachmentData:[[self getICSFile] dataUsingEncoding:NSUTF8StringEncoding] mimeType:@"text/calendar" fileName:@"AppointmentFile"]; + [self.mainTable sendEmail:mailViewController]; } else { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Can't do that :(" message:@"Device is unable to send email in its current state." delegate:self cancelButtonTitle:@"Okey" otherButtonTitles: nil]; diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/entries b/WPI Calendar Event Creator/iCalObjCSDK/.svn/entries new file mode 100755 index 0000000..f05fd52 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/entries @@ -0,0 +1,581 @@ +10 + +dir +2866 +svn://cybergarage.org:3960/project/iphone/iCalObjCSDK/iCalObjCSDK +svn://cybergarage.org:3960 + + + +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + +b45aa7d4-fa09-0410-9ebe-fd257a136781 + + + + + + + + +() + +CGICalendarValue.h +file + + + + +2011-05-13T13:57:29.000000Z +373ece60bb39da6b589f5a61052fb7c0 +2011-05-13T13:57:59.619818Z +2849 +skonno + + + + + + + + + + + + + + + + + + + + + +1038 + +CGICalendar.h +file + + + + +2011-05-19T11:58:56.000000Z +6979973ac7015b875e63c6b5f743d468 +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +910 + +CGICalendarParameter.h +file + + + + +2011-05-13T13:57:29.000000Z +2d055fb3742887f778f16467fa6cd124 +2011-05-13T13:57:59.619818Z +2849 +skonno + + + + + + + + + + + + + + + + + + + + + +375 + +CGICalendarValue.m +file + + + + +2011-05-13T13:57:29.000000Z +db516f2e09a816edcca3c10c13311019 +2011-05-13T13:57:59.619818Z +2849 +skonno + + + + + + + + + + + + + + + + + + + + + +1215 + +CGICalendarContentLine.h +file + + + + +2011-05-13T13:57:29.000000Z +e7b6429f016bdfea683822c475c44770 +2011-05-13T13:57:59.619818Z +2849 +skonno + + + + + + + + + + + + + + + + + + + + + +1197 + +CGICalendarProperty.h +file + + + + +2011-05-19T11:58:56.000000Z +f5e3e1f6189db1ce0c6bc054bc3cb604 +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +3137 + +CGICalendar.m +file + + + + +2011-05-19T11:58:56.000000Z +8b06ee68e4cca712f92a8d7805aaa801 +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +5867 + +CGICalendarParameter.m +file + + + + +2011-05-13T13:57:29.000000Z +f321a4e01af4f4391c1b583d01d82fcb +2011-05-13T13:57:59.619818Z +2849 +skonno + + + + + + + + + + + + + + + + + + + + + +869 + +CGICalendarContentLine.m +file + + + + +2011-05-13T13:57:29.000000Z +a785c9a99341910e0ce5e1976f54634d +2011-05-13T13:57:59.619818Z +2849 +skonno + + + + + + + + + + + + + + + + + + + + + +4678 + +CGICalendarProperty.m +file + + + + +2011-05-19T11:58:56.000000Z +5bfe1322698bba692c9e40d3a109800f +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +6654 + +NSDate+CGICalendar.h +file + + + + +2011-05-19T11:58:56.000000Z +b2e88b2913f4bd32c864b1ef401e3e0d +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +376 + +NSDate+CGICalendar.m +file + + + + +2011-05-19T11:58:56.000000Z +748a536821c18301c40360f5f683d6e2 +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +1566 + +CGICalendarComponent.h +file + + + + +2011-05-19T11:58:56.000000Z +709e2e5672cf9091a6c18189156e5b19 +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +4199 + +CGICalendarObject.h +file + + + + +2011-05-16T13:49:45.000000Z +5c4148d27566e93e879373c6cba47be7 +2011-05-16T13:50:01.791142Z +2853 +skonno + + + + + + + + + + + + + + + + + + + + + +968 + +CGICalendarComponent.m +file + + + + +2011-05-19T11:58:56.000000Z +a3233db14271ca948a188751bbfddf10 +2011-05-19T10:30:15.863597Z +2859 +skonno + + + + + + + + + + + + + + + + + + + + + +13150 + +CGICalendarObject.m +file + + + + +2011-05-18T15:58:43.000000Z +8bbfdc75254c207ca6cf1b1f5413802f +2011-05-18T15:37:10.257463Z +2856 +skonno + + + + + + + + + + + + + + + + + + + + + +2938 + diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.h.svn-base new file mode 100755 index 0000000..f69d8c3 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.h.svn-base @@ -0,0 +1,39 @@ +// +// CGICalendar.h +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#import "CGICalendarObject.h" +#import "NSDate+CGICalendar.h" +#import "CGICalendarComponent.h" +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_HEADER_CONTENTLINE @"BEGIN:VCALENDAR" +#define CG_ICALENDAR_FOOTER_CONTENTLINE @"END:VCALENDAR" + +@interface CGICalendar : NSObject { + +} +@property(retain) NSMutableArray *objects; + ++ (NSString *)UUID; + +- (id)init; +- (id)initWithString:(NSString *)string; +- (id)initWithPath:(NSString *)path; + +- (BOOL)parseWithString:(NSString *)string error:(NSError **)error; +- (BOOL)parseWithPath:(NSString *)path error:(NSError **)error; + +- (void)addObject:(CGICalendarObject *)object; +- (CGICalendarObject *)objectAtIndex:(NSUInteger)index; + +- (NSString *)description; + +- (BOOL)writeToFile:(NSString *)path; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.m.svn-base new file mode 100755 index 0000000..a35cd3f --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendar.m.svn-base @@ -0,0 +1,221 @@ +// +// CGICalendar.m +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendar.h" +#import "CGICalendarContentLine.h" + +@interface CGICalendar() +@property(retain) NSMutableArray *parserStack; +- (id)peekParserObject; +- (id)popParserObject; +- (void)pushParserObject:(id)object; +- (void)clearParserObjects; +@end + +@implementation CGICalendar + +@synthesize objects; +@synthesize parserStack; + +#pragma mark - +#pragma mark Class Methods + ++ (NSString *)UUID +{ + CFUUIDRef uuid = CFUUIDCreate(nil); + NSString *uuidString = (NSString*)CFUUIDCreateString(nil, uuid); + CFRelease(uuid); + return [uuidString autorelease]; +} + +#pragma mark - +#pragma mark Initialize + +- (id)init +{ + if ((self = [super init])) { + [self setObjects:[NSMutableArray array]]; + } + return self; +} + +- (id)initWithString:(NSString *)aString +{ + if ((self = [self init])) { + [self parseWithString:aString error:nil]; + } + return self; +} + +- (id)initWithPath:(NSString *)aPath +{ + if ((self = [self init])) { + [self parseWithPath:aPath error:nil]; + } + return self; +} + +#pragma mark - +#pragma mark Object + +- (void)addObject:(CGICalendarObject *)object +{ + [[self objects] addObject:object]; +} + +- (CGICalendarObject *)objectAtIndex:(NSUInteger)index +{ + return [[self objects] objectAtIndex:index]; +} + +#pragma mark - +#pragma mark Parser + +- (NSError *)createErrorAt:(NSUInteger)lineNumber lineString:(NSString *)lineString +{ + return [NSError errorWithDomain:@"iCalForObjC" code:-1 userInfo: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSString stringWithFormat:@"%d", lineString], @"LineNumber", + lineString, @"ContentLine", + nil]]; +} + +- (BOOL)parseWithString:(NSString *)aString error:(NSError **)error +{ + [self setObjects:[NSMutableArray array]]; + [self clearParserObjects]; + + if (aString == nil) + return NO; + + NSArray *foldingContentLines = [aString componentsSeparatedByString:CG_ICALENDAR_CONTENTLINE_TERM]; + NSMutableArray *contentLines = [NSMutableArray array]; + for (NSString *foldingContentLine in foldingContentLines) { + if (foldingContentLine == nil) + continue; + if ([CGICalendarContentLine IsFoldingLineString:foldingContentLine] == NO) { + [contentLines addObject:[NSMutableString stringWithString:foldingContentLine]]; + continue; + } + NSMutableString *lastLineString = [contentLines lastObject]; + if (lastLineString == nil) + continue; + [lastLineString appendString:[foldingContentLine substringWithRange:NSMakeRange(1, ([foldingContentLine length] - 1))]]; + } + + int contentLineNumber = 0; + for (NSString *contentLine in contentLines) { + contentLineNumber++; + + CGICalendarContentLine *icalContentLine = [[CGICalendarContentLine alloc] initWithString:contentLine]; + CGICalendarComponent *icalParentComponent = [self peekParserObject]; + + // BEGIN + if ([icalContentLine isBegin]) { + CGICalendarComponent *icalComponent; + if (icalParentComponent == nil) { + icalComponent = [[CGICalendarObject alloc] init]; + [self addObject:(CGICalendarObject *)icalComponent]; + } + else { + icalComponent = [[CGICalendarComponent alloc] init]; + [icalParentComponent addComponent:icalComponent]; + } + [icalComponent setType:[icalContentLine value]]; + [self pushParserObject:icalComponent]; + [icalComponent release]; + [icalContentLine release]; + continue; + } + + // END + if ([icalContentLine isEnd]) { + [self popParserObject]; + [icalContentLine release]; + continue; + } + + NSString *propertyName = [icalContentLine name]; + CGICalendarProperty *icalProperty = [icalParentComponent propertyForName:propertyName]; + if (icalProperty == nil) { + icalProperty = [[[CGICalendarProperty alloc] init] autorelease]; + [icalProperty setName:propertyName]; + [icalParentComponent addProperty:icalProperty]; + } + [icalProperty setValue:[icalContentLine value]]; + for (CGICalendarParameter *icalParameter in [icalContentLine parameters]) + [icalProperty setParameterValue:[icalParameter value] forName:[icalParameter name]]; + + [icalContentLine release]; + } + + return YES; +} + +- (BOOL)parseWithPath:(NSString *)path error:(NSError **)error +{ + NSData *fileData = [NSData dataWithContentsOfFile:path]; + if (fileData == nil) + return NO; + return [self parseWithString:[[[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding] autorelease] error:error]; +} + +#pragma mark - +#pragma mark Parser Stack Methods + +- (id)peekParserObject +{ + return [[self parserStack] lastObject]; +} + +- (id)popParserObject +{ + id lastObject = [[self parserStack] lastObject]; + [[self parserStack] removeLastObject]; + return [[lastObject retain] autorelease]; +} + +- (void)pushParserObject:(id)object +{ + [[self parserStack] addObject:object]; +} + +- (void)clearParserObjects +{ + [self setParserStack:[NSMutableArray array]]; +} + +#pragma mark - +#pragma mark String + +- (NSString *)description +{ + NSMutableString *descrString = [NSMutableString string]; + + for (CGICalendarObject *icalObj in [self objects]) + [descrString appendString:[icalObj description]]; + + return descrString; +} + +#pragma mark - +#pragma mark File + +- (BOOL)writeToFile:(NSString *)path +{ + NSString *desc = [self description]; + if (desc == nil) + return NO; + + NSData *data = [desc dataUsingEncoding:NSUTF8StringEncoding]; + if (data == nil) + return NO; + + return [data writeToFile:path atomically:YES]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.h.svn-base new file mode 100755 index 0000000..f000bec --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.h.svn-base @@ -0,0 +1,129 @@ +// +// CGICalendarComponent.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_COMPONENT_TYPE_EVENT @"VEVENT" +#define CG_ICALENDAR_COMPONENT_TYPE_TODO @"VTODO" +#define CG_ICALENDAR_COMPONENT_TYPE_JOURNAL @"VJOURNAL" +#define CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY @"VFREEBUSY" +#define CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE @"VTIMEZONE" +#define CG_ICALENDAR_COMPONENT_TYPE_ALARM @"VALARM" + +@interface CGICalendarComponent : NSObject { + +} +@property(retain) NSString *type; +@property(retain) NSMutableArray *components; +@property(retain) NSMutableArray *properties; + ++ (id)componentWithType:(NSString *)type; ++ (id)event; ++ (id)todo; ++ (id)journal; ++ (id)freebusy; ++ (id)timezone; ++ (id)alarm; + +- (id)initWithType:(NSString *)type; + +- (BOOL)isType:(NSString *)type; +- (BOOL)isEvent; +- (BOOL)isTodo; +- (BOOL)isJournal; +- (BOOL)isFreebusy; +- (BOOL)isTimezone; +- (BOOL)isAlarm; + +- (void)addComponent:(CGICalendarComponent *)component; +- (void)insertComponent:(CGICalendarComponent *)component atIndex:(NSUInteger)index; +- (CGICalendarComponent *)componentAtIndex:(NSUInteger)index; +- (NSUInteger)indexOfComponent:(CGICalendarComponent *)component; +- (void)removeComponent:(CGICalendarComponent *)component; +- (void)removeComponentAtIndex:(NSUInteger)index; + +- (BOOL)hasPropertyForName:(NSString *)name; +- (void)addProperty:(CGICalendarProperty *)property; +- (void)removePropertyForName:(NSString *)name; + +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name; +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyObject:(id)object forName:(NSString *)name; +- (void)setPropertyObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name; +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyInteger:(int)value forName:(NSString *)name; +- (void)setPropertyInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyFloat:(float)value forName:(NSString *)name; +- (void)setPropertyFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; + +- (NSArray *)allPropertyKeys; +- (CGICalendarProperty *)propertyAtIndex:(NSUInteger)index; +- (CGICalendarProperty *)propertyForName:(NSString *)name; + +- (NSString *)propertyValueForName:(NSString *)name; +- (NSDate *)propertyDateForName:(NSString *)name; +- (int)propertyIntegerForName:(NSString *)name; +- (float)propertyFloatForName:(NSString *)name; + +- (NSString *)description; + +// 4.2.12 Participation Status +- (void)setParticipationStatus:(int)status; +- (int)participationStatus; + +// 4.8.1.5 Description +- (void)setNotes:(NSString *)value; +- (NSString *)notes; + +// 4.8.1.9 Priority +- (void)setPriority:(NSUInteger)value; +- (NSUInteger)priority; + +// 4.8.1.12 Summary +- (void)setSummary:(NSString *)value; +- (NSString *)summary; + +// 4.8.2.1 Date/Time Completed +- (void)setCompleted:(NSDate *)value; +- (NSDate *)completed; + +// 4.8.2.2 Date/Time End +- (void)setDateTimeEnd:(NSDate *)value; +- (NSDate *)dateTimeEnd; + +// 4.8.2.3 Date/Time Due +- (void)setDue:(NSDate *)value; +- (NSDate *)due; + +// 4.8.2.4 Date/Time Start +- (void)setDateTimeStart:(NSDate *)value; +- (NSDate *)dateTimeStart; + +// 4.8.4.7 Unique Identifier +- (void)setUID:(NSString *)value; +- (NSString *)UID; + +// 4.8.7.1 Date/Time Created +- (void)setCreated:(NSDate *)value; +- (NSDate *)created; + +// 4.8.7.2 Date/Time Stamp +- (void)setDateTimeStamp:(NSDate *)value; +- (NSDate *)dateTimeStamp; + +// 4.8.7.3 Last Modified +- (void)setLastModified:(NSDate *)value; +- (NSDate *)lastModified; + +// 4.8.7.4 Sequence Number +- (void)setSequenceNumber:(NSUInteger)value; +- (NSUInteger)sequenceNumber; +- (void)incrementSequenceNumber; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.m.svn-base new file mode 100755 index 0000000..0bd5cee --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarComponent.m.svn-base @@ -0,0 +1,523 @@ +// +// CGICalendarComponent.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendar.h" +#import "CGICalendarComponent.h" +#import "CGICalendarContentLine.h" +#import "NSDate+CGICalendar.h" + +#define CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT 0 + +@implementation CGICalendarComponent + +@synthesize type; +@synthesize components; +@synthesize properties; + +#pragma mark - +#pragma mark Global methods + ++ (id)componentWithType:(NSString *)aType +{ + return [[[CGICalendarComponent alloc] initWithType:aType] autorelease]; +} + ++ (id)event +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_EVENT]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + [icalComp setSequenceNumber:CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT]; + return icalComp; +} + ++ (id)todo +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_TODO]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + [icalComp setSequenceNumber:CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT]; + [icalComp setCreated:[NSDate date]]; + return icalComp; +} + ++ (id)journal +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_JOURNAL]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + [icalComp setSequenceNumber:CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT]; + return icalComp; +} + ++ (id)freebusy +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + return icalComp; +} + ++ (id)timezone +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE]; + return icalComp; +} + ++ (id)alarm +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_ALARM]; + return icalComp; +} + +#pragma mark - +#pragma mark init + +- (id)init +{ + if ((self = [super init])) { + [self setComponents:[NSMutableArray array]]; + [self setProperties:[NSMutableArray array]]; + } + return self; +} + +- (id)initWithType:(NSString *)aType +{ + if ((self = [self init])) { + [self setType:aType]; + } + return self; +} + +#pragma mark - +#pragma mark Component + +- (void)addComponent:(CGICalendarComponent *)component +{ + [[self components] addObject:component]; +} + +- (void)insertComponent:(CGICalendarComponent *)component atIndex:(NSUInteger)index +{ + [[self components] insertObject:component atIndex:index]; +} + +- (CGICalendarComponent *)componentAtIndex:(NSUInteger)index +{ + return [[self components] objectAtIndex:index]; +} + +- (NSUInteger)indexOfComponent:(CGICalendarComponent *)component +{ + return [[self components] indexOfObject:component]; +} + +- (void)removeComponent:(CGICalendarComponent *)component +{ + [[self components] removeObject:component]; +} + +- (void)removeComponentAtIndex:(NSUInteger)index +{ + [[self components] removeObjectAtIndex:index]; +} + +#pragma mark - +#pragma mark Property + +- (BOOL)hasPropertyForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) { + [[self properties] removeObject:icalProp]; + return YES; + } + } + return NO; +} + +- (void)addProperty:(CGICalendarProperty *)property +{ + [[self properties] addObject:property]; +} + +- (void)removePropertyForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) { + [[self properties] removeObject:icalProp]; + return; + } + } +} + +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name +{ + [self setPropertyValue:value forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +{ + CGICalendarProperty *icalProp = [self propertyForName:name]; + if (icalProp == nil) { + icalProp = [[[CGICalendarProperty alloc] init] autorelease]; + [icalProp setName:name]; + [self addProperty:icalProp]; + } + [icalProp setValue:value]; + + if ([parameterValues count] != [parameterNames count]) + return; + + for (int n=0; n<[parameterNames count]; n++) { + NSString *name = [parameterNames objectAtIndex:n]; + id value = [parameterNames objectAtIndex:n]; + [icalProp setParameterObject:value forName:name]; + } +} + +- (void)setPropertyObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[object description] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setPropertyObject:(id)object forName:(NSString *)name +{ + [self setPropertyValue:[object description] forName:name]; +} + +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name +{ + [self setPropertyValue:[object descriptionICalendar] forName:name]; +} + +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[object descriptionICalendar] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setPropertyInteger:(int)value forName:(NSString *)name +{ + [self setPropertyValue:[[NSNumber numberWithInteger:value] stringValue] forName:name]; +} + +- (void)setPropertyInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[[NSNumber numberWithInteger:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setPropertyFloat:(float)value forName:(NSString *)name +{ + [self setPropertyValue:[[NSNumber numberWithFloat:value] stringValue] forName:name]; +} + +- (void)setPropertyFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[[NSNumber numberWithFloat:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (id)propertyAtIndex:(NSUInteger)index +{ + return [[self properties] objectAtIndex:index]; +} + +- (CGICalendarProperty *)propertyForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return icalProp; + } + return nil; +} + +- (NSArray *)allPropertyKeys +{ + NSMutableArray *keys = [NSMutableArray array]; + for (CGICalendarProperty *icalProp in [self properties]) + [keys addObject:[icalProp name]]; + return keys; +} + +- (NSString *)propertyValueForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp value]; + } + return nil; +} + +- (NSDate *)propertyDateForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp dateValue]; + } + return nil; +} + +- (int)propertyIntegerForName:(NSString *)name; +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp integerValue]; + } + return 0; +} + +- (float)propertyFloatForName:(NSString *)name; +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp floatValue]; + } + return 0; +} + +#pragma mark - +#pragma mark String + +- (BOOL)isType:(NSString *)aType +{ + return [aType isEqualToString:[self type]]; +} + +- (BOOL)isEvent +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_EVENT]; +} + +- (BOOL)isTodo +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_TODO]; +} + +- (BOOL)isJournal +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_JOURNAL]; +} + +- (BOOL)isFreebusy +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY]; +} + +- (BOOL)isTimezone +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE]; +} + +- (BOOL)isAlarm +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_ALARM]; +} + +#pragma mark - +#pragma mark String + +#define CG_ICALENDAR_CONTENTLINE_NAME_BEGIN @"BEGIN" +#define CG_ICALENDAR_CONTENTLINE_NAME_END @"END" + +- (NSString *)description +{ + NSMutableString *objectsString = [NSMutableString string]; + + [objectsString appendFormat:@"%@:%@%@",CG_ICALENDAR_CONTENTLINE_NAME_BEGIN, [self type], CG_ICALENDAR_CONTENTLINE_TERM]; + + for (CGICalendarProperty *icalProp in [self properties]) + [objectsString appendString:[icalProp description]]; + + for (CGICalendarComponent *icalComp in [self components]) + [objectsString appendString:[icalComp description]]; + + [objectsString appendFormat:@"%@:%@%@",CG_ICALENDAR_CONTENTLINE_NAME_END, [self type], CG_ICALENDAR_CONTENTLINE_TERM]; + + return objectsString; +} + +#pragma mark - +#pragma mark 4.2.12 Participation Status + +- (void)setParticipationStatus:(int)status +{ + CGICalendarProperty *icalProp = [self propertyForName:CG_ICALENDAR_PROERTY_PARTSTAT]; + if (icalProp == nil) + icalProp = [[[CGICalendarProperty alloc] init] autorelease]; + [icalProp setParticipationStatus:status]; +} + +- (int)participationStatus +{ + CGICalendarProperty *icalProp = [self propertyForName:CG_ICALENDAR_PROERTY_PARTSTAT]; + if (icalProp == nil) + return CGICalendarParticipationStatusUnkown; + return [icalProp participationStatus]; +} + +#pragma mark - +#pragma mark 4.8.1.5 Description + +- (void)setNotes:(NSString *)value +{ + [self setPropertyValue:value forName:CG_ICALENDAR_PROERTY_DESCRIPTION]; +} + +- (NSString *)notes +{ + return [self propertyValueForName:CG_ICALENDAR_PROERTY_DESCRIPTION]; +} + +#pragma mark - +#pragma mark 4.8.1.9 Priority + +- (void)setPriority:(NSUInteger)value +{ + [self setPropertyInteger:value forName:CG_ICALENDAR_PROERTY_PRIORITY]; +} + +- (NSUInteger)priority +{ + return [self propertyIntegerForName:CG_ICALENDAR_PROERTY_PRIORITY]; +} + +#pragma mark - +#pragma mark 4.8.1.12 Summary + +- (void)setSummary:(NSString *)value +{ + [self setPropertyValue:value forName:CG_ICALENDAR_PROERTY_SUMMARY]; +} + +- (NSString *)summary +{ + return [self propertyValueForName:CG_ICALENDAR_PROERTY_SUMMARY]; +} + +#pragma mark - +#pragma mark 4.8.2.1 Date/Time Completed + +- (void)setCompleted:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_COMPLETED]; +} + +- (NSDate *)completed +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_COMPLETED]; +} + +#pragma mark - +#pragma mark 4.8.2.2 Date/Time End + +- (void)setDateTimeEnd:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DTEND]; +} + +- (NSDate *)dateTimeEnd +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DTEND]; +} + +#pragma mark - +#pragma mark 4.8.2.3 Date/Time Due + +- (void)setDue:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DUE]; +} + +- (NSDate *)due +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DUE]; +} + +#pragma mark - +#pragma mark 4.8.2.4 Date/Time Start + +- (void)setDateTimeStart:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DTSTART]; +} + +- (NSDate *)dateTimeStart +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DTSTART]; +} + +#pragma mark - +#pragma mark 4.8.4.7 Unique Identifier + +- (void)setUID:(NSString *)value +{ + [self setPropertyValue:value forName:CG_ICALENDAR_PROERTY_UID]; +} + +- (NSString *)UID +{ + return [self propertyValueForName:CG_ICALENDAR_PROERTY_UID]; +} + +#pragma mark - +#pragma mark 4.8.7.1 Date/Time Created + +- (void)setCreated:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_CREATED]; +} + +- (NSDate *)created +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_CREATED]; +} + +#pragma mark - +#pragma mark 4.8.7.2 Date/Time Stamp + +- (void)setDateTimeStamp:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DTSTAMP]; +} + +- (NSDate *)dateTimeStamp +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DTSTAMP]; +} + +#pragma mark - +#pragma mark 4.8.7.3 Last Modified + +- (void)setLastModified:(NSDate *)value; +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_LASTMODIFIED]; +} + +- (NSDate *)lastModified; +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_LASTMODIFIED]; +} + +#pragma mark - +#pragma mark 4.8.7.4 Sequence Number + +- (void)setSequenceNumber:(NSUInteger)value +{ + [self setPropertyInteger:value forName:CG_ICALENDAR_PROERTY_SEQUENCE]; +} + +- (NSUInteger)sequenceNumber +{ + return [self propertyIntegerForName:CG_ICALENDAR_PROERTY_SEQUENCE]; +} + +- (void)incrementSequenceNumber +{ + [self setSequenceNumber:([self sequenceNumber] + 1)]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.h.svn-base new file mode 100755 index 0000000..f87ffac --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.h.svn-base @@ -0,0 +1,41 @@ +// +// CGICalendarContentLine.h +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_CONTENTLINE_TERM @"\r\n" +#define CG_ICALENDAR_CONTENTLINE_FOLDING_SPACE @" " +#define CG_ICALENDAR_CONTENTLINE_FOLDING_TAB @"\t" +#define CG_ICALENDAR_CONTENTLINE_DELIM @":" +#define CG_ICALENDAR_CONTENTLINE_NAMEPARAM_DELIM @";" + +#define CG_ICALENDAR_CONTENTLINE_NAME_BEGIN @"BEGIN" +#define CG_ICALENDAR_CONTENTLINE_NAME_END @"END" + +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VCALENDAR @"VCALENDAR" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VEVENT @"VEVENT" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VJOURNAL @"VJOURNAL" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VFREEBUSY @"VFREEBUSY" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VTIMEZONE @"VTIMEZONE" + +@interface CGICalendarContentLine : CGICalendarProperty { + +} ++ (BOOL)IsFoldingLineString:(NSString *)aString; ++ (id)contentLineWithString:(NSString *)aString; + +- (id)init; +- (id)initWithString:(NSString *)aString; +- (void)setString:(NSString *)aString; + +- (NSString *)description; + +- (BOOL)isBegin; +- (BOOL)isEnd; +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.m.svn-base new file mode 100755 index 0000000..138d222 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarContentLine.m.svn-base @@ -0,0 +1,184 @@ +// +// CGICalendarContentLine.m +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarContentLine.h" + +/* + The following notation defines the lines of content in an iCalendar + object: + + contentline = name *(";" param ) ":" value CRLF + ; This ABNF is just a general definition for an initial parsing + ; of the content line into its property name, parameter list, + ; and value string + + ; When parsing a content line, folded lines MUST first + ; be unfolded according to the unfolding procedure + ; described above. When generating a content line, lines + ; longer than 75 octets SHOULD be folded according to + ; the folding procedure described above. + + name = x-name / iana-token + + iana-token = 1*(ALPHA / DIGIT / "-") + ; iCalendar identifier registered with IANA + + x-name = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-") + ; Reservered for experimental use. Not intended for use in + ; released products. + + vendorid = 3*(ALPHA / DIGIT) ;Vendor identification + + param = param-name "=" param-value + *("," param-value) + ; Each property defines the specific ABNF for the parameters + ; allowed on the property. Refer to specific properties for + ; precise parameter ABNF. + + param-name = iana-token / x-token + + param-value = paramtext / quoted-string + + paramtext = *SAFE-CHAR + + value = *VALUE-CHAR + + quoted-string = DQUOTE *QSAFE-CHAR DQUOTE + + NON-US-ASCII = %x80-F8 + ; Use restricted by charset parameter + ; on outer MIME object (UTF-8 preferred) + + QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-US-ASCII + ; Any character except CTLs and DQUOTE + + SAFE-CHAR = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E + / NON-US-ASCII + ; Any character except CTLs, DQUOTE, ";", ":", "," + + VALUE-CHAR = WSP / %x21-7E / NON-US-ASCII + ; Any textual character + + CR = %x0D + ; carriage return + + LF = %x0A + ; line feed + + CRLF = CR LF + ; Internet standard newline + + CTL = %x00-08 / %x0A-1F / %x7F + ; Controls + + ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + + DIGIT = %x30-39 + ; 0-9 + + DQUOTE = %x22 + ; Quotation Mark + + WSP = SPACE / HTAB + + SPACE = %x20 + + HTAB = %x09 + */ + +@implementation CGICalendarContentLine + ++ (BOOL)IsFoldingLineString:(NSString *)aString +{ + if ([aString hasPrefix:CG_ICALENDAR_CONTENTLINE_FOLDING_SPACE] || [aString hasPrefix:CG_ICALENDAR_CONTENTLINE_FOLDING_TAB]) + return YES; + return NO; +} + ++ (id)contentLineWithString:(NSString *)aString +{ + CGICalendarContentLine *icalContentLine = [[CGICalendarContentLine alloc] initWithString:aString]; + return [icalContentLine autorelease]; +} + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +- (id)initWithString:(NSString *)aString +{ + if ((self = [self init])) { + [self setString:aString]; + } + return self; +} + +- (void)setString:(NSString *)aString +{ + NSString *nowNewLineString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; + NSArray *values = [nowNewLineString componentsSeparatedByString:CG_ICALENDAR_CONTENTLINE_DELIM]; + int valuesCnt = [values count]; + if (valuesCnt < 2) + return; + + NSArray *nameParams = [[values objectAtIndex:0] componentsSeparatedByString:CG_ICALENDAR_CONTENTLINE_NAMEPARAM_DELIM]; + NSMutableArray *params = [NSMutableArray array]; + int nameParamsCnt = [nameParams count]; + for (int n=0; n<nameParamsCnt; n++) { + if (n == 0) { + [self setName:[nameParams objectAtIndex:0]]; + continue; + } + CGICalendarParameter *icalParam = [[CGICalendarParameter alloc] initWithString:[nameParams objectAtIndex:n]]; + [params addObject:icalParam]; + [icalParam release]; + } + [self setParameters:params]; + + NSMutableString *valueString = [NSMutableString string]; + for (int n=1; n<valuesCnt; n++) { + if (1 < n) + [valueString appendString:CG_ICALENDAR_CONTENTLINE_DELIM]; + [valueString appendString:[values objectAtIndex:n]]; + } + [self setValue:valueString]; +} + +- (NSString *)description; +{ + NSMutableString *contentLine = [NSMutableString string]; + if ([self hasName]) + [contentLine appendString:[self name]]; + + for (CGICalendarParameter *param in [self parameters]) { + [contentLine appendString:CG_ICALENDAR_CONTENTLINE_NAMEPARAM_DELIM]; + [contentLine appendString:[param string]]; + } + + [contentLine appendString:CG_ICALENDAR_CONTENTLINE_DELIM]; + if ([self hasValue]) + [contentLine appendString:[self value]]; + + [contentLine appendString:CG_ICALENDAR_CONTENTLINE_TERM]; + + return contentLine; +} + +- (BOOL)isBegin +{ + return [self isName:CG_ICALENDAR_CONTENTLINE_NAME_BEGIN]; +} + +- (BOOL)isEnd +{ + return [self isName:CG_ICALENDAR_CONTENTLINE_NAME_END]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.h.svn-base new file mode 100755 index 0000000..7538b51 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.h.svn-base @@ -0,0 +1,42 @@ +// +// CGICalendarObject.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#import "CGICalendarComponent.h" +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_OBJECT_VERSION_DEFAULT @"2.0" +#define CG_ICALENDAR_OBJECT_PRODID_DEFAULT @"//CyberGarage//iCal4ObjC//EN" + +@interface CGICalendarObject : CGICalendarComponent { + +} + ++ (id)object; ++ (id)objectWithProdid:(NSString *)prodid; ++ (id)objectWithProdid:(NSString *)prodid version:(NSString *)version; + +- (id)init; +- (id)initWithProdid:(NSString *)prodid; +- (id)initWithProdid:(NSString *)prodid version:(NSString *)version; + +- (void)setVersion:(NSString *)version; +- (NSString *)version; + +- (void)setProdid:(NSString *)prodid; +- (NSString *)prodid; + +- (NSArray *)componentsWithType:(NSString *)type; +- (NSArray *)events; +- (NSArray *)todos; +- (NSArray *)journals; +- (NSArray *)freebusies; +- (NSArray *)timezones; + +@end + diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.m.svn-base new file mode 100755 index 0000000..1ff0d54 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarObject.m.svn-base @@ -0,0 +1,129 @@ +// +// CGICalendarObject.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarObject.h" + +#define CG_ICALENDAR_OBJECT_TYPE_DEFAULT @"VCALENDAR" +#define CG_ICALENDAR_OBJECT_VERSION_PARAM @"VERSION" +#define CG_ICALENDAR_OBJECT_PRODID_PARAM @"PRODID" + +@implementation CGICalendarObject + +#pragma mark - +#pragma mark Global + ++ (id)object +{ + return [[[CGICalendarObject alloc] init] autorelease]; +} + ++ (id)objectWithProdid:(NSString *)prodid +{ + return [[[CGICalendarObject alloc] initWithProdid:prodid] autorelease]; +} + ++ (id)objectWithProdid:(NSString *)prodid version:(NSString *)version +{ + return [[[CGICalendarObject alloc] initWithProdid:prodid version:version] autorelease]; +} + +#pragma mark - +#pragma mark Initialize + +- (id)init +{ + if ((self = [super init])) { + [self setType:CG_ICALENDAR_OBJECT_TYPE_DEFAULT]; + [self setVersion:CG_ICALENDAR_OBJECT_VERSION_DEFAULT]; + [self setProdid:CG_ICALENDAR_OBJECT_PRODID_DEFAULT]; + } + return self; +} + +- (id)initWithProdid:(NSString *)prodid version:(NSString *)version; +{ + if ((self = [super init])) { + [self setType:CG_ICALENDAR_OBJECT_TYPE_DEFAULT]; + [self setVersion:version]; + [self setProdid:prodid]; + } + return self; +} + +- (id)initWithProdid:(NSString *)prodid +{ + if ((self = [super init])) { + [self setType:CG_ICALENDAR_OBJECT_TYPE_DEFAULT]; + [self setVersion:CG_ICALENDAR_OBJECT_VERSION_DEFAULT]; + [self setProdid:prodid]; + } + return self; +} + +#pragma mark - +#pragma mark Property Utility Methods + +- (void)setVersion:(NSString *)version +{ + [self setPropertyValue:version forName:CG_ICALENDAR_OBJECT_VERSION_PARAM]; +} + +- (NSString *)version +{ + return [self propertyValueForName:CG_ICALENDAR_OBJECT_VERSION_PARAM]; +} + +- (void)setProdid:(NSString *)prodid +{ + [self setPropertyValue:prodid forName:CG_ICALENDAR_OBJECT_PRODID_PARAM]; +} + +- (NSString *)prodid +{ + return [self propertyValueForName:CG_ICALENDAR_OBJECT_PRODID_PARAM]; +} + +#pragma mark - +#pragma mark conponents + +- (NSArray *)componentsWithType:(NSString *)type +{ + NSMutableArray *typeComponents = [NSMutableArray array]; + for (CGICalendarComponent *icalComponent in [self components]) { + if ([icalComponent isType:type] == NO) + continue; + [typeComponents addObject:icalComponent]; + } + return typeComponents; +} + +- (NSArray *)events +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_EVENT]; +} + +- (NSArray *)todos +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_TODO]; +} + +- (NSArray *)journals +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_JOURNAL]; +} + +- (NSArray *)freebusies +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY]; +} + +- (NSArray *)timezones +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.h.svn-base new file mode 100755 index 0000000..ee5a54d --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.h.svn-base @@ -0,0 +1,18 @@ +// +// CGICalendarParameter.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> +#import "CGICalendarValue.h" + +@interface CGICalendarParameter : CGICalendarValue { + +} +- (id)init; +- (id)initWithString:(NSString *)aString; +- (void)setString:(NSString *)aString; +- (NSString *) string; +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.m.svn-base new file mode 100755 index 0000000..c604489 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarParameter.m.svn-base @@ -0,0 +1,46 @@ +// +// CGICalendarParameter.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarParameter.h" + +#define CG_ICALENDAR_PARAMETER_DELIM @"=" + +@implementation CGICalendarParameter + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +- (id)initWithString:(NSString *)aString +{ + if ((self = [self init])) { + [self setString:aString]; + } + return self; +} + +- (void)setString:(NSString *)aString +{ + NSArray *values = [aString componentsSeparatedByString:CG_ICALENDAR_PARAMETER_DELIM]; + if ([values count] < 2) + return; + [self setName:[values objectAtIndex:0]]; + [self setValue:[values objectAtIndex:1]]; +} + +- (NSString *) string; +{ + return [NSString stringWithFormat:@"%@%@%@", + [self name] ? [self name] : @"", + CG_ICALENDAR_PARAMETER_DELIM, + [self value] ? [self value] : @""]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.h.svn-base new file mode 100755 index 0000000..a2d4003 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.h.svn-base @@ -0,0 +1,78 @@ +// +// CGICalendarProperty.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> +#import "CGICalendarValue.h" +#import "CGICalendarParameter.h" + +#define CG_ICALENDAR_PROERTY_PARTSTAT @"PARTSTAT" + +#define CG_ICALENDAR_PROERTY_COMPLETED @"COMPLETED" +#define CG_ICALENDAR_PROERTY_DTEND @"DTEND" +#define CG_ICALENDAR_PROERTY_DUE @"DUE" +#define CG_ICALENDAR_PROERTY_DTSTART @"DTSTART" + +// 4.8.1 Descriptive Component Properties + +#define CG_ICALENDAR_PROERTY_DESCRIPTION @"DESCRIPTION" +#define CG_ICALENDAR_PROERTY_PRIORITY @"PRIORITY" +#define CG_ICALENDAR_PROERTY_SUMMARY @"SUMMARY" + +// 4.8.4 Relationship Component Properties +#define CG_ICALENDAR_PROERTY_UID @"UID" + +// 4.8.7 Change Management Component Properties + +#define CG_ICALENDAR_PROERTY_CREATED @"CREATED" +#define CG_ICALENDAR_PROERTY_DTSTAMP @"DTSTAMP" +#define CG_ICALENDAR_PROERTY_LASTMODIFIED @"LAST-MODIFIED" +#define CG_ICALENDAR_PROERTY_SEQUENCE @"SEQUENCE" + +enum { + CGICalendarParticipationStatusUnkown = 0, + CGICalendarParticipationStatusNeedsAction, + CGICalendarParticipationStatusAccepted, + CGICalendarParticipationStatusDeclined, + CGICalendarParticipationStatusTentative, + CGICalendarParticipationStatusDelegated, + CGICalendarParticipationStatusCompleted, + CGICalendarParticipationStatusInProcess, +}; + +@interface CGICalendarProperty : CGICalendarValue { +} +@property(retain) NSMutableArray *parameters; + +- (id)init; + +- (BOOL)hasParameterForName:(NSString *)name; +- (void)addParameter:(CGICalendarParameter *)parameter; +- (void)removeParameterForName:(NSString *)name; + +- (void)setParameterValue:(NSString *)value forName:(NSString *)name; +- (void)setParameterValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterObject:(id)object forName:(NSString *)name; +- (void)setParameterObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name; +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterInteger:(int)value forName:(NSString *)name; +- (void)setParameterInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterFloat:(float)value forName:(NSString *)name; +- (void)setParameterFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; + +- (CGICalendarParameter *)parameterAtIndex:(NSUInteger)index; +- (CGICalendarParameter *)parameterForName:(NSString *)name; +- (NSArray *)allParameterKeys; +- (NSString *)parameterValueForName:(NSString *)name; +- (NSDate *)parameterDateForName:(NSString *)name; +- (int)parameterIntegerForName:(NSString *)name; +- (float)parameterFloatForName:(NSString *)name; + +- (void)setParticipationStatus:(int)value; +- (int)participationStatus; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.m.svn-base new file mode 100755 index 0000000..eadcd13 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarProperty.m.svn-base @@ -0,0 +1,228 @@ +// +// CGICalendarProperty.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarProperty.h" +#import "CGICalendarContentLine.h" +#import "NSDate+CGICalendar.h" + +@implementation CGICalendarProperty + +@synthesize parameters; + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +#pragma mark - +#pragma mark Parameter + +- (BOOL)hasParameterForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) { + [[self parameters] removeObject:icalProp]; + return YES; + } + } + return NO; +} + +- (void)addParameter:(CGICalendarParameter *)parameter +{ + [[self parameters] addObject:parameter]; +} + +- (void)removeParameterForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) { + [[self parameters] removeObject:icalProp]; + return; + } + } +} + +- (void)setParameterValue:(NSString *)value forName:(NSString *)name +{ + CGICalendarParameter *icalProp = [self parameterForName:name]; + if (icalProp == nil) { + icalProp = [[[CGICalendarParameter alloc] init] autorelease]; + [icalProp setName:name]; + [self addParameter:icalProp]; + } + [icalProp setValue:value]; +} + +- (void)setParameterValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +{ + [self setParameterValue:value forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setParameterObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[object description] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setParameterObject:(id)object forName:(NSString *)name +{ + [self setParameterValue:[object description] forName:name]; +} + +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name +{ + [self setParameterValue:[object descriptionICalendar] forName:name]; +} + +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[object descriptionICalendar] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setParameterInteger:(int)value forName:(NSString *)name +{ + [self setParameterValue:[[NSNumber numberWithInteger:value] stringValue] forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setParameterInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[[NSNumber numberWithInteger:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setParameterFloat:(float)value forName:(NSString *)name +{ + [self setParameterValue:[[NSNumber numberWithFloat:value] stringValue] forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setParameterFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[[NSNumber numberWithFloat:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (id)parameterAtIndex:(NSUInteger)index +{ + return [[self parameters] objectAtIndex:index]; +} + +- (CGICalendarParameter *)parameterForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return icalProp; + } + return nil; +} + +- (NSArray *)allParameterKeys +{ + NSMutableArray *keys = [NSMutableArray array]; + for (CGICalendarParameter *icalProp in [self parameters]) + [keys addObject:[icalProp name]]; + return keys; +} + +- (NSString *)parameterValueForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp value]; + } + return nil; +} + +- (NSDate *)parameterDateForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp dateValue]; + } + return nil; +} + +- (int)parameterIntegerForName:(NSString *)name; +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp integerValue]; + } + return 0; +} + +- (float)parameterFloatForName:(NSString *)name; +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp floatValue]; + } + return 0; +} + +#pragma mark - +#pragma mark String + +- (NSString *)description +{ + NSMutableString *propertyString = [NSMutableString string]; + + [propertyString appendFormat:@"%@", [self name]]; + + for (CGICalendarParameter *icalParam in [self parameters]) + [propertyString appendFormat:@";%@", [icalParam description]]; + + [propertyString appendFormat:@"%:%@%@", ((0 < [[self value] length]) ? [self value] : @""), CG_ICALENDAR_CONTENTLINE_TERM]; + + return propertyString; +} + +#pragma mark - +#pragma mark ParticipationStatus + +- (NSArray *)participationStatusStrings +{ + static NSArray *statusStrings = nil; + + if (statusStrings == nil) { + statusStrings = [NSArray arrayWithObjects: + @"", + @"NEEDS-ACTION", + @"ACCEPTED", + @"DECLINED", + @"TENTATIVE", + @"DELEGATED", + @"COMPLETED", + @"IN-PROCESS", + nil]; + } + + return statusStrings; +} + +- (void)setParticipationStatus:(int)status +{ + NSArray *statusStrings = [self participationStatusStrings]; + if (status < 0 || ([statusStrings count]-1) < status) + return; + [self setValue:[statusStrings objectAtIndex:status]]; +} + +- (int)participationStatus +{ + if ([self value] == nil) + return CGICalendarParticipationStatusUnkown; + + NSArray *statusStrings = [self participationStatusStrings]; + for (int n=0; n<[statusStrings count]; n++) { + if ([[self value] isEqualToString:[statusStrings objectAtIndex:n]]) + return n; + } + + return CGICalendarParticipationStatusUnkown; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.h.svn-base new file mode 100755 index 0000000..d1020fa --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.h.svn-base @@ -0,0 +1,50 @@ +// +// CGICalendarValue.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +enum { + CGICalendarValueTypeUnknown = 0, + CGICalendarValueTypeBinary, + CGICalendarValueTypeBoolean, + CGICalendarValueTypeCalendarUserAddress, + CGICalendarValueTypeDate, + CGICalendarValueTypeDateTime, + CGICalendarValueTypeDuration, + CGICalendarValueTypeFloat, + CGICalendarValueTypeInteger, + CGICalendarValueTypePeriodOfTime, + CGICalendarValueTypeRecurrenceRule, + CGICalendarValueTypeText, + CGICalendarValueTypeTime, + CGICalendarValueTypeURI, + CGICalendarValueTypeUTCOffset, +}; + +@interface CGICalendarValue : NSObject { + +} +@property(assign) int type; +@property(retain) NSString *name; +@property(retain) NSString *value; + +- (id)init; + +- (BOOL)hasName; +- (BOOL)hasValue; + +- (BOOL)isName:(NSString *)aName; +- (BOOL)isValue:(NSString *)aValue; + +- (void)setObject:(id)value; +- (void)setDate:(NSDate *)value; + +- (NSDate *)dateValue; +- (int)integerValue; +- (float)floatValue; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.m.svn-base new file mode 100755 index 0000000..4364c11 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/CGICalendarValue.m.svn-base @@ -0,0 +1,77 @@ +// +// CGICalendarValue.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarValue.h" +#import "NSDate+CGICalendar.h" + +@implementation CGICalendarValue + +@synthesize type; +@synthesize value; +@synthesize name; + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +- (BOOL)hasName +{ + if ([self name] != nil && 0 < [[self name] length]) + return YES; + return NO; +} + +- (BOOL)hasValue +{ + if ([self value] != nil && 0 < [[self value] length]) + return YES; + return NO; +} + +- (BOOL)isName:(NSString *)aName +{ + if (aName == nil || [aName length] <= 0) + return NO; + return [aName isEqualToString:[self name]]; +} + +- (BOOL)isValue:(NSString *)aValue +{ + if (aValue == nil || [aValue length] <= 0) + return NO; + return [aValue isEqualToString:[self value]]; +} + +- (void)setObject:(id)aValue +{ + [self setValue:[value description]]; +} + +- (void)setDate:(NSDate *)aValue +{ + [self setValue:[aValue descriptionICalendar]]; +} + +- (NSDate *)dateValue +{ + return [NSDate dateWithICalendarString:[self value]]; +} + +- (int)integerValue +{ + return [[self value] integerValue]; +} + +- (float)floatValue +{ + return [[self value] floatValue]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.h.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.h.svn-base new file mode 100755 index 0000000..3e649c8 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.h.svn-base @@ -0,0 +1,16 @@ +// +// NSDate+CGICalendar.h +// +// Created by Satoshi Konno on 5/12/11. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + + +@interface NSDate(CGICalendar) ++ (id)dateWithICalendarString:(NSString *)aString; ++ (id)dateWithICalendarISO8601:(NSString *)aString; +- (NSString *)descriptionICalendar; +- (NSString *)descriptionISO8601; +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.m.svn-base b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.m.svn-base new file mode 100755 index 0000000..18a8339 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/.svn/text-base/NSDate+CGICalendar.m.svn-base @@ -0,0 +1,49 @@ +// +// NSDate+CGICalendar.m +// +// Created by Satoshi Konno on 5/12/11. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "NSDate+CGICalendar.h" + +#define CGNSDATE_ICALENDAR_DATETMEFORMAT @"YYYYMMdd'T'kkmmss'Z'" +#define CGNSDATE_ISO8601_DATETMEFORMAT @"YYYY-MM-dd kk:mm:ss" + +@implementation NSDate(CGICalendar) + ++ (id)dateWithICalendarString:(NSString *)aString +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; + [dateFormatter setTimeZone:timeZone]; + [dateFormatter setDateFormat:CGNSDATE_ICALENDAR_DATETMEFORMAT]; + return [dateFormatter dateFromString:aString]; +} + ++ (id)dateWithICalendarISO8601:(NSString *)aString +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setTimeStyle:NSDateFormatterFullStyle]; + [dateFormatter setDateFormat:CGNSDATE_ISO8601_DATETMEFORMAT]; + return [dateFormatter dateFromString:aString]; +} + +- (NSString *)descriptionICalendar +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; + [dateFormatter setTimeZone:timeZone]; + [dateFormatter setDateFormat:CGNSDATE_ICALENDAR_DATETMEFORMAT]; + return [dateFormatter stringFromDate:self]; +} + +- (NSString *)descriptionISO8601 +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setLocale:[NSLocale systemLocale]]; + [dateFormatter setDateFormat:CGNSDATE_ISO8601_DATETMEFORMAT]; + return [dateFormatter stringFromDate:self]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.h new file mode 100755 index 0000000..f69d8c3 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.h @@ -0,0 +1,39 @@ +// +// CGICalendar.h +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#import "CGICalendarObject.h" +#import "NSDate+CGICalendar.h" +#import "CGICalendarComponent.h" +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_HEADER_CONTENTLINE @"BEGIN:VCALENDAR" +#define CG_ICALENDAR_FOOTER_CONTENTLINE @"END:VCALENDAR" + +@interface CGICalendar : NSObject { + +} +@property(retain) NSMutableArray *objects; + ++ (NSString *)UUID; + +- (id)init; +- (id)initWithString:(NSString *)string; +- (id)initWithPath:(NSString *)path; + +- (BOOL)parseWithString:(NSString *)string error:(NSError **)error; +- (BOOL)parseWithPath:(NSString *)path error:(NSError **)error; + +- (void)addObject:(CGICalendarObject *)object; +- (CGICalendarObject *)objectAtIndex:(NSUInteger)index; + +- (NSString *)description; + +- (BOOL)writeToFile:(NSString *)path; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.m new file mode 100755 index 0000000..9260de5 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendar.m @@ -0,0 +1,217 @@ +// +// CGICalendar.m +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendar.h" +#import "CGICalendarContentLine.h" + +@interface CGICalendar() +@property(retain) NSMutableArray *parserStack; +- (id)peekParserObject; +- (id)popParserObject; +- (void)pushParserObject:(id)object; +- (void)clearParserObjects; +@end + +@implementation CGICalendar + +@synthesize objects; +@synthesize parserStack; + +#pragma mark - +#pragma mark Class Methods + ++ (NSString *)UUID +{ + CFUUIDRef uuid = CFUUIDCreate(nil); + NSString *uuidString = (NSString*)CFBridgingRelease(CFUUIDCreateString(nil, uuid)); + CFRelease(uuid); + return uuidString; +} + +#pragma mark - +#pragma mark Initialize + +- (id)init +{ + if ((self = [super init])) { + [self setObjects:[NSMutableArray array]]; + } + return self; +} + +- (id)initWithString:(NSString *)aString +{ + if ((self = [self init])) { + [self parseWithString:aString error:nil]; + } + return self; +} + +- (id)initWithPath:(NSString *)aPath +{ + if ((self = [self init])) { + [self parseWithPath:aPath error:nil]; + } + return self; +} + +#pragma mark - +#pragma mark Object + +- (void)addObject:(CGICalendarObject *)object +{ + [[self objects] addObject:object]; +} + +- (CGICalendarObject *)objectAtIndex:(NSUInteger)index +{ + return [[self objects] objectAtIndex:index]; +} + +#pragma mark - +#pragma mark Parser + +- (NSError *)createErrorAt:(NSUInteger)lineNumber lineString:(NSString *)lineString +{ + return [NSError errorWithDomain:@"iCalForObjC" code:-1 userInfo: + [NSDictionary dictionaryWithObjectsAndKeys: + [NSString stringWithFormat:@"%@", lineString], @"LineNumber", + lineString, @"ContentLine", + nil]]; +} + +- (BOOL)parseWithString:(NSString *)aString error:(NSError **)error +{ + [self setObjects:[NSMutableArray array]]; + [self clearParserObjects]; + + if (aString == nil) + return NO; + + NSArray *foldingContentLines = [aString componentsSeparatedByString:CG_ICALENDAR_CONTENTLINE_TERM]; + NSMutableArray *contentLines = [NSMutableArray array]; + for (NSString *foldingContentLine in foldingContentLines) { + if (foldingContentLine == nil) + continue; + if ([CGICalendarContentLine IsFoldingLineString:foldingContentLine] == NO) { + [contentLines addObject:[NSMutableString stringWithString:foldingContentLine]]; + continue; + } + NSMutableString *lastLineString = [contentLines lastObject]; + if (lastLineString == nil) + continue; + [lastLineString appendString:[foldingContentLine substringWithRange:NSMakeRange(1, ([foldingContentLine length] - 1))]]; + } + + int contentLineNumber = 0; + for (NSString *contentLine in contentLines) { + contentLineNumber++; + + CGICalendarContentLine *icalContentLine = [[CGICalendarContentLine alloc] initWithString:contentLine]; + CGICalendarComponent *icalParentComponent = [self peekParserObject]; + + // BEGIN + if ([icalContentLine isBegin]) { + CGICalendarComponent *icalComponent; + if (icalParentComponent == nil) { + icalComponent = [[CGICalendarObject alloc] init]; + [self addObject:(CGICalendarObject *)icalComponent]; + } + else { + icalComponent = [[CGICalendarComponent alloc] init]; + [icalParentComponent addComponent:icalComponent]; + } + [icalComponent setType:[icalContentLine value]]; + [self pushParserObject:icalComponent]; + continue; + } + + // END + if ([icalContentLine isEnd]) { + [self popParserObject]; + continue; + } + + NSString *propertyName = [icalContentLine name]; + CGICalendarProperty *icalProperty = [icalParentComponent propertyForName:propertyName]; + if (icalProperty == nil) { + icalProperty = [[CGICalendarProperty alloc] init]; + [icalProperty setName:propertyName]; + [icalParentComponent addProperty:icalProperty]; + } + [icalProperty setValue:[icalContentLine value]]; + for (CGICalendarParameter *icalParameter in [icalContentLine parameters]) + [icalProperty setParameterValue:[icalParameter value] forName:[icalParameter name]]; + + } + + return YES; +} + +- (BOOL)parseWithPath:(NSString *)path error:(NSError **)error +{ + NSData *fileData = [NSData dataWithContentsOfFile:path]; + if (fileData == nil) + return NO; + return [self parseWithString:[[NSString alloc] initWithData:fileData encoding:NSUTF8StringEncoding] error:error]; +} + +#pragma mark - +#pragma mark Parser Stack Methods + +- (id)peekParserObject +{ + return [[self parserStack] lastObject]; +} + +- (id)popParserObject +{ + id lastObject = [[self parserStack] lastObject]; + [[self parserStack] removeLastObject]; + return lastObject; +} + +- (void)pushParserObject:(id)object +{ + [[self parserStack] addObject:object]; +} + +- (void)clearParserObjects +{ + [self setParserStack:[NSMutableArray array]]; +} + +#pragma mark - +#pragma mark String + +- (NSString *)description +{ + NSMutableString *descrString = [NSMutableString string]; + + for (CGICalendarObject *icalObj in [self objects]) + [descrString appendString:[icalObj description]]; + + return descrString; +} + +#pragma mark - +#pragma mark File + +- (BOOL)writeToFile:(NSString *)path +{ + NSString *desc = [self description]; + if (desc == nil) + return NO; + + NSData *data = [desc dataUsingEncoding:NSUTF8StringEncoding]; + if (data == nil) + return NO; + + return [data writeToFile:path atomically:YES]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.h new file mode 100755 index 0000000..f000bec --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.h @@ -0,0 +1,129 @@ +// +// CGICalendarComponent.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_COMPONENT_TYPE_EVENT @"VEVENT" +#define CG_ICALENDAR_COMPONENT_TYPE_TODO @"VTODO" +#define CG_ICALENDAR_COMPONENT_TYPE_JOURNAL @"VJOURNAL" +#define CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY @"VFREEBUSY" +#define CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE @"VTIMEZONE" +#define CG_ICALENDAR_COMPONENT_TYPE_ALARM @"VALARM" + +@interface CGICalendarComponent : NSObject { + +} +@property(retain) NSString *type; +@property(retain) NSMutableArray *components; +@property(retain) NSMutableArray *properties; + ++ (id)componentWithType:(NSString *)type; ++ (id)event; ++ (id)todo; ++ (id)journal; ++ (id)freebusy; ++ (id)timezone; ++ (id)alarm; + +- (id)initWithType:(NSString *)type; + +- (BOOL)isType:(NSString *)type; +- (BOOL)isEvent; +- (BOOL)isTodo; +- (BOOL)isJournal; +- (BOOL)isFreebusy; +- (BOOL)isTimezone; +- (BOOL)isAlarm; + +- (void)addComponent:(CGICalendarComponent *)component; +- (void)insertComponent:(CGICalendarComponent *)component atIndex:(NSUInteger)index; +- (CGICalendarComponent *)componentAtIndex:(NSUInteger)index; +- (NSUInteger)indexOfComponent:(CGICalendarComponent *)component; +- (void)removeComponent:(CGICalendarComponent *)component; +- (void)removeComponentAtIndex:(NSUInteger)index; + +- (BOOL)hasPropertyForName:(NSString *)name; +- (void)addProperty:(CGICalendarProperty *)property; +- (void)removePropertyForName:(NSString *)name; + +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name; +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyObject:(id)object forName:(NSString *)name; +- (void)setPropertyObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name; +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyInteger:(int)value forName:(NSString *)name; +- (void)setPropertyInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setPropertyFloat:(float)value forName:(NSString *)name; +- (void)setPropertyFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; + +- (NSArray *)allPropertyKeys; +- (CGICalendarProperty *)propertyAtIndex:(NSUInteger)index; +- (CGICalendarProperty *)propertyForName:(NSString *)name; + +- (NSString *)propertyValueForName:(NSString *)name; +- (NSDate *)propertyDateForName:(NSString *)name; +- (int)propertyIntegerForName:(NSString *)name; +- (float)propertyFloatForName:(NSString *)name; + +- (NSString *)description; + +// 4.2.12 Participation Status +- (void)setParticipationStatus:(int)status; +- (int)participationStatus; + +// 4.8.1.5 Description +- (void)setNotes:(NSString *)value; +- (NSString *)notes; + +// 4.8.1.9 Priority +- (void)setPriority:(NSUInteger)value; +- (NSUInteger)priority; + +// 4.8.1.12 Summary +- (void)setSummary:(NSString *)value; +- (NSString *)summary; + +// 4.8.2.1 Date/Time Completed +- (void)setCompleted:(NSDate *)value; +- (NSDate *)completed; + +// 4.8.2.2 Date/Time End +- (void)setDateTimeEnd:(NSDate *)value; +- (NSDate *)dateTimeEnd; + +// 4.8.2.3 Date/Time Due +- (void)setDue:(NSDate *)value; +- (NSDate *)due; + +// 4.8.2.4 Date/Time Start +- (void)setDateTimeStart:(NSDate *)value; +- (NSDate *)dateTimeStart; + +// 4.8.4.7 Unique Identifier +- (void)setUID:(NSString *)value; +- (NSString *)UID; + +// 4.8.7.1 Date/Time Created +- (void)setCreated:(NSDate *)value; +- (NSDate *)created; + +// 4.8.7.2 Date/Time Stamp +- (void)setDateTimeStamp:(NSDate *)value; +- (NSDate *)dateTimeStamp; + +// 4.8.7.3 Last Modified +- (void)setLastModified:(NSDate *)value; +- (NSDate *)lastModified; + +// 4.8.7.4 Sequence Number +- (void)setSequenceNumber:(NSUInteger)value; +- (NSUInteger)sequenceNumber; +- (void)incrementSequenceNumber; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.m new file mode 100755 index 0000000..0f9b01e --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarComponent.m @@ -0,0 +1,523 @@ +// +// CGICalendarComponent.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendar.h" +#import "CGICalendarComponent.h" +#import "CGICalendarContentLine.h" +#import "NSDate+CGICalendar.h" + +#define CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT 0 + +@implementation CGICalendarComponent + +@synthesize type; +@synthesize components; +@synthesize properties; + +#pragma mark - +#pragma mark Global methods + ++ (id)componentWithType:(NSString *)aType +{ + return [[CGICalendarComponent alloc] initWithType:aType]; +} + ++ (id)event +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_EVENT]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + [icalComp setSequenceNumber:CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT]; + return icalComp; +} + ++ (id)todo +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_TODO]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + [icalComp setSequenceNumber:CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT]; + [icalComp setCreated:[NSDate date]]; + return icalComp; +} + ++ (id)journal +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_JOURNAL]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + [icalComp setSequenceNumber:CG_ICALENDAR_COMPONENT_SEQUENCE_DEFAULT]; + return icalComp; +} + ++ (id)freebusy +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY]; + [icalComp setUID:[CGICalendar UUID]]; + [icalComp setDateTimeStamp:[NSDate date]]; + return icalComp; +} + ++ (id)timezone +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE]; + return icalComp; +} + ++ (id)alarm +{ + CGICalendarComponent *icalComp = [CGICalendarComponent componentWithType:CG_ICALENDAR_COMPONENT_TYPE_ALARM]; + return icalComp; +} + +#pragma mark - +#pragma mark init + +- (id)init +{ + if ((self = [super init])) { + [self setComponents:[NSMutableArray array]]; + [self setProperties:[NSMutableArray array]]; + } + return self; +} + +- (id)initWithType:(NSString *)aType +{ + if ((self = [self init])) { + [self setType:aType]; + } + return self; +} + +#pragma mark - +#pragma mark Component + +- (void)addComponent:(CGICalendarComponent *)component +{ + [[self components] addObject:component]; +} + +- (void)insertComponent:(CGICalendarComponent *)component atIndex:(NSUInteger)index +{ + [[self components] insertObject:component atIndex:index]; +} + +- (CGICalendarComponent *)componentAtIndex:(NSUInteger)index +{ + return [[self components] objectAtIndex:index]; +} + +- (NSUInteger)indexOfComponent:(CGICalendarComponent *)component +{ + return [[self components] indexOfObject:component]; +} + +- (void)removeComponent:(CGICalendarComponent *)component +{ + [[self components] removeObject:component]; +} + +- (void)removeComponentAtIndex:(NSUInteger)index +{ + [[self components] removeObjectAtIndex:index]; +} + +#pragma mark - +#pragma mark Property + +- (BOOL)hasPropertyForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) { + [[self properties] removeObject:icalProp]; + return YES; + } + } + return NO; +} + +- (void)addProperty:(CGICalendarProperty *)property +{ + [[self properties] addObject:property]; +} + +- (void)removePropertyForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) { + [[self properties] removeObject:icalProp]; + return; + } + } +} + +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name +{ + [self setPropertyValue:value forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setPropertyValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +{ + CGICalendarProperty *icalProp = [self propertyForName:name]; + if (icalProp == nil) { + icalProp = [[CGICalendarProperty alloc] init]; + [icalProp setName:name]; + [self addProperty:icalProp]; + } + [icalProp setValue:value]; + + if ([parameterValues count] != [parameterNames count]) + return; + + for (int n=0; n<[parameterNames count]; n++) { + NSString *name = [parameterNames objectAtIndex:n]; + id value = [parameterNames objectAtIndex:n]; + [icalProp setParameterObject:value forName:name]; + } +} + +- (void)setPropertyObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[object description] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setPropertyObject:(id)object forName:(NSString *)name +{ + [self setPropertyValue:[object description] forName:name]; +} + +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name +{ + [self setPropertyValue:[object descriptionICalendar] forName:name]; +} + +- (void)setPropertyDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[object descriptionICalendar] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setPropertyInteger:(int)value forName:(NSString *)name +{ + [self setPropertyValue:[[NSNumber numberWithInteger:value] stringValue] forName:name]; +} + +- (void)setPropertyInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[[NSNumber numberWithInteger:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setPropertyFloat:(float)value forName:(NSString *)name +{ + [self setPropertyValue:[[NSNumber numberWithFloat:value] stringValue] forName:name]; +} + +- (void)setPropertyFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setPropertyValue:[[NSNumber numberWithFloat:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (id)propertyAtIndex:(NSUInteger)index +{ + return [[self properties] objectAtIndex:index]; +} + +- (CGICalendarProperty *)propertyForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return icalProp; + } + return nil; +} + +- (NSArray *)allPropertyKeys +{ + NSMutableArray *keys = [NSMutableArray array]; + for (CGICalendarProperty *icalProp in [self properties]) + [keys addObject:[icalProp name]]; + return keys; +} + +- (NSString *)propertyValueForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp value]; + } + return nil; +} + +- (NSDate *)propertyDateForName:(NSString *)name +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp dateValue]; + } + return nil; +} + +- (int)propertyIntegerForName:(NSString *)name; +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp integerValue]; + } + return 0; +} + +- (float)propertyFloatForName:(NSString *)name; +{ + for (CGICalendarProperty *icalProp in [self properties]) { + if ([icalProp isName:name]) + return [icalProp floatValue]; + } + return 0; +} + +#pragma mark - +#pragma mark String + +- (BOOL)isType:(NSString *)aType +{ + return [aType isEqualToString:[self type]]; +} + +- (BOOL)isEvent +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_EVENT]; +} + +- (BOOL)isTodo +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_TODO]; +} + +- (BOOL)isJournal +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_JOURNAL]; +} + +- (BOOL)isFreebusy +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY]; +} + +- (BOOL)isTimezone +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE]; +} + +- (BOOL)isAlarm +{ + return [self isType:CG_ICALENDAR_COMPONENT_TYPE_ALARM]; +} + +#pragma mark - +#pragma mark String + +#define CG_ICALENDAR_CONTENTLINE_NAME_BEGIN @"BEGIN" +#define CG_ICALENDAR_CONTENTLINE_NAME_END @"END" + +- (NSString *)description +{ + NSMutableString *objectsString = [NSMutableString string]; + + [objectsString appendFormat:@"%@:%@%@",CG_ICALENDAR_CONTENTLINE_NAME_BEGIN, [self type], CG_ICALENDAR_CONTENTLINE_TERM]; + + for (CGICalendarProperty *icalProp in [self properties]) + [objectsString appendString:[icalProp description]]; + + for (CGICalendarComponent *icalComp in [self components]) + [objectsString appendString:[icalComp description]]; + + [objectsString appendFormat:@"%@:%@%@",CG_ICALENDAR_CONTENTLINE_NAME_END, [self type], CG_ICALENDAR_CONTENTLINE_TERM]; + + return objectsString; +} + +#pragma mark - +#pragma mark 4.2.12 Participation Status + +- (void)setParticipationStatus:(int)status +{ + CGICalendarProperty *icalProp = [self propertyForName:CG_ICALENDAR_PROERTY_PARTSTAT]; + if (icalProp == nil) + icalProp = [[CGICalendarProperty alloc] init]; + [icalProp setParticipationStatus:status]; +} + +- (int)participationStatus +{ + CGICalendarProperty *icalProp = [self propertyForName:CG_ICALENDAR_PROERTY_PARTSTAT]; + if (icalProp == nil) + return CGICalendarParticipationStatusUnkown; + return [icalProp participationStatus]; +} + +#pragma mark - +#pragma mark 4.8.1.5 Description + +- (void)setNotes:(NSString *)value +{ + [self setPropertyValue:value forName:CG_ICALENDAR_PROERTY_DESCRIPTION]; +} + +- (NSString *)notes +{ + return [self propertyValueForName:CG_ICALENDAR_PROERTY_DESCRIPTION]; +} + +#pragma mark - +#pragma mark 4.8.1.9 Priority + +- (void)setPriority:(NSUInteger)value +{ + [self setPropertyInteger:(int)value forName:CG_ICALENDAR_PROERTY_PRIORITY]; +} + +- (NSUInteger)priority +{ + return [self propertyIntegerForName:CG_ICALENDAR_PROERTY_PRIORITY]; +} + +#pragma mark - +#pragma mark 4.8.1.12 Summary + +- (void)setSummary:(NSString *)value +{ + [self setPropertyValue:value forName:CG_ICALENDAR_PROERTY_SUMMARY]; +} + +- (NSString *)summary +{ + return [self propertyValueForName:CG_ICALENDAR_PROERTY_SUMMARY]; +} + +#pragma mark - +#pragma mark 4.8.2.1 Date/Time Completed + +- (void)setCompleted:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_COMPLETED]; +} + +- (NSDate *)completed +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_COMPLETED]; +} + +#pragma mark - +#pragma mark 4.8.2.2 Date/Time End + +- (void)setDateTimeEnd:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DTEND]; +} + +- (NSDate *)dateTimeEnd +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DTEND]; +} + +#pragma mark - +#pragma mark 4.8.2.3 Date/Time Due + +- (void)setDue:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DUE]; +} + +- (NSDate *)due +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DUE]; +} + +#pragma mark - +#pragma mark 4.8.2.4 Date/Time Start + +- (void)setDateTimeStart:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DTSTART]; +} + +- (NSDate *)dateTimeStart +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DTSTART]; +} + +#pragma mark - +#pragma mark 4.8.4.7 Unique Identifier + +- (void)setUID:(NSString *)value +{ + [self setPropertyValue:value forName:CG_ICALENDAR_PROERTY_UID]; +} + +- (NSString *)UID +{ + return [self propertyValueForName:CG_ICALENDAR_PROERTY_UID]; +} + +#pragma mark - +#pragma mark 4.8.7.1 Date/Time Created + +- (void)setCreated:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_CREATED]; +} + +- (NSDate *)created +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_CREATED]; +} + +#pragma mark - +#pragma mark 4.8.7.2 Date/Time Stamp + +- (void)setDateTimeStamp:(NSDate *)value +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_DTSTAMP]; +} + +- (NSDate *)dateTimeStamp +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_DTSTAMP]; +} + +#pragma mark - +#pragma mark 4.8.7.3 Last Modified + +- (void)setLastModified:(NSDate *)value; +{ + [self setPropertyDate:value forName:CG_ICALENDAR_PROERTY_LASTMODIFIED]; +} + +- (NSDate *)lastModified; +{ + return [self propertyDateForName:CG_ICALENDAR_PROERTY_LASTMODIFIED]; +} + +#pragma mark - +#pragma mark 4.8.7.4 Sequence Number + +- (void)setSequenceNumber:(NSUInteger)value +{ + [self setPropertyInteger:(int)value forName:CG_ICALENDAR_PROERTY_SEQUENCE]; +} + +- (NSUInteger)sequenceNumber +{ + return [self propertyIntegerForName:CG_ICALENDAR_PROERTY_SEQUENCE]; +} + +- (void)incrementSequenceNumber +{ + [self setSequenceNumber:([self sequenceNumber] + 1)]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.h new file mode 100755 index 0000000..f87ffac --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.h @@ -0,0 +1,41 @@ +// +// CGICalendarContentLine.h +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_CONTENTLINE_TERM @"\r\n" +#define CG_ICALENDAR_CONTENTLINE_FOLDING_SPACE @" " +#define CG_ICALENDAR_CONTENTLINE_FOLDING_TAB @"\t" +#define CG_ICALENDAR_CONTENTLINE_DELIM @":" +#define CG_ICALENDAR_CONTENTLINE_NAMEPARAM_DELIM @";" + +#define CG_ICALENDAR_CONTENTLINE_NAME_BEGIN @"BEGIN" +#define CG_ICALENDAR_CONTENTLINE_NAME_END @"END" + +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VCALENDAR @"VCALENDAR" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VEVENT @"VEVENT" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VJOURNAL @"VJOURNAL" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VFREEBUSY @"VFREEBUSY" +#define CG_ICALENDAR_CONTENTLINE_CONPONENT_VTIMEZONE @"VTIMEZONE" + +@interface CGICalendarContentLine : CGICalendarProperty { + +} ++ (BOOL)IsFoldingLineString:(NSString *)aString; ++ (id)contentLineWithString:(NSString *)aString; + +- (id)init; +- (id)initWithString:(NSString *)aString; +- (void)setString:(NSString *)aString; + +- (NSString *)description; + +- (BOOL)isBegin; +- (BOOL)isEnd; +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.m new file mode 100755 index 0000000..390e9c2 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarContentLine.m @@ -0,0 +1,183 @@ +// +// CGICalendarContentLine.m +// +// Created by Satoshi Konno on 11/01/28. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarContentLine.h" + +/* + The following notation defines the lines of content in an iCalendar + object: + + contentline = name *(";" param ) ":" value CRLF + ; This ABNF is just a general definition for an initial parsing + ; of the content line into its property name, parameter list, + ; and value string + + ; When parsing a content line, folded lines MUST first + ; be unfolded according to the unfolding procedure + ; described above. When generating a content line, lines + ; longer than 75 octets SHOULD be folded according to + ; the folding procedure described above. + + name = x-name / iana-token + + iana-token = 1*(ALPHA / DIGIT / "-") + ; iCalendar identifier registered with IANA + + x-name = "X-" [vendorid "-"] 1*(ALPHA / DIGIT / "-") + ; Reservered for experimental use. Not intended for use in + ; released products. + + vendorid = 3*(ALPHA / DIGIT) ;Vendor identification + + param = param-name "=" param-value + *("," param-value) + ; Each property defines the specific ABNF for the parameters + ; allowed on the property. Refer to specific properties for + ; precise parameter ABNF. + + param-name = iana-token / x-token + + param-value = paramtext / quoted-string + + paramtext = *SAFE-CHAR + + value = *VALUE-CHAR + + quoted-string = DQUOTE *QSAFE-CHAR DQUOTE + + NON-US-ASCII = %x80-F8 + ; Use restricted by charset parameter + ; on outer MIME object (UTF-8 preferred) + + QSAFE-CHAR = WSP / %x21 / %x23-7E / NON-US-ASCII + ; Any character except CTLs and DQUOTE + + SAFE-CHAR = WSP / %x21 / %x23-2B / %x2D-39 / %x3C-7E + / NON-US-ASCII + ; Any character except CTLs, DQUOTE, ";", ":", "," + + VALUE-CHAR = WSP / %x21-7E / NON-US-ASCII + ; Any textual character + + CR = %x0D + ; carriage return + + LF = %x0A + ; line feed + + CRLF = CR LF + ; Internet standard newline + + CTL = %x00-08 / %x0A-1F / %x7F + ; Controls + + ALPHA = %x41-5A / %x61-7A ; A-Z / a-z + + DIGIT = %x30-39 + ; 0-9 + + DQUOTE = %x22 + ; Quotation Mark + + WSP = SPACE / HTAB + + SPACE = %x20 + + HTAB = %x09 + */ + +@implementation CGICalendarContentLine + ++ (BOOL)IsFoldingLineString:(NSString *)aString +{ + if ([aString hasPrefix:CG_ICALENDAR_CONTENTLINE_FOLDING_SPACE] || [aString hasPrefix:CG_ICALENDAR_CONTENTLINE_FOLDING_TAB]) + return YES; + return NO; +} + ++ (id)contentLineWithString:(NSString *)aString +{ + CGICalendarContentLine *icalContentLine = [[CGICalendarContentLine alloc] initWithString:aString]; + return icalContentLine; +} + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +- (id)initWithString:(NSString *)aString +{ + if ((self = [self init])) { + [self setString:aString]; + } + return self; +} + +- (void)setString:(NSString *)aString +{ + NSString *nowNewLineString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]]; + NSArray *values = [nowNewLineString componentsSeparatedByString:CG_ICALENDAR_CONTENTLINE_DELIM]; + int valuesCnt = (int)[values count]; + if (valuesCnt < 2) + return; + + NSArray *nameParams = [[values objectAtIndex:0] componentsSeparatedByString:CG_ICALENDAR_CONTENTLINE_NAMEPARAM_DELIM]; + NSMutableArray *params = [NSMutableArray array]; + int nameParamsCnt = (int)[nameParams count]; + for (int n=0; n<nameParamsCnt; n++) { + if (n == 0) { + [self setName:[nameParams objectAtIndex:0]]; + continue; + } + CGICalendarParameter *icalParam = [[CGICalendarParameter alloc] initWithString:[nameParams objectAtIndex:n]]; + [params addObject:icalParam]; + } + [self setParameters:params]; + + NSMutableString *valueString = [NSMutableString string]; + for (int n=1; n<valuesCnt; n++) { + if (1 < n) + [valueString appendString:CG_ICALENDAR_CONTENTLINE_DELIM]; + [valueString appendString:[values objectAtIndex:n]]; + } + [self setValue:valueString]; +} + +- (NSString *)description; +{ + NSMutableString *contentLine = [NSMutableString string]; + if ([self hasName]) + [contentLine appendString:[self name]]; + + for (CGICalendarParameter *param in [self parameters]) { + [contentLine appendString:CG_ICALENDAR_CONTENTLINE_NAMEPARAM_DELIM]; + [contentLine appendString:[param string]]; + } + + [contentLine appendString:CG_ICALENDAR_CONTENTLINE_DELIM]; + if ([self hasValue]) + [contentLine appendString:[self value]]; + + [contentLine appendString:CG_ICALENDAR_CONTENTLINE_TERM]; + + return contentLine; +} + +- (BOOL)isBegin +{ + return [self isName:CG_ICALENDAR_CONTENTLINE_NAME_BEGIN]; +} + +- (BOOL)isEnd +{ + return [self isName:CG_ICALENDAR_CONTENTLINE_NAME_END]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.h new file mode 100755 index 0000000..7538b51 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.h @@ -0,0 +1,42 @@ +// +// CGICalendarObject.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +#import "CGICalendarComponent.h" +#import "CGICalendarProperty.h" + +#define CG_ICALENDAR_OBJECT_VERSION_DEFAULT @"2.0" +#define CG_ICALENDAR_OBJECT_PRODID_DEFAULT @"//CyberGarage//iCal4ObjC//EN" + +@interface CGICalendarObject : CGICalendarComponent { + +} + ++ (id)object; ++ (id)objectWithProdid:(NSString *)prodid; ++ (id)objectWithProdid:(NSString *)prodid version:(NSString *)version; + +- (id)init; +- (id)initWithProdid:(NSString *)prodid; +- (id)initWithProdid:(NSString *)prodid version:(NSString *)version; + +- (void)setVersion:(NSString *)version; +- (NSString *)version; + +- (void)setProdid:(NSString *)prodid; +- (NSString *)prodid; + +- (NSArray *)componentsWithType:(NSString *)type; +- (NSArray *)events; +- (NSArray *)todos; +- (NSArray *)journals; +- (NSArray *)freebusies; +- (NSArray *)timezones; + +@end + diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.m new file mode 100755 index 0000000..7a388f1 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarObject.m @@ -0,0 +1,129 @@ +// +// CGICalendarObject.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarObject.h" + +#define CG_ICALENDAR_OBJECT_TYPE_DEFAULT @"VCALENDAR" +#define CG_ICALENDAR_OBJECT_VERSION_PARAM @"VERSION" +#define CG_ICALENDAR_OBJECT_PRODID_PARAM @"PRODID" + +@implementation CGICalendarObject + +#pragma mark - +#pragma mark Global + ++ (id)object +{ + return [[CGICalendarObject alloc] init]; +} + ++ (id)objectWithProdid:(NSString *)prodid +{ + return [[CGICalendarObject alloc] initWithProdid:prodid]; +} + ++ (id)objectWithProdid:(NSString *)prodid version:(NSString *)version +{ + return [[CGICalendarObject alloc] initWithProdid:prodid version:version]; +} + +#pragma mark - +#pragma mark Initialize + +- (id)init +{ + if ((self = [super init])) { + [self setType:CG_ICALENDAR_OBJECT_TYPE_DEFAULT]; + [self setVersion:CG_ICALENDAR_OBJECT_VERSION_DEFAULT]; + [self setProdid:CG_ICALENDAR_OBJECT_PRODID_DEFAULT]; + } + return self; +} + +- (id)initWithProdid:(NSString *)prodid version:(NSString *)version; +{ + if ((self = [super init])) { + [self setType:CG_ICALENDAR_OBJECT_TYPE_DEFAULT]; + [self setVersion:version]; + [self setProdid:prodid]; + } + return self; +} + +- (id)initWithProdid:(NSString *)prodid +{ + if ((self = [super init])) { + [self setType:CG_ICALENDAR_OBJECT_TYPE_DEFAULT]; + [self setVersion:CG_ICALENDAR_OBJECT_VERSION_DEFAULT]; + [self setProdid:prodid]; + } + return self; +} + +#pragma mark - +#pragma mark Property Utility Methods + +- (void)setVersion:(NSString *)version +{ + [self setPropertyValue:version forName:CG_ICALENDAR_OBJECT_VERSION_PARAM]; +} + +- (NSString *)version +{ + return [self propertyValueForName:CG_ICALENDAR_OBJECT_VERSION_PARAM]; +} + +- (void)setProdid:(NSString *)prodid +{ + [self setPropertyValue:prodid forName:CG_ICALENDAR_OBJECT_PRODID_PARAM]; +} + +- (NSString *)prodid +{ + return [self propertyValueForName:CG_ICALENDAR_OBJECT_PRODID_PARAM]; +} + +#pragma mark - +#pragma mark conponents + +- (NSArray *)componentsWithType:(NSString *)type +{ + NSMutableArray *typeComponents = [NSMutableArray array]; + for (CGICalendarComponent *icalComponent in [self components]) { + if ([icalComponent isType:type] == NO) + continue; + [typeComponents addObject:icalComponent]; + } + return typeComponents; +} + +- (NSArray *)events +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_EVENT]; +} + +- (NSArray *)todos +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_TODO]; +} + +- (NSArray *)journals +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_JOURNAL]; +} + +- (NSArray *)freebusies +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_FREEBUSY]; +} + +- (NSArray *)timezones +{ + return [self componentsWithType:CG_ICALENDAR_COMPONENT_TYPE_TIMEZONE]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.h new file mode 100755 index 0000000..ee5a54d --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.h @@ -0,0 +1,18 @@ +// +// CGICalendarParameter.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> +#import "CGICalendarValue.h" + +@interface CGICalendarParameter : CGICalendarValue { + +} +- (id)init; +- (id)initWithString:(NSString *)aString; +- (void)setString:(NSString *)aString; +- (NSString *) string; +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.m new file mode 100755 index 0000000..c604489 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarParameter.m @@ -0,0 +1,46 @@ +// +// CGICalendarParameter.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarParameter.h" + +#define CG_ICALENDAR_PARAMETER_DELIM @"=" + +@implementation CGICalendarParameter + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +- (id)initWithString:(NSString *)aString +{ + if ((self = [self init])) { + [self setString:aString]; + } + return self; +} + +- (void)setString:(NSString *)aString +{ + NSArray *values = [aString componentsSeparatedByString:CG_ICALENDAR_PARAMETER_DELIM]; + if ([values count] < 2) + return; + [self setName:[values objectAtIndex:0]]; + [self setValue:[values objectAtIndex:1]]; +} + +- (NSString *) string; +{ + return [NSString stringWithFormat:@"%@%@%@", + [self name] ? [self name] : @"", + CG_ICALENDAR_PARAMETER_DELIM, + [self value] ? [self value] : @""]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.h new file mode 100755 index 0000000..a2d4003 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.h @@ -0,0 +1,78 @@ +// +// CGICalendarProperty.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> +#import "CGICalendarValue.h" +#import "CGICalendarParameter.h" + +#define CG_ICALENDAR_PROERTY_PARTSTAT @"PARTSTAT" + +#define CG_ICALENDAR_PROERTY_COMPLETED @"COMPLETED" +#define CG_ICALENDAR_PROERTY_DTEND @"DTEND" +#define CG_ICALENDAR_PROERTY_DUE @"DUE" +#define CG_ICALENDAR_PROERTY_DTSTART @"DTSTART" + +// 4.8.1 Descriptive Component Properties + +#define CG_ICALENDAR_PROERTY_DESCRIPTION @"DESCRIPTION" +#define CG_ICALENDAR_PROERTY_PRIORITY @"PRIORITY" +#define CG_ICALENDAR_PROERTY_SUMMARY @"SUMMARY" + +// 4.8.4 Relationship Component Properties +#define CG_ICALENDAR_PROERTY_UID @"UID" + +// 4.8.7 Change Management Component Properties + +#define CG_ICALENDAR_PROERTY_CREATED @"CREATED" +#define CG_ICALENDAR_PROERTY_DTSTAMP @"DTSTAMP" +#define CG_ICALENDAR_PROERTY_LASTMODIFIED @"LAST-MODIFIED" +#define CG_ICALENDAR_PROERTY_SEQUENCE @"SEQUENCE" + +enum { + CGICalendarParticipationStatusUnkown = 0, + CGICalendarParticipationStatusNeedsAction, + CGICalendarParticipationStatusAccepted, + CGICalendarParticipationStatusDeclined, + CGICalendarParticipationStatusTentative, + CGICalendarParticipationStatusDelegated, + CGICalendarParticipationStatusCompleted, + CGICalendarParticipationStatusInProcess, +}; + +@interface CGICalendarProperty : CGICalendarValue { +} +@property(retain) NSMutableArray *parameters; + +- (id)init; + +- (BOOL)hasParameterForName:(NSString *)name; +- (void)addParameter:(CGICalendarParameter *)parameter; +- (void)removeParameterForName:(NSString *)name; + +- (void)setParameterValue:(NSString *)value forName:(NSString *)name; +- (void)setParameterValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterObject:(id)object forName:(NSString *)name; +- (void)setParameterObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name; +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterInteger:(int)value forName:(NSString *)name; +- (void)setParameterInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +- (void)setParameterFloat:(float)value forName:(NSString *)name; +- (void)setParameterFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; + +- (CGICalendarParameter *)parameterAtIndex:(NSUInteger)index; +- (CGICalendarParameter *)parameterForName:(NSString *)name; +- (NSArray *)allParameterKeys; +- (NSString *)parameterValueForName:(NSString *)name; +- (NSDate *)parameterDateForName:(NSString *)name; +- (int)parameterIntegerForName:(NSString *)name; +- (float)parameterFloatForName:(NSString *)name; + +- (void)setParticipationStatus:(int)value; +- (int)participationStatus; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.m new file mode 100755 index 0000000..86b38df --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarProperty.m @@ -0,0 +1,228 @@ +// +// CGICalendarProperty.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarProperty.h" +#import "CGICalendarContentLine.h" +#import "NSDate+CGICalendar.h" + +@implementation CGICalendarProperty + +@synthesize parameters; + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +#pragma mark - +#pragma mark Parameter + +- (BOOL)hasParameterForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) { + [[self parameters] removeObject:icalProp]; + return YES; + } + } + return NO; +} + +- (void)addParameter:(CGICalendarParameter *)parameter +{ + [[self parameters] addObject:parameter]; +} + +- (void)removeParameterForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) { + [[self parameters] removeObject:icalProp]; + return; + } + } +} + +- (void)setParameterValue:(NSString *)value forName:(NSString *)name +{ + CGICalendarParameter *icalProp = [self parameterForName:name]; + if (icalProp == nil) { + icalProp = [[CGICalendarParameter alloc] init]; + [icalProp setName:name]; + [self addParameter:icalProp]; + } + [icalProp setValue:value]; +} + +- (void)setParameterValue:(NSString *)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames; +{ + [self setParameterValue:value forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setParameterObject:(id)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[object description] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setParameterObject:(id)object forName:(NSString *)name +{ + [self setParameterValue:[object description] forName:name]; +} + +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name +{ + [self setParameterValue:[object descriptionICalendar] forName:name]; +} + +- (void)setParameterDate:(NSDate *)object forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[object descriptionICalendar] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setParameterInteger:(int)value forName:(NSString *)name +{ + [self setParameterValue:[[NSNumber numberWithInteger:value] stringValue] forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setParameterInteger:(int)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[[NSNumber numberWithInteger:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (void)setParameterFloat:(float)value forName:(NSString *)name +{ + [self setParameterValue:[[NSNumber numberWithFloat:value] stringValue] forName:name parameterValues:[NSArray array] parameterNames:[NSArray array]]; +} + +- (void)setParameterFloat:(float)value forName:(NSString *)name parameterValues:(NSArray *)parameterValues parameterNames:(NSArray *)parameterNames +{ + [self setParameterValue:[[NSNumber numberWithFloat:value] stringValue] forName:name parameterValues:parameterValues parameterNames:parameterNames]; +} + +- (id)parameterAtIndex:(NSUInteger)index +{ + return [[self parameters] objectAtIndex:index]; +} + +- (CGICalendarParameter *)parameterForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return icalProp; + } + return nil; +} + +- (NSArray *)allParameterKeys +{ + NSMutableArray *keys = [NSMutableArray array]; + for (CGICalendarParameter *icalProp in [self parameters]) + [keys addObject:[icalProp name]]; + return keys; +} + +- (NSString *)parameterValueForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp value]; + } + return nil; +} + +- (NSDate *)parameterDateForName:(NSString *)name +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp dateValue]; + } + return nil; +} + +- (int)parameterIntegerForName:(NSString *)name; +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp integerValue]; + } + return 0; +} + +- (float)parameterFloatForName:(NSString *)name; +{ + for (CGICalendarParameter *icalProp in [self parameters]) { + if ([icalProp isName:name]) + return [icalProp floatValue]; + } + return 0; +} + +#pragma mark - +#pragma mark String + +- (NSString *)description +{ + NSMutableString *propertyString = [NSMutableString string]; + + [propertyString appendFormat:@"%@", [self name]]; + + for (CGICalendarParameter *icalParam in [self parameters]) + [propertyString appendFormat:@";%@", [icalParam description]]; + + [propertyString appendFormat:@"%:%@%@", ((0 < [[self value] length]) ? [self value] : @""), CG_ICALENDAR_CONTENTLINE_TERM]; + + return propertyString; +} + +#pragma mark - +#pragma mark ParticipationStatus + +- (NSArray *)participationStatusStrings +{ + static NSArray *statusStrings = nil; + + if (statusStrings == nil) { + statusStrings = [NSArray arrayWithObjects: + @"", + @"NEEDS-ACTION", + @"ACCEPTED", + @"DECLINED", + @"TENTATIVE", + @"DELEGATED", + @"COMPLETED", + @"IN-PROCESS", + nil]; + } + + return statusStrings; +} + +- (void)setParticipationStatus:(int)status +{ + NSArray *statusStrings = [self participationStatusStrings]; + if (status < 0 || ([statusStrings count]-1) < status) + return; + [self setValue:[statusStrings objectAtIndex:status]]; +} + +- (int)participationStatus +{ + if ([self value] == nil) + return CGICalendarParticipationStatusUnkown; + + NSArray *statusStrings = [self participationStatusStrings]; + for (int n=0; n<[statusStrings count]; n++) { + if ([[self value] isEqualToString:[statusStrings objectAtIndex:n]]) + return n; + } + + return CGICalendarParticipationStatusUnkown; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.h b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.h new file mode 100755 index 0000000..d1020fa --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.h @@ -0,0 +1,50 @@ +// +// CGICalendarValue.h +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + +enum { + CGICalendarValueTypeUnknown = 0, + CGICalendarValueTypeBinary, + CGICalendarValueTypeBoolean, + CGICalendarValueTypeCalendarUserAddress, + CGICalendarValueTypeDate, + CGICalendarValueTypeDateTime, + CGICalendarValueTypeDuration, + CGICalendarValueTypeFloat, + CGICalendarValueTypeInteger, + CGICalendarValueTypePeriodOfTime, + CGICalendarValueTypeRecurrenceRule, + CGICalendarValueTypeText, + CGICalendarValueTypeTime, + CGICalendarValueTypeURI, + CGICalendarValueTypeUTCOffset, +}; + +@interface CGICalendarValue : NSObject { + +} +@property(assign) int type; +@property(retain) NSString *name; +@property(retain) NSString *value; + +- (id)init; + +- (BOOL)hasName; +- (BOOL)hasValue; + +- (BOOL)isName:(NSString *)aName; +- (BOOL)isValue:(NSString *)aValue; + +- (void)setObject:(id)value; +- (void)setDate:(NSDate *)value; + +- (NSDate *)dateValue; +- (int)integerValue; +- (float)floatValue; + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.m b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.m new file mode 100755 index 0000000..4364c11 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/CGICalendarValue.m @@ -0,0 +1,77 @@ +// +// CGICalendarValue.m +// +// Created by Satoshi Konno on 11/01/27. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "CGICalendarValue.h" +#import "NSDate+CGICalendar.h" + +@implementation CGICalendarValue + +@synthesize type; +@synthesize value; +@synthesize name; + +- (id)init +{ + if ((self = [super init])) { + } + return self; +} + +- (BOOL)hasName +{ + if ([self name] != nil && 0 < [[self name] length]) + return YES; + return NO; +} + +- (BOOL)hasValue +{ + if ([self value] != nil && 0 < [[self value] length]) + return YES; + return NO; +} + +- (BOOL)isName:(NSString *)aName +{ + if (aName == nil || [aName length] <= 0) + return NO; + return [aName isEqualToString:[self name]]; +} + +- (BOOL)isValue:(NSString *)aValue +{ + if (aValue == nil || [aValue length] <= 0) + return NO; + return [aValue isEqualToString:[self value]]; +} + +- (void)setObject:(id)aValue +{ + [self setValue:[value description]]; +} + +- (void)setDate:(NSDate *)aValue +{ + [self setValue:[aValue descriptionICalendar]]; +} + +- (NSDate *)dateValue +{ + return [NSDate dateWithICalendarString:[self value]]; +} + +- (int)integerValue +{ + return [[self value] integerValue]; +} + +- (float)floatValue +{ + return [[self value] floatValue]; +} + +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.h b/WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.h new file mode 100755 index 0000000..3e649c8 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.h @@ -0,0 +1,16 @@ +// +// NSDate+CGICalendar.h +// +// Created by Satoshi Konno on 5/12/11. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import <Foundation/Foundation.h> + + +@interface NSDate(CGICalendar) ++ (id)dateWithICalendarString:(NSString *)aString; ++ (id)dateWithICalendarISO8601:(NSString *)aString; +- (NSString *)descriptionICalendar; +- (NSString *)descriptionISO8601; +@end diff --git a/WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.m b/WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.m new file mode 100755 index 0000000..18a8339 --- /dev/null +++ b/WPI Calendar Event Creator/iCalObjCSDK/NSDate+CGICalendar.m @@ -0,0 +1,49 @@ +// +// NSDate+CGICalendar.m +// +// Created by Satoshi Konno on 5/12/11. +// Copyright 2011 Satoshi Konno. All rights reserved. +// + +#import "NSDate+CGICalendar.h" + +#define CGNSDATE_ICALENDAR_DATETMEFORMAT @"YYYYMMdd'T'kkmmss'Z'" +#define CGNSDATE_ISO8601_DATETMEFORMAT @"YYYY-MM-dd kk:mm:ss" + +@implementation NSDate(CGICalendar) + ++ (id)dateWithICalendarString:(NSString *)aString +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; + [dateFormatter setTimeZone:timeZone]; + [dateFormatter setDateFormat:CGNSDATE_ICALENDAR_DATETMEFORMAT]; + return [dateFormatter dateFromString:aString]; +} + ++ (id)dateWithICalendarISO8601:(NSString *)aString +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setTimeStyle:NSDateFormatterFullStyle]; + [dateFormatter setDateFormat:CGNSDATE_ISO8601_DATETMEFORMAT]; + return [dateFormatter dateFromString:aString]; +} + +- (NSString *)descriptionICalendar +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"UTC"]; + [dateFormatter setTimeZone:timeZone]; + [dateFormatter setDateFormat:CGNSDATE_ICALENDAR_DATETMEFORMAT]; + return [dateFormatter stringFromDate:self]; +} + +- (NSString *)descriptionISO8601 +{ + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setLocale:[NSLocale systemLocale]]; + [dateFormatter setDateFormat:CGNSDATE_ISO8601_DATETMEFORMAT]; + return [dateFormatter stringFromDate:self]; +} + +@end diff --git a/WPI Calendar Event Creator/rsz_wpicalendareventcreatorappicon.png b/WPI Calendar Event Creator/rsz_wpicalendareventcreatorappicon.png new file mode 100644 index 0000000000000000000000000000000000000000..888958d0407726e394a770211cf87d547e1aad2d GIT binary patch literal 10914 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 bN@iLmZVffteZ?3U7#KWV{an^LB{Ts5sNiU$ literal 0 HcmV?d00001 -- GitLab