diff --git a/Final Project Report/appendix/appendix.tex b/Final Project Report/appendix/appendix.tex new file mode 100755 index 0000000..084a49e --- /dev/null +++ b/Final Project Report/appendix/appendix.tex @@ -0,0 +1,143 @@ +\chapter{Project Specification} +Summary of the project outline. + +\section{Functional Requirements} +some text here + +\section{Non-Functional Requirements} +some text here + +\chapter{Project Management} +Discussion on how the project was managed. What things impacted the success of the project. How does the continually revised versions of the project plan compare to the initial draft developed at the start of the project. Did everything run according to schedule. What impact did elements such as exams \& coursework have on the project. + +Professor Randy Pausch is well known for his contribution to the Alice 3D environment as well as lectures on Time Management and Fulfilling your Childhood Dreams. Both of these lectures are well worth watching, as such \cite{online:Doolan:2015:PauschLecture} outlines the main elements of both lectures, the post features a number of links allowing one to jump to particular segments of interest in the video lectures. Another post \cite{online:Doolan:2016:SchwarzeneggerInterview} highlights the key elements of success in the form of Goals, Confidence and Time Management. The post once again summarizes and provides links to the key elements of a video interview with Arnold Schwarzenegger. + +\chapter{Another Appendix} + +This appendix makes use of the \emph{rotating} package to rotate both figures and tables ninety degrees allowing for large datasets and illustrations to be represented. + +\begin{figure}[H] +\centering +\includegraphics[width=.9\linewidth]{appendix/images/TemplateStructure.pdf} +\caption{Thesis Template Folder and \latex File Structure} +\label{fig:append:TemplateStructure} +\end{figure} + +\begin{sidewaystable} +\begin{center} + \begin{tabular}{llllllllll} + \toprule + \textbf{Heading 1} & \textbf{Heading 2} & \textbf{Heading 3} & \textbf{Heading 4} & \textbf{Heading 5} & \textbf{Heading 6} & \textbf{Heading 7} & \textbf{Heading 8} & \textbf{Heading 9} & \textbf{Heading 10} \cr + \midrule + aaaa & bbbb & cccc & dddd & eeee & ffff & gggg & hhhh & iiii & jjjj \cr + aaaa & bbbb & cccc & dddd & eeee & ffff & gggg & hhhh & iiii & jjjj \cr + aaaa & bbbb & cccc & dddd & eeee & ffff & gggg & hhhh & iiii & jjjj \cr + aaaa & bbbb & cccc & dddd & eeee & ffff & gggg & hhhh & iiii & jjjj \cr + aaaa & bbbb & cccc & dddd & eeee & ffff & gggg & hhhh & iiii & jjjj \cr + aaaa & bbbb & cccc & dddd & eeee & ffff & gggg & hhhh & iiii & jjjj \cr + \bottomrule + \end{tabular} +\caption[A Short Caption for the Table]{ + A much longer caption that will not be listed in the list of tables page. +} +\label{tab:sidewaysTable} +\end{center} +\end{sidewaystable} + +\begin{sidewaysfigure} +\centerline{\includegraphics[width=7in]{appendix/images/samplepng}} +\caption[A Sideways Figure]{ + A much longer caption that will not be listed in the list of figures page. +} +\label{fig:sidewaysFigure} +\end{sidewaysfigure} + +\chapter{Presentation Slides} +One can readily prepare presentation slides using PowerPoint or Keynote. Saving / Exporting the slides as a pdf document allows for it to be easily incorporated into this template. Each slide will be scaled to 0.45 of the \textbackslash textwidth, individual pages of the file can be accessed via the page=x option of \textbackslash includegraphics. + + +\begin{figure}[H] +\parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=1]{appendix/images/PresentationSlides} + \caption*{Slide 1} +} + \parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=2]{appendix/images/PresentationSlides} + \caption*{Slide 2} +} +\end{figure} + +\begin{figure}[H] +\parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=3]{appendix/images/PresentationSlides} + \caption*{Slide 3} +} + \parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=4]{appendix/images/PresentationSlides} + \caption*{Slide 4} +} +\end{figure} + +\begin{figure}[H] +\parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=5]{appendix/images/PresentationSlides} + \caption*{Slide 5} +} + \parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=6]{appendix/images/PresentationSlides} + \caption*{Slide 6} +} +\end{figure} + +\begin{figure}[H] +\parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=7]{appendix/images/PresentationSlides} + \caption*{Slide 7} +} + \parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=8]{appendix/images/PresentationSlides} + \caption*{Slide 8} +} +\end{figure} + +\begin{figure}[H] +\parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=9]{appendix/images/PresentationSlides} + \caption*{Slide 9} +} + \parbox{74.mm}{ + \centering + \includegraphics[width=0.45\textwidth,page=10]{appendix/images/PresentationSlides} + \caption*{Slide 10} +} +\end{figure} + +\chapter{Project Log} + +The following is a weekly summary of the work carried during the development of this body of work. It covers tasks that were completed, tutorials that were worked through, articles that were read and summaries of discussions / meetings held with the project supervisor and other third parties. + +\section*{Week Beginning: Monday 26/09/2016} + +First week working on the project. Had a meeting with supervisor and discussed some of the issues related to the project. The first deliverable is due for the end of next week (project outline \& ethics form). + +\begin{itemize} + \item Downloaded and Installed \latex (MikTeX full install) \& Winshell. + \item Started to get to grips with the \latex system by making simple modifications to the template and editing the project log. + \item Developed a Mind Map to clarify understanding of project elements. + \item Prepared an initial draft of project plan in the form of a Gantt chart. + \item Prepared and revised draft of project proposal \& filled in ethics form. + \item Downloaded and read half a dozen BSc Reports to see the general format and expected content. + \item Started learning how to use some API's needed for the project. +\end{itemize} + + + diff --git a/Final Project Report/appendix/images/PresentationSlides.pdf b/Final Project Report/appendix/images/PresentationSlides.pdf new file mode 100755 index 0000000..1f2d325 Binary files /dev/null and b/Final Project Report/appendix/images/PresentationSlides.pdf differ diff --git a/Final Project Report/appendix/images/TemplateStructure.pdf b/Final Project Report/appendix/images/TemplateStructure.pdf new file mode 100755 index 0000000..4c7c220 Binary files /dev/null and b/Final Project Report/appendix/images/TemplateStructure.pdf differ diff --git a/Final Project Report/appendix/images/samplepng.png b/Final Project Report/appendix/images/samplepng.png new file mode 100755 index 0000000..2d39f54 Binary files /dev/null and b/Final Project Report/appendix/images/samplepng.png differ diff --git a/Final Project Report/background/background.tex b/Final Project Report/background/background.tex new file mode 100755 index 0000000..bbfb6f2 --- /dev/null +++ b/Final Project Report/background/background.tex @@ -0,0 +1,9 @@ +\chapter{Background Research}\label{ch:Background} + +This chapter provides some background research on the project and examines some previous work. + +\section{Conclusions} + +The main conclusions for this chapter. + + diff --git a/Final Project Report/bath.bst b/Final Project Report/bath.bst new file mode 100755 index 0000000..14b920c --- /dev/null +++ b/Final Project Report/bath.bst @@ -0,0 +1,1737 @@ +%% +%% This is file `bath.bst', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% bath-bst.dtx (with options: `bst') +%% ---------------------------------------------------------------- +%% bath-bst --- Harvard referencing style as recommended by the University of Bath Library +%% Author: Alex Ball +%% E-mail: a.j.ball@bath.ac.uk +%% License: Released under the LaTeX Project Public License v1.3c or later +%% See: http://www.latex-project.org/lppl.txt +%% ---------------------------------------------------------------- +%% +ENTRY + { address + archive + author + booktitle + chapter + doi + edition + editor + eid + eprint + howpublished + institution + journal + key + language + month + note + number + organization + pages + publisher + school + series + title + titleaddon + type + url + urldate + venue + volume + year + } + {} + { label extra.label sort.label short.list } +INTEGERS { output.state before.all mid.sentence after.sentence after.block } +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} +STRINGS { s t} +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + "\newblock " write$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} +{ " " * before.all 'output.state := +} + +FUNCTION {date.block} +{ + new.block +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "\emph{" swap$ * "}" * } + if$ +} +FUNCTION {tie.or.space.prefix} +{ duplicate$ text.length$ #3 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {capitalize} +{ "u" change.case$ "t" change.case$ } + +FUNCTION {space.word} +{ " " swap$ * " " * } +FUNCTION {bbl.and} +{ "and"} + +FUNCTION {bbl.etal} +{ "et~al." } + +FUNCTION {bbl.editors} +{ "eds." } + +FUNCTION {bbl.editor} +{ "ed." } + +FUNCTION {bbl.edby} +{ "edited by" } + +FUNCTION {bbl.edition} +{ "ed." } + +FUNCTION {bbl.volume} +{ "vol." } + +FUNCTION {bbl.of} +{ "of" } + +FUNCTION {bbl.number} +{ "no." } + +FUNCTION {bbl.nr} +{ "no." } + +FUNCTION {bbl.in} +{ "in" } + +FUNCTION {bbl.pages} +{ "pp." } + +FUNCTION {bbl.page} +{ "p." } + +FUNCTION {bbl.chapter} +{ "chap." } + +FUNCTION {bbl.techrep} +{ "Tech. Rep." } + +FUNCTION {bbl.mthesis} +{ "Master's thesis" } + +FUNCTION {bbl.phdthesis} +{ "Ph.D. thesis" } + +FUNCTION {bbl.first} +{ "1st" } + +FUNCTION {bbl.second} +{ "2nd" } + +FUNCTION {bbl.third} +{ "3rd" } + +FUNCTION {bbl.fourth} +{ "4th" } + +FUNCTION {bbl.fifth} +{ "5th" } + +FUNCTION {bbl.st} +{ "st" } + +FUNCTION {bbl.nd} +{ "nd" } + +FUNCTION {bbl.rd} +{ "rd" } + +FUNCTION {bbl.th} +{ "th" } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +FUNCTION {eng.ord} +{ duplicate$ "1" swap$ * + #-2 #1 substring$ "1" = + { bbl.th * } + { duplicate$ #-1 #1 substring$ + duplicate$ "1" = + { pop$ bbl.st * } + { duplicate$ "2" = + { pop$ bbl.nd * } + { "3" = + { bbl.rd * } + { bbl.th * } + if$ + } + if$ + } + if$ + } + if$ +} + +FUNCTION {bibinfo.check} +{ swap$ + duplicate$ missing$ + { + pop$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ pop$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + { + swap$ "missing " swap$ * " in " * cite$ * warning$ pop$ + "" + } + { duplicate$ empty$ + { + swap$ "empty " swap$ * " in " * cite$ * warning$ + } + { swap$ + "\bibinfo{" swap$ * "}{" * swap$ * "}" * + } + if$ + } + if$ +} +FUNCTION {format.eprint} +{ eprint duplicate$ empty$ + 'skip$ + { "\eprint" + archive empty$ + 'skip$ + { "[" * archive * "]" * } + if$ + "{" * swap$ * "}" * + } + if$ +} +FUNCTION {format.url} +{ + doi empty$ + { url } + { "http://doi.org/" doi * } + if$ + duplicate$ empty$ + { pop$ "" } + { "\urlprefix\url{" swap$ * "}" * } + if$ + urldate empty$ + 'skip$ + { " [\urldateprefix{}" * urldate * "]" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +STRINGS { bibinfo} + +FUNCTION {format.names} +{ 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll}{, jj}{, f{.}.}{~vv}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.names.ed} +{ + 'bibinfo := + duplicate$ empty$ 'skip$ { + 's := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{f{.}.~}{vv~}{ll}{ jj}" + format.name$ + bibinfo bibinfo.check + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + } if$ +} +FUNCTION {format.key} +{ empty$ + { key field.or.null } + { "" } + if$ +} + +FUNCTION {format.authors} +{ author "author" format.names +} +FUNCTION {get.bbl.editor} +{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + +FUNCTION {format.editors} +{ editor "editor" format.names duplicate$ empty$ 'skip$ + { + "," * + " " * + get.bbl.editor + * + } + if$ +} +FUNCTION {select.language} +{ duplicate$ empty$ + 'pop$ + { language empty$ + 'skip$ + { "{\selectlanguage{" language * "}" * swap$ * "}" * } + if$ + } + if$ +} + +FUNCTION {format.note} +{ + note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ + } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check + } + if$ +} + +FUNCTION {format.title} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + select.language + } + if$ + titleaddon + duplicate$ empty$ 'pop$ + { tie.or.space.prefix + "titleaddon" bibinfo.check * * + } + if$ +} +FUNCTION {format.full.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.editor.key.full} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {author.key.full} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.full.names } + if$ +} + +FUNCTION {editor.key.full} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.full.names } + if$ +} + +FUNCTION {make.full.names} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.full + { type$ "proceedings" = + 'editor.key.full + 'author.key.full + if$ + } + if$ +} + +FUNCTION {output.bibitem} +{ newline$ + "\bibitem[{" write$ + label write$ + ")" make.full.names duplicate$ short.list = + { pop$ } + { * } + if$ + "}]{" * write$ + cite$ write$ + "}" write$ + newline$ + "" + before.all 'output.state := +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} +{ bbl.in capitalize + ":" * + " " * } + +FUNCTION {format.date} +{ year "year" bibinfo.check duplicate$ empty$ + { + } + 'skip$ + if$ + extra.label * +} +FUNCTION {format.btitle} +{ title + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "title" bibinfo.check + duplicate$ empty$ 'skip$ + { + emphasize + select.language + } + if$ + titleaddon + duplicate$ empty$ 'pop$ + { tie.or.space.prefix + "titleaddon" bibinfo.check * * + } + if$ +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { bbl.volume volume tie.or.space.prefix + "volume" bibinfo.check * * + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { emphasize ", " * swap$ * } + if$ + "volume and number" number either.or.check + } + if$ +} +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { series empty$ + { number "number" bibinfo.check } + { series "series" bibinfo.check + number tie.or.space.prefix "number" bibinfo.check * * + } + if$ + } + if$ + } + { "" } + if$ +} +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ + } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {convert.edition} +{ extract.num "l" change.case$ 's := + s "first" = s "1" = or + { bbl.first 't := } + { s "second" = s "2" = or + { bbl.second 't := } + { s "third" = s "3" = or + { bbl.third 't := } + { s "fourth" = s "4" = or + { bbl.fourth 't := } + { s "fifth" = s "5" = or + { bbl.fifth 't := } + { s #1 #1 substring$ is.num + { s eng.ord 't := } + { edition 't := } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + } + if$ + t +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + { + convert.edition + output.state mid.sentence = + { "l" } + { "t" } + if$ change.case$ + "edition" bibinfo.check + " " * bbl.edition * + } + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { + bbl.pages swap$ + n.dashify + } + { + bbl.page swap$ + } + if$ + "pages" bibinfo.check + * + } + if$ +} +FUNCTION {format.journal.pages} +{ pages duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ + { pop$ pop$ format.pages } + { + ", " * + swap$ + n.dashify + pages multi.page.check + 'bbl.pages + 'bbl.page + if$ + swap$ + "pages" bibinfo.check + * * + } + if$ + } + if$ +} +FUNCTION {format.journal.eid} +{ eid "eid" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ duplicate$ empty$ 'skip$ + { + ", " * + } + if$ + swap$ * + } + if$ +} +FUNCTION {format.vol.num.pages} +{ volume field.or.null + duplicate$ empty$ 'skip$ + { + "volume" bibinfo.check + } + if$ + number "number" bibinfo.check duplicate$ empty$ 'skip$ + { + swap$ duplicate$ empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + swap$ + "(" swap$ * ")" * + } + if$ * + eid empty$ + { format.journal.pages } + { format.journal.eid } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check + } + if$ + chapter tie.or.space.prefix + "chapter" bibinfo.check + * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.booktitle} +{ booktitle + duplicate$ empty$ 'skip$ + { "t" change.case$ } + if$ + "booktitle" bibinfo.check + emphasize +} +FUNCTION {format.in.ed.booktitle} +{ format.booktitle duplicate$ empty$ 'skip$ + { + editor "editor" format.names.ed duplicate$ empty$ 'pop$ + { + "," * + " " * + get.bbl.editor + " " * + * swap$ + * + word.in swap$ * + } + if$ + } + if$ +} +FUNCTION {format.thesis.type} +{ type duplicate$ empty$ + 'pop$ + { swap$ pop$ + "t" change.case$ "type" bibinfo.check + } + if$ +} +FUNCTION {format.tr.number} +{ type duplicate$ empty$ + { pop$ + number duplicate$ empty$ + { pop$ "" + } + { "(" swap$ + "number" bibinfo.check + * ")" * + } + if$ + } + { "(" swap$ + "t" change.case$ "type" bibinfo.check + * + number duplicate$ empty$ + 'pop$ + { tie.or.space.prefix + "number" bibinfo.check + * * + } + if$ + ")" * + } + if$ +} +FUNCTION {format.article.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.book.crossref} +{ volume duplicate$ empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + pop$ word.in + } + { bbl.volume + capitalize + swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word * + } + if$ + " \cite{" * crossref * "}" * +} +FUNCTION {format.incoll.inproc.crossref} +{ + word.in + " \cite{" * crossref * "}" * +} +FUNCTION {format.org.or.pub} +{ 't := + "" + address empty$ t empty$ and + 'skip$ + { + address "address" bibinfo.check * + t empty$ + 'skip$ + { address empty$ + 'skip$ + { ": " * } + if$ + t * + } + if$ + } + if$ +} +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.warn format.org.or.pub +} +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.org.or.pub +} +FUNCTION {format.institution.address} +{ institution "institution" bibinfo.check format.org.or.pub +} + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { + journal + "journal" bibinfo.check + emphasize + "journal" output.check + format.vol.num.pages output + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} +FUNCTION {book} +{ output.bibitem + author empty$ + { editor empty$ + { format.btitle "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.editors "author and editor" output.check + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + format.bvolume output + format.number.series output + new.block + format.edition output + crossref missing$ + { new.sentence + format.publisher.address output + } + { + new.block + format.book.crossref output.nonnull + } + if$ + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + author empty$ + { format.btitle "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + new.block + howpublished "howpublished" bibinfo.check output + publisher empty$ 'skip$ + { new.block} + if$ + format.publisher.address output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check + editor format.key output + } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + format.date "year" output.check + date.block + format.btitle "title" output.check + crossref missing$ + { + format.publisher.address output + format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + } + { + format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.publisher.address output + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + format.edition output + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + venue "venue" output.check + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + format.bvolume output + format.number.series output + format.pages output + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + author empty$ + { format.btitle "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + new.block + format.number.series output + organization address new.block.checkb + format.organization.address output + format.edition output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + new.block + bbl.mthesis format.thesis.type output.nonnull + new.block + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + author empty$ + { format.title "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.authors output + author format.key output + format.date "year" output.check + date.block + format.title "title" output.check + } + if$ + new.block + howpublished "howpublished" bibinfo.check output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + new.block + bbl.phdthesis format.thesis.type output.nonnull + new.block + school "school" bibinfo.warn output + address "address" bibinfo.check output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { format.btitle "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.editors output + editor format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + format.bvolume output + format.number.series output + new.sentence + publisher empty$ + { format.organization.address output } + { organization "organization" bibinfo.check output + format.publisher.address output + } + if$ + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {techreport} +{ output.bibitem + author empty$ + { format.btitle "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + new.block + publisher empty$ + { format.institution.address output } + { institution "institution" bibinfo.check output + format.publisher.address output + } + if$ + format.tr.number output + new.block + format.note output + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {unpublished} +{ output.bibitem + author empty$ + { format.btitle "title" output.check + format.date "year" output.check + year empty$ 'skip$ { date.block } if$ + } + { format.authors output + author format.key output + format.date "year" output.check + date.block + format.btitle "title" output.check + } + if$ + new.block + format.note "note" output.check + new.block + format.eprint output + format.url output + fin.entry +} + +FUNCTION {audio} { booklet } +FUNCTION {movie} { booklet } +FUNCTION {music} { booklet } +FUNCTION {video} { booklet } +FUNCTION {dataset} { manual } +FUNCTION {electronic} { manual } +FUNCTION {online} { manual } +FUNCTION {patent} { manual } +FUNCTION {software} { manual } +FUNCTION {standard} { manual } +FUNCTION {www} { manual } +FUNCTION {default.type} { misc } + +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {format.lab.names} +{'s := + "" 't := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{vv~}{ll}" format.name$ + 't := + nameptr #1 > + { + nameptr #2 = + numnames #3 > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + namesleft #1 > + { ", " * t * } + { + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { + " " * bbl.etal * + } + { + bbl.and + space.word * t * + } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.label} +{ editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + 'key + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.short.authors} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.label + 'author.key.label + if$ + } + if$ + 'short.list := +} + +FUNCTION {calc.label} +{ calc.short.authors + short.list + "(" + * + year duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ + * + 'label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr + "{ll{ }}{ f{ }}{ jj{ }}{ vv{}}" + format.name$ 't := + nameptr #1 > + { + " " * + namesleft #1 = t "others" = and + { "zzzzz" 't := } + 'skip$ + if$ + t sortify * + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {author.sort} +{ author empty$ + { title empty$ + { key empty$ + { "to sort, need author, title, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { title sort.format.title } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { title empty$ + { key empty$ + { "to sort, need author, editor, title, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { title sort.format.title } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} +FUNCTION {editor.sort} +{ editor empty$ + { title empty$ + { key empty$ + { "to sort, need editor, title, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { title sort.format.title } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + label sortify + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.sort + 'author.sort + if$ + } + if$ + #1 entry.max$ substring$ + 'sort.label := + sort.label + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} +SORT +STRINGS { last.label next.extra } +INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label } +FUNCTION {initialize.extra.label.stuff} +{ #0 int.to.chr$ 'last.label := + "" 'next.extra := + #0 'last.extra.num := + "a" chr.to.int$ #1 - 'last.extra.num.blank := + last.extra.num.blank 'last.extra.num.extended := + #0 'number.label := +} +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num "z" chr.to.int$ > + { "a" chr.to.int$ 'last.extra.num := + last.extra.num.extended #1 + 'last.extra.num.extended := + } + 'skip$ + if$ + last.extra.num.extended last.extra.num.blank > + { last.extra.num.extended int.to.chr$ + last.extra.num int.to.chr$ + * 'extra.label := } + { last.extra.num int.to.chr$ 'extra.label := } + if$ + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ + number.label #1 + 'number.label := +} +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + extra.label 'next.extra := + extra.label + duplicate$ empty$ + 'skip$ + { "{\natexlab{" swap$ * "}}" * } + if$ + 'extra.label := + label extra.label * 'label := +} +EXECUTE {initialize.extra.label.stuff} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {bib.sort.order} +{ sort.label + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * + #1 entry.max$ substring$ + 'sort.key$ := +} +ITERATE {bib.sort.order} +SORT +FUNCTION {begin.bib} +{ preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + "\begin{thebibliography}{" number.label int.to.str$ * "}" * + write$ newline$ + "\providecommand{\natexlab}[1]{#1}" + write$ newline$ + "\providecommand{\url}[1]{\texttt{#1}}" + write$ newline$ + "\providecommand{\urlprefix}{Available from: }" + write$ newline$ + "\providecommand{\urldateprefix}{Accessed }" + write$ newline$ + "\providecommand{\selectlanguage}[1]{\relax}" + write$ newline$ + "\providecommand{\bibinfo}[2]{#2}" + write$ newline$ + "\providecommand{\eprint}[2][]{\url{#2}}" + write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +ITERATE {call.type$} +FUNCTION {end.bib} +{ newline$ + "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +%% +%% Copyright (C) 2016 by University of Bath +%% +%% End of file `bath.bst'. diff --git a/Final Project Report/bculogo.jpg b/Final Project Report/bculogo.jpg new file mode 100755 index 0000000..30273be Binary files /dev/null and b/Final Project Report/bculogo.jpg differ diff --git a/Final Project Report/conclude/conclude.tex b/Final Project Report/conclude/conclude.tex new file mode 100755 index 0000000..4f0dfae --- /dev/null +++ b/Final Project Report/conclude/conclude.tex @@ -0,0 +1,11 @@ +\chapter{Conclusion}\label{ch:Conclusion} + +This chapter summarises the main positive outcomes and conclusions resulting from this body of work. One can explore the overall journey, problems encountered and solutions found. Of key importance is the ``Future Work'' section highlighting how the product may be further developed with new and improved features, futher resources and time. + +\section{Conclusions} + +The main conclusions that may be drawn from the body of work. + +\section{Future Work} + +Further development that could be carried out in the future. diff --git a/Final Project Report/design/design.tex b/Final Project Report/design/design.tex new file mode 100755 index 0000000..73f32b1 --- /dev/null +++ b/Final Project Report/design/design.tex @@ -0,0 +1,9 @@ +\chapter{Design}\label{ch:Design} + +This chapter examines the design of the project. + +\section{Conclusions} + +The main conclusions for this chapter. + + diff --git a/Final Project Report/eval/evaluation.tex b/Final Project Report/eval/evaluation.tex new file mode 100755 index 0000000..8fe83e7 --- /dev/null +++ b/Final Project Report/eval/evaluation.tex @@ -0,0 +1,9 @@ +\chapter{Evaluation \& Testing}\label{ch:Evaluation} + +This chapter evaluates the overall project and provides results of tests carried out. + +\section{Conclusions} + +The main conclusions for this chapter. + + diff --git a/Final Project Report/impl/implementation.tex b/Final Project Report/impl/implementation.tex new file mode 100755 index 0000000..e89d852 --- /dev/null +++ b/Final Project Report/impl/implementation.tex @@ -0,0 +1,9 @@ +\chapter{Implementation}\label{ch:Implementation} + +This chapter examines the implementation of the project. + +\section{Conclusions} + +The main conclusions for this chapter. + + diff --git a/Final Project Report/intro/abstract.tex b/Final Project Report/intro/abstract.tex new file mode 100755 index 0000000..707c4ee --- /dev/null +++ b/Final Project Report/intro/abstract.tex @@ -0,0 +1,8 @@ +\beforeabstract +\prefacesection{Abstract} +The Abstract of the report should be written here, it should provide a short summary of the work encompassing no more than one page. + +\prefacesection{Acknowledgements} +The Acknowledgements section may be used to thank your supervisor, family, research funding bodies, or any other applicable individuals or institutions. + +\afterpreface \afterabstract diff --git a/Final Project Report/intro/introduction.tex b/Final Project Report/intro/introduction.tex new file mode 100755 index 0000000..a243e65 --- /dev/null +++ b/Final Project Report/intro/introduction.tex @@ -0,0 +1,42 @@ +\chapter{Introduction} +\pagenumbering{arabic} \setcounter{page}{1} + +A short paragraph introducing the topic the chapter examines. + + +\section{Background} + +A number of pages about the background of the project. + +\section{About this Thesis} +This is the report of \emph{\authorName}, submitted as part of the requirements for the degree of \degreeAward at the School of Computing and Digital Technology, Birmingham City University, Birmingham, UK.. + +A number of paragraphs detailing the main expectations of this body of work. + + +\section{Chapter List} +Provide a list of all the chapters within the report and a brief summary of the content. Ensure each summary avoids having a repetitive structure such as starting with ``This chapter deals with''. + +\textbf{Chapter \ref{ch:usingLatex}} Using \LaTeX. This chapter +deals with how to use the \LaTeX \space system. + +\textbf{Chapter \ref{ch:litReview}} Literature Review. This chapter +deals with $\ldots$. + +\textbf{Chapter \ref{ch:Background}} Background Research. This chapter +deals with $\ldots$. + +\textbf{Chapter \ref{ch:Design}} Design. This chapter +deals with $\ldots$. + +\textbf{Chapter \ref{ch:Implementation}} Implementation. This chapter +deals with $\ldots$. + +\textbf{Chapter \ref{ch:Evaluation}} Evaluation \& Testing. This chapter +deals with $\ldots$. + +\textbf{Chapter \ref{ch:Conclusion}} Conclusion. The conclusions of the report are presented. + + +\section{Conclusion} +A short conclusion summarising the chapter. diff --git a/Final Project Report/litreview/litreview.tex b/Final Project Report/litreview/litreview.tex new file mode 100755 index 0000000..3f86df5 --- /dev/null +++ b/Final Project Report/litreview/litreview.tex @@ -0,0 +1,21 @@ +\chapter{Literature Review}\label{ch:litReview} + +This chapter provides a comprehensive review of the most relevant literature in the field showing how it feeds into the product being delivered. IEEExplore, Google Scholar and the ACM Digital Library are examples of useful data sources that may be queried as part of the review process. \cite{online:Doolan:2016:AcademicResources} provides links to these and other resources. + +\section{Introduction} + + +\section{Key Topic Area 1} + + +\section{Key Topic Area 2} + + +\section{Key Topic Area 3} + + +\section{Conclusions} + +The main conclusions of the chapter. + + diff --git a/Final Project Report/template.cls b/Final Project Report/template.cls new file mode 100755 index 0000000..5329c6a --- /dev/null +++ b/Final Project Report/template.cls @@ -0,0 +1,123 @@ +\NeedsTeXFormat{LaTeX2e} \ProvidesClass{template} + +\RequirePackage{setspace} + +\LoadClass[11pt, a4paper]{report} + + + +\brokenpenalty=10000 + +\onehalfspacing + +\def\degreetitle#1{\gdef\@degreetitle{#1}} +\def\rpttype#1{\gdef\@rpttype{#1}} + +\def\principaladviser#1{\gdef\@principaladviser{#1}} +\def\advis@r{Advisor} % default spelling---we are English! +\def\principaladvisor#1{\gdef\@principaladviser{#1}\gdef\advis@r{Advisor}} +\def\submitdate#1{\gdef\@submitdate{#1}} +\def\copyrightyear#1{\gdef\@copyrightyear{#1}} +\def\@title{}\def\@author{}\def\@dept{School of Computing and Digital Technology} + +\def\@submitdate{\ifcase\the\month\or + January\or February\or March\or April\or May\or June\or + July\or August\or September\or October\or November\or December\fi + \space \number\the\year} + +\newif\ifcopyright \newif\iffigurespage \newif\iftablespage \newif\ifalgorithmspage \newif\ifsigpage \copyrightfalse \figurespagetrue \tablespagetrue \algorithmspagefalse \sigpagefalse + +\def\titlep{% + \thispagestyle{empty}% + \null\vskip1in% + \begin{center} + \large\sc\expandafter{\@title}\\ + \vskip 0.25in + {\Large \@author} + \vskip 0.45in + \includegraphics[height=40mm]{bculogo.jpg} + \vfill + \vskip 0.25in + \sc A report submitted as part of the requirements \\for the degree of + \@degreetitle + \\ at the \@dept \\Birmingham City University, Birmingham, UK + \vfill + \vskip 0.5in + \@submitdate + \vfill + \normalfont + Supervisor \@principaladviser\\ + \end{center}\vskip.5in\newpage} + +\def\declpage{% +\prefacesection{Declaration} + \begin{center} + \begin{minipage}{4.5in} + \parindent=0pt + I confirm that the work contained in this \@rpttype \space project report has been composed solely by myself and has not been accepted in any previous application for a degree. All sources of information have been specifically acknowledged and all verbatim extracts are distinguished by quotation marks. + \par + \vskip 2in + Signed ............................................ \hspace{0.5 in} Date ......................\\ + \hspace*{0.4 in} \@author + \par + \end{minipage}% + \end{center}% + \vfill} + +\def\beforeabstract{ + \pagenumbering{roman} + \pagestyle{plain} + \titlep + \ifsigpage\signaturepage\fi + + +\def\afterabstract{ +%% \newpage + \declpage + +\tableofcontents + \newpage + \iftablespage + \addvspace{10pt} + \listoftables + \newpage + \fi + \iffigurespage + \addvspace{10pt} + \listoffigures + \newpage + \fi + \ifalgorithmspage + \addvspace{10pt} + \listofalgorithms + \newpage + \fi} + + } + +\def\prefacesection#1{% + \chapter*{#1} + \addcontentsline{toc}{chapter}{#1}} + +\def\afterpreface{\newpage + \pagestyle{plain}} + +\pagestyle{plain} + +\def\thebibliography#1{\chapter*{\bibname\@mkboth + {\uppercase{\bibname}}{\uppercase{\bibname}}}% + \addcontentsline{toc}{chapter}{\bibname}% + \list + {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \usecounter{enumiv}% + \let\p@enumiv\@empty + \def\theenumiv{\arabic{enumiv}}}% + \def\newblock{\hskip .11em plus.33em minus.07em}% + \sloppy\clubpenalty4000\widowpenalty4000 + \sfcode`\.=\@m} + +\def\endthebibliography{% + \def\@noitemerr{\@warning{Empty `thebibliography' environment}}% + \endlist} diff --git a/Final Project Report/thesis.bib b/Final Project Report/thesis.bib new file mode 100755 index 0000000..19d2c52 --- /dev/null +++ b/Final Project Report/thesis.bib @@ -0,0 +1,118 @@ +@mastersthesis{msc:Shannon:1940, + author = {Claude Shannon}, + school = {Massachusetts Institute of Technology}, + title = {A symbolic Analysis of Relay and Switching Circuits}, + type = {MSc Thesis}, + url = {https://dspace.mit.edu/handle/1721.1/11173}, + year = {1940}, + } + +@phdthesis{phd:Sutherland:1963, + author = {Ivan Edward Sutherland}, + school = {Massachusetts Institute of Technology}, + title = {Sketchpad, A Man-machine Graphical Communication System}, + type = {PhD Thesis}, + url = {https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf}, + year = {1963}, + } + +@online{online:berkeleyBOINC, + author = {{Berkeley University}}, + title = {Berkeley Open Infractructure for Network Computing}, + year = {2016}, + url = {http://boinc.berkeley.edu/}, + urldate = {2016-11-28}, + } + +@online{online:Fear2016BookTabs, + author = {Simon Fear}, + title = {Publication Quality Tables in \LaTeX}, + year = {2016}, + url = {https://www.ctan.org/pkg/booktabs?lang=en}, + urldate = {2016-04-29}, + } + + @online{online:Fiorio2016algorithm2e, + author = {Christophe Fiorio}, + title = {Algorithm2e.sty - package for algorithms}, + year = {2016}, + url = {https://www.ctan.org/pkg/algorithm2e?lang=en}, + urldate = {2015-10-19}, + } + +@online{online:Doolan:2015:PauschLecture, + author = {Daniel C Doolan}, + title = {Essential Viewing: Prof Randy Pausch Time Management \& The Last Lecture }, + year = {2015}, + url = {http://wp.me/p276Ky-ZN}, + urldate = {2015-09-02}, + } + +@online{online:Doolan:2016:SchwarzeneggerInterview, + author = {Daniel C Doolan}, + title = {Essential Viewing: Schwarzenegger Interview: Vision, Goals, Confidence and Time Management }, + year = {2016}, + url = {http://wp.me/p276Ky-17T}, + urldate = {2016-08-25}, + } + +@online{online:Doolan:2016:AcademicResources, + author = {Daniel C Doolan}, + title = {Useful Academic Resources - Computer Science}, + year = {2016}, + url = {https://dcdoolan.wordpress.com/useful-academic-resources-computer-science/}, + urldate = {2016-11-06}, + } + + @online{online:Bath:2016:HarvardBathStyle, + author = {Alex Ball}, + title = {Harvard Referencing Style as Recommended by the University of Bath Library}, + year = {2016}, + url = {http://www.bath.ac.uk/library/infoskills/referencing-plagiarism/}, + urldate = {2016-11-28}, + } + + +@book{book:knuth_1973, + place ={Reading, MA}, + title ={The art of computer programming}, + publisher ={Addison-Wesley}, + author ={Knuth, Donald Ervin}, + year ={1973} +} + +@article{art:Russell:1978:Cray1, + author = {Russell, Richard M.}, + title = {The CRAY-1 Computer System}, + journal = {Commun. ACM}, + issue_date = {Jan. 1978}, + volume = {21}, + number = {1}, + month = jan, + year = {1978}, + issn = {0001-0782}, + pages = {63--72}, + numpages = {10}, + url = {http://doi.acm.org/10.1145/359327.359336}, + doi = {10.1145/359327.359336}, + acmid = {359336}, + publisher = {ACM}, + address = {New York, USA}, + keywords = {architecture, computer systems}, +} + +@inproceedings{proc:Ewald:1978:HPG, + author = {Ewald, Robert H. and Maas, Lynn D.}, + title = {A High Performance Graphics System for the CRAY-1}, + booktitle = {Proceedings of the 5th Annual Conference on Computer Graphics and Interactive Techniques}, + series = {SIGGRAPH '78}, + year = {1978}, + pages = {76--81}, + numpages = {6}, + url = {http://doi.acm.org/10.1145/800248.807374}, + doi = {10.1145/800248.807374}, + acmid = {807374}, + publisher = {ACM}, + venue = {New York, USA}, + keywords = {CRAY-1, Computer graphics, High performance graphics system, Picture system 2}, +} \ No newline at end of file diff --git a/Final Project Report/thesis.tex b/Final Project Report/thesis.tex new file mode 100755 index 0000000..22bc1d8 --- /dev/null +++ b/Final Project Report/thesis.tex @@ -0,0 +1,163 @@ +\documentclass{template} +\usepackage{graphicx,parskip,appendix,float,geometry} + +\usepackage{uarial} +% http://tex.stackexchange.com/questions/13509/biblatex-in-a-nutshell-for-beginners +% http://tex.stackexchange.com/questions/108605/getting-a-harvard-style-list-of-references-using-biblatex +\geometry{ + a4paper, + total={150mm,240mm}, + left=35mm, + top=25mm, + } + +% BCU Harvard Referencing +% http://library.bcu.ac.uk/references.pdf + +% Citing use \autocite, \parencite, or \textcite rather than \cite. +% http://tex.stackexchange.com/questions/102662/harvard-reference-using-biblatex +% https://www.sharelatex.com/blog/2013/07/31/getting-started-with-biblatex.html +% http://guides.library.yale.edu/bibtex/home +%\usepackage[backend=bibtex, style=authoryear, firstinits=true, ]{biblatex} +%\addbibresource{thesis.bib} + +% Fontsizes +% https://en.wikibooks.org/wiki/LaTeX/Fonts + +%\AtBeginBibliography{\footnotesize} +% \DeclareFieldFormat => Remove Quotes from article Titles +% http://tex.stackexchange.com/questions/94089/remove-quotes-from-inbook-reference-title-with-biblatex +%\DeclareFieldFormat[inbook,inproceedings,article,phdthesis,mastersthesis]{citetitle}{#1} +%\DeclareFieldFormat[inbook,inproceedings,article,phdthesis,mastersthesis]{title}{#1} + +\usepackage{natbib} +\newcommand*{\urlprefix}{Available from: } +\newcommand*{\urldateprefix}{Accessed } +\bibliographystyle{bath} + +% Documentation +% http://mirror.switch.ch/ftp/mirror/tex/macros/latex/contrib/biblatex/doc/biblatex.pdf +\renewcommand*\familydefault{\sfdefault} +\usepackage[T1]{fontenc} + +% http://tex.stackexchange.com/questions/86120/font-size-of-figure-caption-header +\usepackage[font=small]{caption} + +\usepackage[ruled] {algorithm2e} +\usepackage{url,amsmath,amssymb,fancybox,listings,pdfpages,caption,multicol,datetime,rotating, booktabs} +%\usepackage[usenames,dvipsnames]{color} +\usepackage[pagebackref=false,pdffitwindow=true]{hyperref} + + + +%NOTE: The hyperref usepackage should be the last \usepackage!! +%NOTE: When pagebackref=true an error will appear at the end of compiling. press `q' to ignore +%NOTE: Referencing Algorithms does not work if this usepackage is before the hyperref include.!! +%NOTE: This is a comment, ignored when the document is compiled +%NOTE: The following document configuration settings generally do not need to be modified +%NOTE: More packages may need to be added to provide additional functionality + +% http://tex.stackexchange.com/questions/7546/how-to-get-latex-symbol-in-document +\newcommand{\latex}{\LaTeX\ } +\newcommand{\authorName}{Author Full Name} +\newcommand{\reportTitle}{Report Title} +\newcommand{\degreeAward}{BSc in Computer Science } + +\hypersetup{ + pdftitle = {\reportTitle}, + pdfauthor = {\authorName}, + pdfsubject = {Computer Science}, + pdfkeywords = {Comma separated list of keywords}, + colorlinks = true, anchorcolor = blue, filecolor = blue, urlcolor = blue, + linkcolor = blue, %NOTE: change (blue) to (colIdentifier) to have links within the document in Black + citecolor = blue, %NOTE: change (blue) to (colIdentifier) to have citation links within the document in Black +} + +\definecolor{colBackGrnd}{rgb}{1,1,0.8} +\definecolor{colKeys}{rgb}{0,0,1} +\definecolor{colIdentifier}{rgb}{0,0,0} +\definecolor{colComments}{rgb}{0,.5,0} +\definecolor{colString}{rgb}{0,0,1} +\definecolor{colWhite}{rgb}{1,1,1} + +\newcommand{\MyHookSign}{\hbox{\ensuremath\hookleftarrow}} + +\newtheorem{Theorem}{Theorem} +\newtheorem{Proposition}[Theorem]{Proposition} +\newtheorem{Lemma}[Theorem]{Lemma} +\newtheorem{Proof}[Theorem]{Proof} +\newtheorem{Remark}[Theorem]{Remark} +\newtheorem{Claim}[Theorem]{Claim} +\newtheorem{Example}[Theorem]{Example} +\newtheorem{Definition}[Theorem]{Definition} + +%NOTE: Setup for including program listings +\lstset{% + float=H, + basicstyle=\ttfamily\footnotesize, + identifierstyle=\color{colIdentifier}, + keywordstyle=\color{colIdentifier}, % + stringstyle=\color{colIdentifier}, + commentstyle=\color{colIdentifier}, % + columns=flexible, + tabsize=2, + frame=single, + extendedchars=true, % + showspaces=false, + showstringspaces=false, + numbers=left, % + numberstyle=\footnotesize, + breaklines=true, + prebreak={\space\MyHookSign}, + language=Java, + backgroundcolor=\color{colBackGrnd}, + breakautoindent=true, % + captionpos=b% +} %\hypersetup{colorlinks=true, citecolor=\color{colIdentifier}} + +\sloppy %NOTE: To ensure the Right Hand Margin is used (Especially for long URLS) +%NOTE: END of the document configuration settings + +\begin{document} + +\DeclareGraphicsExtensions{.jpg,.png,.gif,.pdf} +%NOTE: When inserting Figures if the extension of the graphic file is not provided LaTeX will automatically search +% for the extensions declared above, in the order declared. + +\title{\huge{\reportTitle}} +\author{\authorName} +\degreetitle{\degreeAward} % Replace with appropriate degree +\rpttype{BSc} % Replace PhD / MSc / BSc. +\principaladviser{Dr. Daniel C. Doolan} + +\include{intro/abstract} +\listofalgorithms %NOTE: Will generate a list of Algorithms in the Table of Contents Section +\lstlistoflistings %NOTE: Will generate a list of Program Listings in the Table of Contents Section + +%NOTE: Include the relative reference for each chapter to be included +% dividing the thesis file structure into a number of directories aids development +% format: directoryName/filename (the .tex extension is not required for the filename) + +\include{intro/introduction} +\include{usingLatex/usingLatex} +\include{litreview/litreview} +\include{background/background} +\include{design/design} +\include{impl/implementation} +\include{eval/evaluation} +\include{conclude/conclude} + + %NOTE: reduced the size of the text for the bibliography +%NOTE: set the style for the bibliography and display the references used within the document + +% http://tex.stackexchange.com/questions/67153/bibliography-not-in-toc-when-using-biblatex-biber +%\printbibliography[heading=bibintoc] +\footnotesize + +\addcontentsline{toc}{chapter}{Bibliography} +\bibliography{thesis} + +\normalsize +\appendix +\include{appendix/appendix} +\end{document} %NOTE: END of document, nothing after this point diff --git a/Final Project Report/usingLatex/images/VectorGraphicElementPDF.pdf b/Final Project Report/usingLatex/images/VectorGraphicElementPDF.pdf new file mode 100755 index 0000000..54876a0 Binary files /dev/null and b/Final Project Report/usingLatex/images/VectorGraphicElementPDF.pdf differ diff --git a/Final Project Report/usingLatex/images/samplepng.png b/Final Project Report/usingLatex/images/samplepng.png new file mode 100755 index 0000000..2d39f54 Binary files /dev/null and b/Final Project Report/usingLatex/images/samplepng.png differ diff --git a/Final Project Report/usingLatex/myCodeFile.java b/Final Project Report/usingLatex/myCodeFile.java new file mode 100755 index 0000000..f0e2b32 --- /dev/null +++ b/Final Project Report/usingLatex/myCodeFile.java @@ -0,0 +1,9 @@ +public void someInterestingMethod( int x ) { + try { + DataInputStream in = new DataInputStream(req.getInputStream()); + HttpSession session = req.getSession(true); + //Read Input Data + in.close(); + } catch ( Exception err ) { } + outputStream.close(); +} \ No newline at end of file diff --git a/Final Project Report/usingLatex/usingLatex.tex b/Final Project Report/usingLatex/usingLatex.tex new file mode 100755 index 0000000..d16e742 --- /dev/null +++ b/Final Project Report/usingLatex/usingLatex.tex @@ -0,0 +1,192 @@ +\chapter{Using \LaTeX}\label{ch:usingLatex} + +By reading this chapter and comparing the generated output to the \latex code, one should be able to produce all the necessary content expected of a typeset report. Instructions regarding software installation and compilation are to be found towards the end of the chapter. As with any source code, one should first compile, it to ensure it works. This document should compile with no errors if all the necessary packages are installed. A few warning messages relating to ``Font style'' (Arial) can be ignored. + +\section{Structure of this Template} + +The file thesis.tex in the root of the directory (ThesisTemplate) is the main file of this template. This is the file that must be compiled to create the document. The thesis.tex document contains a lot of configuration settings. The only elements that require editing are details such as the title of the report, authors name and so forth. The only further addition to the file is to use the \emph{\textbackslash include} statement to include additional chapters in the report. One may also comment out the \emph{\textbackslash include} statements using the percentage sign (\%) to develop the report on a chapter by chapter basis. The BibTeX database thesis.bib is also included within the root. All the actual content of the report is divided up into directories each with a .tex file containing the chapter content (Appendix~\ref{fig:append:TemplateStructure}). + + + +\section{Using Figures} + + One can insert graphic elements using \latex in a number of ways. Vector based imagery such as diagrams saved to the pdf format may use the \emph{\textbackslash includegraphics} command with the optional \emph{viewport} attribute to specify a precise area of the graphic to be included. Figures should also include a Caption and a Label for referencing. + +When inserting a Figure (Figure~\ref{fig:using:VectorGraphicElementPDF}) one uses the \emph{\textbackslash begin\{figure\}} and \emph{\textbackslash end\{figure\}} commands. The image presented is a vector graphic in the form of a pdf file. When working with such files it is usually necessary to include the optional \emph{viewport} attribute to designate the specific area in which to focus. The first pair of coordinates (x~\&~y) designate the pixel location of the lower left corner. The second pair identify the upper right hand corner. Modification of these coordinates allows one to focus in upon a particular area of interest within the vector image. The optional attribute [H] when beginning a Figure inserts the graphic element at the specified location. Other options such as [htb] (here, top, bottom) will place the graphic in the most suitable place that \latex can find. This however can have a negative impact on memory allocation if a large number of images exist. + + +\begin{figure}[H] +\centering +\includegraphics[width=.4\linewidth]{usingLatex/images/VectorGraphicElementPDF.pdf} +\caption{Vector Graphic - pdf of a PowerPoint Slide} +\label{fig:using:VectorGraphicElementPDF} +\end{figure} + +One may use the \emph{minipage} command when inserting two figures to span across the page. This allows for the subdividing of the page into a number of columns of specified width. Figure~\ref{fig:using:Example1} \&~\ref{fig:using:Example2} demonstrate how one may zoom in / focus on a particular section of a graphic by altering the coordinates of the \emph{viewport}. + +\begin{figure}[H] +\begin{minipage}[t]{7.4cm} +\begin{center} +\includegraphics*[viewport= 20 20 600 440, width=.8\linewidth]{usingLatex/images/VectorGraphicElementPDF.pdf} +\caption{viewport = 20 20 600 440} +\label{fig:using:Example1} +\end{center} +\end{minipage} +\hfill +\begin{minipage}[t]{7.4cm} +\begin{center} +\includegraphics*[viewport= 220 200 400 330, width=.8\linewidth]{usingLatex/images/VectorGraphicElementPDF.pdf} +\caption{viewport = 220 200 400 330} +\label{fig:using:Example2} +\end{center} +\end{minipage} +\end{figure} + +The example below (Figure~\ref{fig:using:samplepngImage}) features a bitmap image. One can see that the extension for the image file isn't specified, as this template is setup to automatically search for .jpg, .png, .gif and .pdf images. The size of the displayed image within the document can be varied by adjusting the height and width attributes. To rotate an image 90 degrees an optional attribute can be added, for example [width=.4\textbackslash linewidth, angle=90]. + +\begin{figure}[H] +\begin{center} +\includegraphics[width=.34\linewidth]{usingLatex/images/samplepng} +\caption{Caption for Bitmap Image Example} \label{fig:using:samplepngImage} +\end{center} +\end{figure} + +\section{Referencing} + +To refer to another part of the document one must use a combination of the \emph{\textbackslash ref} and \emph{\textbackslash label} commands. The label is a unique identifier, therefore when working with large documents it helps to give references meaningful names. Examples of this includes prefixing Table references with \emph{tab:}, figures with \emph{fig:}, chapters with \emph{ch:}. In very large documents in may also be useful to add an additional level of prefixing to represent the chapter the label is in. In this example chapter the tables and figures have the additional prefix of \emph{using} to represent the \emph{usingLatex} chapter. The tilde ($\sim$) is used to ensure that a reference remains as a single object. All instances of \emph{\textbackslash ref} should be preceded with the tilde. + +\section{Citing Bibliographic References} + +Bibliographic references are stored in a database (.bib file extension), this contains a list of articles, proceedings, books, thesis and so forth. Each type of publication has a number of required fields such as a unique identifier, author and title. To cite a reference within the main body text one must use the \emph{\textbackslash cite} and \emph{\textbackslash citep} commands as in the following examples. \cite{book:knuth_1973} for example is well known for his work on the Art of Computer Programming. The SETI@Home project \citep{online:berkeleyBOINC} is an example of a webpage citation. One can also work with articles \citep{art:Russell:1978:Cray1}, MSc Thesis \citep{msc:Shannon:1940}, PhD Thesis \citep{phd:Sutherland:1963} or articles within conference proceedings \citep{proc:Ewald:1978:HPG}. Several other types of published work exist, but they are used to a lesser degree, see the Bath University Library Style guide \citep{online:Bath:2016:HarvardBathStyle}. + +\cite{online:Doolan:2016:AcademicResources} has provided a list of resources that may be of use to ones project in the form of links to searchable databases and \latex tools. The previous citation was generated using the \emph{\textbackslash cite\{bibEntryReference\}} command. + +\subsection{Compiling a BibTeX Database} + +Having initially compiled the document using pdfLatex a number of helper files are created that aid in referencing and citations. One must the compile the bibtex database, followed by an additional two compiles using pdfLatex. Citing additional bibliographic references within the body of the document being produced will require the recompile of the bibtex database. In the case that the bibtex reference of a cited article cannot be found one will see a question mark (?) instead of the proper citation and a compile warning. + +\subsection{The Harvard Bibliography Style} + +The bibliographic references are laid out using the Harvard referencing style. This style is generally more applicable to humanities rather than the sciences. One would typically expect to see the use of a numbered reference style in the sciences - such as IEEE or Vancouver. In \latex the Harvard style is depreciated. As such alternative solutions are to use the \emph{natbib} or \emph{biblatex} packages, these however yield references of an author, name format, but don't quite conform to a Harvard style. + +Fortunately a Harvard style has been developed at the University of Bath \citep{online:Bath:2016:HarvardBathStyle}. It has been included in this template in the form of a file called \emph{bath.bst}, dated 24 October 2016. The style file can be downloaded as a zip file from the University of Bath Library webpage dedicated to referencing and plagiarism. The zip file includes very useful package documentation, with numerous bibtex examples alongside the resultant output. + +\section{Inserting an Algorithm} + +The \emph{algorithm2e} environment \citep{online:Fiorio2016algorithm2e} may be used to generate algorithms (Algorithm~\ref{alg:using:SampleAlgorithm}). If no algorithms are used within the document then comment out \emph{\textbackslash listofalgorithms } in the file {\tt thesis.tex} to remove the list of algorithms page. + +\begin{algorithm} +%\dontprintsemicolon +\While{(RANK $<$ COMPSIZE)}{ + \If{(RANK == MASTER)}{ + generate random value \; + \For{(each item K)}{ + get result \; + } + } +} +\caption{A Sample Algorithm} \label{alg:using:SampleAlgorithm} +\end{algorithm} + + +\section{Table Creation} + +The data in Table~\ref{tab:using:TableExample} displays three columns of left-aligned and one column of justified data. The cell contents can be aligned to the left (l), right (r), center (c) or (p). Vertical bars may sometimes be seen in tables but these generally look unprofessional. The Booktabs package \citep{online:Fear2016BookTabs} allows for the creation of professional looking tables as shown in the example. The use of \emph{\textbackslash toprule}, \emph{\textbackslash midrule} and \emph{\textbackslash bottomrule} commands provided by the package allow for rules of varying thickness and spacing. Data elements (cells / columns) within a table are divided up using the ampersand (\&). To complete a row one must end with a double backslash (\textbackslash\textbackslash). Tables as with figures need a caption and a label. The WinShell editor has a GUI based utility to aid in the creation of the tabular data. + +\begin{table}[H] +\caption{Table Caption}\label{tab:using:TableExample} +\centering +\small +\begin{tabular}{lllp{5cm}} +\toprule \textbf{Heading 1}& \textbf{Heading 2}&\textbf{Heading 3}&\textbf{Heading 4}\\ +\midrule +Cell A1 & Cell B2 & Cell C3 & Cell D4\\ +Cell E1 & Cell F2 & Cell G3 & Justified text with a defined column size of 5cm\\ +\bottomrule +\end{tabular} +\end{table} + + + + + +\section{Inserting Program Code Samples} + +To insert small segments of program code (Listing~\ref{code:SampleCode}) that detail how interesting algorithms and so forth are implemented use the \emph{lstlisting} command. Inclusion of program code again requires a Caption and Label. Sample code from external files may also be included (Listing~\ref{code:externalSampleCodeLabel}), by supplying the relative path to the source file. + +\begin{lstlisting}[caption=Sample Program Code Listing, label=code:SampleCode] +if(rndVal==0){ + if(opType > 2){ + //do something + } +} +\end{lstlisting} + +\lstinputlisting[caption={The Caption for the Code Listing},label={code:externalSampleCodeLabel}]{usingLatex/myCodeFile.java} + + +\section{Working with Maths} +The power of \latex in typesetting mathematical formula is one of its key strengths. The mathematical definition of the ``Cantor set'' is a good example of this in action encompassed within an \emph{\textbackslash equation} environment. + +\begin{equation} +\displaystyle\sum_{n=0}^\infty \frac{2^n}{3^{n+1}} = \frac{1}{3} + +\frac{2}{9} + \frac{4}{27} + \frac{8}{81} + \cdots = +\frac{1}{3}\left(\frac{1}{1-\frac{2}{3}}\right) = 1 +\end{equation} + The previous equation demonstrates the use of sigma, fractions, large brackets, power, and dots. The function that defines the MSet $Z_{n+1} = +Z_{n}^2 + C$ is a simpler example of math in use within the body text of a paragraph. Matrix Multiplication is typically regarded as an $O(n^3)$ +operation. One may use the \emph{equation} environment for more complex mathematical formula that should standout. For example the product $C$ of two matrices $A \in M_{n,m}(R)$ and $B \in +M_{m,p}(R)$ may be defined as + +\begin{equation} +(A \times B)_{ij} = \sum_{k=0} ^{m-1} a_{ik}b_{kj},~ +i=0,...,n-1,~j=0,...,p-1. +\end{equation} + +The sizes of the matrices must satisfy $(n \times m)(m \times p) = +(n \times p)$. Matrix multiplication is an associative process +thereby $a\cdot(b \cdot c) = (a \cdot b) \cdot c$. Essentially to +find the value of a particular cell $C_{i,j}$ it is necessary to +multiply row $i$ of the matrix $A$ with column $j$ of matrix $B$ +summing all the multiplications. + +\section{Using the Correct Quotes} +To surround a piece of text with double quotes one must place two single quotes on either side of the text. The double quote on the left is created using two left quotes (\lq) this is located just above the \emph{tab} key on the keyboard. The right hand double quote is created using two right hand quotes via (\rq) located just above and to the left of the right shift key. A properly formatted quotation should look like ``This is a quotation''. Notice how the direction of the quotes are opposite to one another. A larger example using the \emph{\textbackslash Huge} font size option, is presented below so the quotes can be clearly seen. + +\begin{center} +\Huge{``This is a quotation''} +\end{center} + + +\section{Start Compiling and Editing} +\begin{enumerate} +\item Read the instructions in this file thesisTemplate.pdf, compare the code in the file usingLatex.tex to that of the resultant output of the Using \latex chapter. + +\item Download and install the necessary software - back-end \latex system and front-end text editor. + +\item Compile the files thesis.tex and thesis.bib to generate the file thesis.pdf so that it is identical to file thesisTemplate.pdf. +\begin{enumerate} +\item To achieve this compile with pdfLaTeX, then run BibTeX and compile with pdfLaTeX two further times. + +\item It is only necessary to run BibTeX when new citations are added in the thesis document. + +\item Two compiles of pdfLaTeX is sufficient to allow for correct references to be established. + +\item If one is simply adding additional content (text / figures / tables) then a single compile of pdfLaTeX is sufficient for testing purposes. +\end{enumerate} +\item Note that quite a number of additional files may now be seen in the root and subfolders of the (ThesisTemplate) directory. + +\item With a successful compile achieved, start reading through the \latex documents (.tex) to see how the various elements are assembled. + +\item Begin editing the document starting with thesis.tex by entering elements such as Thesis Title and Author. + +\item When it is necessary to start inserting figures / tables and so forth, copy and paste the \latex code provided and edit as necessary. +\end{enumerate} + +\subsection{Required Software} +The implementation of \latex typically used is MikTeX (\url{http://miktex.org}). It is typically best to install the complete MiKTeX system. A complete system comprises of around 40K files. A minimal install will necessitate the installation of packages as needed. One can individually download and integrate packages into a MikTeX system using the Package Manager (Admin) application. Initially a small installer application must be downloaded and executed. This in-turn downloads the most recent implementation of the MikTeX system. Run the installer again and select the directory of the downloaded package. The MacTeX distribution (\url{http://www.tug.org/mactex/}) is a useful alternative for Mac users. + +The other necessary element is an editor. TeXnicCenter is a free download available at (\url{http://sourceforge.net/projects/texniccenter/}). An alternative is WinEdt a shareware ASCII editor (\url{http://www.winedt.com}). WinEdt can be freely used for a 30 day period, after which one will periodically receive reminders to register the product. Another option for Windows users is WinShell (\url{http://www.winshell.de}). An advantage of WinShell is its in-built BibTeX GUI editor. It also features a useful Table Wizard. For Mac users TexShop (\url{http://pages.uoregon.edu/koch/texshop/}) is a popular option, providing a very easy to use editor. Note the website links in this section were created using the \emph{\textbackslash url} command and included for ease of reference. One should ideally include such references in the Bibliography. + +\section{Conclusion} +Having read this chapter and compared the .tex source to the generated output, one should have all the knowledge necessary to typeset a well formatted and elegant project report. One needs to become familiar with a number of commands, but once mastered it should greatly speedup the report writing process. By using \latex to typeset a document one is removed from a myriad of issues in relation to formatting allowing one to concentrate on the most important task, that of content creation. diff --git a/My Mind/Cartfile b/My Mind/Cartfile deleted file mode 100644 index 409f0b4..0000000 --- a/My Mind/Cartfile +++ /dev/null @@ -1 +0,0 @@ -github "ortuman/SwiftForms" diff --git a/My Mind/Cartfile.resolved b/My Mind/Cartfile.resolved deleted file mode 100644 index c3e5c6a..0000000 --- a/My Mind/Cartfile.resolved +++ /dev/null @@ -1 +0,0 @@ -github "ortuman/SwiftForms" "1.7" diff --git a/My Mind/Carthage/Build/.SwiftForms.version b/My Mind/Carthage/Build/.SwiftForms.version deleted file mode 100644 index ec0bba6..0000000 --- a/My Mind/Carthage/Build/.SwiftForms.version +++ /dev/null @@ -1,19 +0,0 @@ -{ - "commitish" : "1.7", - "iOS" : [ - { - "hash" : "045deef96b266613799a0dd27287607b12f5b43daede54ba2359c759cd9cb0f5", - "name" : "SwiftForms" - } - ], - "xcodeVersion" : "Xcode 8.3\nBuild version 8E162", - "watchOS" : [ - - ], - "tvOS" : [ - - ], - "Mac" : [ - - ] -} \ No newline at end of file diff --git a/My Mind/Carthage/Build/iOS/16344ACE-31D7-3149-8D5B-49B11957E0F6.bcsymbolmap b/My Mind/Carthage/Build/iOS/16344ACE-31D7-3149-8D5B-49B11957E0F6.bcsymbolmap deleted file mode 100644 index 24f060d..0000000 --- a/My Mind/Carthage/Build/iOS/16344ACE-31D7-3149-8D5B-49B11957E0F6.bcsymbolmap +++ /dev/null @@ -1,1908 +0,0 @@ -BCSymbolMap Version: 2.0 -__T0SqWy.3 -_swift_rt_swift_retain -_swift_rt_swift_release -__T0SqWe.11 -__T0SqWe.19 -__TTWOSC28UITableViewCellAccessoryTypes9Equatable5UIKitZFS0_oi2eefTxx_Sb -__TTWOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKitFS0_CfT8rawValuewx8RawValue_GSqx_ -__TTWOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKitFS0_g8rawValuewx8RawValue -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitFS0_19_bridgeToObjectiveCfT_wx15_ObjectiveCType -__TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_19_bridgeToObjectiveCfT_WxS0_15_ObjectiveCType_ -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitZFS0_26_forceBridgeFromObjectiveCfTwx15_ObjectiveCType6resultRGSqx__T_ -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitZFS0_34_conditionallyBridgeFromObjectiveCfTwx15_ObjectiveCType6resultRGSqx__Sb -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitZFS0_36_unconditionallyBridgeFromObjectiveCfGSqwx15_ObjectiveCType_x -__TTWVSC15UIFontTextStyles16RawRepresentable5UIKitFS0_CfT8rawValuewx8RawValue_GSqx_ -__TTWVSC15UIFontTextStyles16RawRepresentable5UIKitFS0_g8rawValuewx8RawValue -__TTSgq5GVs16IndexingIteratorGSRVs5UInt8__GS_GSRS0___s16IteratorProtocols___TFVs4UTF86decodeuRxs16IteratorProtocolwx7ElementzVs5UInt8rfRxOs21UnicodeDecodingResult -__TTSfq4n_n_n_d___TFVs13_StringBufferCfT8capacitySi11initialSizeSi12elementWidthSi_S_ -__TTSfq4d___TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TZFVs11_HeapBuffer14_elementOffsetfT_Si -__TTSfq4n_d___TZFVs4UTF810_decodeOnefVs6UInt32T6resultGSqS0__6lengthVs5UInt8_ -__TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -__TTSg5P__SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -__TTSfq4n_d___TFVs6MirrorCfT10reflectingP__S_ -__TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_L_13printTypeNameu0_R_S_rfPMP_T_ -__TTSfq4gs_d___TFVs9CharacterCfSSS_ -__TTSfq4n_d___TFSSCfVs9CharacterSS -__TTSfq4s_d_n_n_d___TTSgq5VVs9Character10_SmallUTF8S0_s10Collections_Vs4UTF8S2_s12UnicodeCodecs___TZFVs13_StringBuffer13fromCodeUnitsu0_Rxs10Collection_s12UnicodeCodecw_8CodeUnitzWx8Iterator7Element_rfTx8encodingMq_24repairIllFormedSequencesSb15minimumCapacitySi_TGSqS__8hadErrorSb_ -__TTSfq4n_d_n_d___TTSgq5VVVs9Character10_SmallUTF88IteratorS1_s16IteratorProtocols_Vs4UTF8S3_s12UnicodeCodecs___TZFVs5UTF1616transcodedLengthu0_Rxs16IteratorProtocol_s12UnicodeCodecw_8CodeUnitzwx7ElementrfT2ofx9decodedAsMq_27repairingIllFormedSequencesSb_GSqT5countSi7isASCIISb__ -__TTSg5O10SwiftForms13FormErrorTypeS0_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -__TMaCSo8NSString -_swift_rt_swift_getInitializedObjCClass -___swift_noop_void_return -___swift_memcpy8_8 -___swift_noop_self_return -___swift_memcpy_array8_8 -___swift_memmove_array8_8 -__TwugOSC28UITableViewCellAccessoryType -__TwupOSC28UITableViewCellAccessoryType -__TwuiOSC28UITableViewCellAccessoryType -__TwXXVSC15UIFontTextStyle -__TwCPVSC15UIFontTextStyle -__TwcpVSC15UIFontTextStyle -__TwcaVSC15UIFontTextStyle -__TwtaVSC15UIFontTextStyle -__TwXxVSC15UIFontTextStyle -__TwCcVSC15UIFontTextStyle -__TwxgVSC15UIFontTextStyle -_swift_rt_swift_slowAlloc -_swift_rt_swift_slowDealloc -__TTSf4s_n___TTSg5SS_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -__TTSf4n_gs_n_n___TTSg5P__SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -__TTSf4n_gs_n_n___TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -__TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__T_ -__TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__Sb -__TMaPs35_HasCustomAnyHashableRepresentation_ -_swift_rt_swift_getExistentialTypeMetadata -_swift_rt_swift_dynamicCast -__TMaGVs20_ConcreteHashableBoxSi_ -__TMaMO10SwiftForms13FormErrorType -__TMaPs28CustomDebugStringConvertible_ -__TMaPs23CustomStringConvertible_ -__TMaPs20TextOutputStreamable_ -__TMaGCs17_AnyCollectionBoxT5labelGSqSS_5valueP___ -__TMaGCs19_AnyIteratorBoxBaseT5labelGSqSS_5valueP___ -__TMaGCs17_AnyCollectionBoxT5labelGSqSS_5valueP____merged -__swift_dead_method_stub -__TwxsVSC15UIFontTextStyle -__TwCpVSC15UIFontTextStyle -__TTSg5P__SSSSs16TextOutputStreams___TFFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_L_13printTypeNameu0_R_S_rfPMP_T_ -__TwxxVSC15UIFontTextStyle -_swift_rt_swift_release_n -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_token0 -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_token1 -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_token2 -__TWPOSC28UITableViewCellAccessoryTypes9Equatable5UIKit -__TWPOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKit -__TWPVSC15UIFontTextStyles16RawRepresentable5UIKit -__TMLCSo8NSString -__TWPVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKit -__TWPVSC15UIFontTextStyles20_SwiftNewtypeWrapper5UIKit -__TMRfP10SwiftForms12FormSelector_ -l_OBJC_LABEL_PROTOCOL_$__TtP10SwiftForms12FormSelector_ -l_OBJC_PROTOCOL_REFERENCE_$__TtP10SwiftForms12FormSelector_ -__swift_FORCE_LOAD_$_swiftUIKit_$_SwiftForms -__swift_FORCE_LOAD_$_swiftCoreImage_$_SwiftForms -__swift_FORCE_LOAD_$_swiftDarwin_$_SwiftForms -__swift_FORCE_LOAD_$_swiftCoreGraphics_$_SwiftForms -__swift_FORCE_LOAD_$_swiftDispatch_$_SwiftForms -__swift_FORCE_LOAD_$_swiftObjectiveC_$_SwiftForms -__swift_FORCE_LOAD_$_swiftFoundation_$_SwiftForms -__swift_FORCE_LOAD_$_swiftQuartzCore_$_SwiftForms -__TWVOSC28UITableViewCellAccessoryType -__TMnOSC28UITableViewCellAccessoryType -__TMOSC28UITableViewCellAccessoryType -__TMRaOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKit -__TMRaVSC15UIFontTextStyles16RawRepresentable5UIKit -__TWVVSC15UIFontTextStyle -__TMnVSC15UIFontTextStyle -__TMVSC15UIFontTextStyle -__TMRaVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKit -___swift_reflection_version -__TMRfCSo8NSString -__TMRsCSo8NSString -__TMLPs35_HasCustomAnyHashableRepresentation_ -__TMLGVs20_ConcreteHashableBoxSi_ -__TMLMO10SwiftForms13FormErrorType -__TMLPs28CustomDebugStringConvertible_ -__TMLPs23CustomStringConvertible_ -__TMLPs20TextOutputStreamable_ -__TMLGCs17_AnyCollectionBoxT5labelGSqSS_5valueP___ -__TMLT5labelGSqSS_5valueP__ -__TMLGSqSS_ -__TMLP_ -__TMLGCs19_AnyIteratorBoxBaseT5labelGSqSS_5valueP___ -l_OBJC_LABEL_PROTOCOL_$__TtPs9AnyObject_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs9AnyObject_ -__TMLPMP_ -__TMLPs17CustomReflectable_ -l_OBJC_LABEL_PROTOCOL_$_NSObject -l_OBJC_PROTOCOL_REFERENCE_$_NSObject -Apple LLVM version 8.1.0 (clang-802.0.38) --emit-bc "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift" -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk -I /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Products/Release-iphoneos -F /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Products/Release-iphoneos -g -import-underlying-module -module-cache-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/ModuleCache -serialize-debugging-options -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-generated-files.hmap -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-own-target-headers.hmap -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-project-headers.hmap -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Products/Release-iphoneos/include -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/DerivedSources/arm64 -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/DerivedSources -Xcc -ivfsoverlay -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/unextended-module-overlay.yaml -Xcc "-working-directory/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms" -emit-module-doc-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/SwiftForms.swiftdoc -serialize-diagnostics-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSelector.dia -O -module-name SwiftForms -emit-module-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/SwiftForms.swiftmodule -emit-objc-header-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/SwiftForms-Swift.h -emit-dependencies-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSelector.d -num-threads 4 -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSelector.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormTitleCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSliderCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSectionDescriptor.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormDescriptor.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormBaseCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormLabelCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormTextViewCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormErrorType.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormViewController.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormButtonCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormStepperCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSelectorCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSwitchCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormCheckCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormValueCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormSegmentedControlCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormTextFieldCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormPickerCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormOptionsViewController.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormDateCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/arm64/FormRowDescriptor.bc -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift - -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms -Apple Swift version 3.1 (swiftlang-802.0.48 clang-802.0.38) -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift -_TMaGCs17_AnyCollectionBoxT5labelGSqSS_5valueP___ -FormSelector.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers -_TMaT5labelGSqSS_5valueP__ -_TMaP_ -_TMaGSqSS_ -_TMaPs20TextOutputStreamable_ -_TMaPs23CustomStringConvertible_ -_TMaPs28CustomDebugStringConvertible_ -_TMaMO10SwiftForms13FormErrorType -_TMaGVs20_ConcreteHashableBoxSi_ -_TMaPs35_HasCustomAnyHashableRepresentation_ -_TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__Sb -_TTSg5SS_VSC15UIFontTextStyle___TFSq7flatMapurfzFzxGSqqd___GSqqd___ -_TTSr5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__SbU_FwxS0_GSqx_ -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__SbU_FwxS0_GSqx_ -init -_TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__T_ -_TTSr5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__T_U_FwxS0_GSqx_ -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__T_U_FwxS0_GSqx_ -_TTSf4n_gs_n_n___TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -_TTSfq4s_s___TFVs11_StringCoreg9subscriptFGVs5RangeSi_S_ -_TTSfq4n_n_d___TTSgq5Vs5UInt8___TFSRCfT5startGSqGSPx__5countSi_GSRx_ -_TTWSSs16TextOutputStreamsFS_5writefSST_ -_TTSg5SS_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSf4n_gs_n_n___TTSg5P__SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -_TMaPMP_ -_TTSf4s_n___TTSg5SS_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSg5SSSSs16TextOutputStreams___TFSS5writeuRxs16TextOutputStreamrfT2toRx_T_ -get_field_types_UIFontTextStyle -_TMaCSo8NSString -_TwxgVSC15UIFontTextStyle -_TwCcVSC15UIFontTextStyle -_TwXxVSC15UIFontTextStyle -_TwtaVSC15UIFontTextStyle -_TwcaVSC15UIFontTextStyle -_TwcpVSC15UIFontTextStyle -_TwCPVSC15UIFontTextStyle -_TwXXVSC15UIFontTextStyle -get_field_types_UITableViewCellAccessoryType -_TwuiOSC28UITableViewCellAccessoryType -_TwupOSC28UITableViewCellAccessoryType -_TwugOSC28UITableViewCellAccessoryType -__swift_memmove_array8_8 -__swift_memcpy_array8_8 -__swift_noop_self_return -__swift_memcpy8_8 -__swift_noop_void_return -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -_TTSg5O10SwiftForms13FormErrorTypeS0_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -_TTSfq4n_d_n_d___TTSgq5VVVs9Character10_SmallUTF88IteratorS1_s16IteratorProtocols_Vs4UTF8S3_s12UnicodeCodecs___TZFVs5UTF1616transcodedLengthu0_Rxs16IteratorProtocol_s12UnicodeCodecw_8CodeUnitzwx7ElementrfT2ofx9decodedAsMq_27repairingIllFormedSequencesSb_GSqT5countSi7isASCIISb__ -_TTSfq4s_d_n_n_d___TTSgq5VVs9Character10_SmallUTF8S0_s10Collections_Vs4UTF8S2_s12UnicodeCodecs___TZFVs13_StringBuffer13fromCodeUnitsu0_Rxs10Collection_s12UnicodeCodecw_8CodeUnitzWx8Iterator7Element_rfTx8encodingMq_24repairIllFormedSequencesSb15minimumCapacitySi_TGSqS__8hadErrorSb_ -_TTSfq4n_d___TFSSCfVs9CharacterSS -_TTSfq4gs_d___TFVs9CharacterCfSSS_ -_TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_L_13printTypeNameu0_R_S_rfPMP_T_ -_TTSfq4n_d___TFVs6MirrorCfT10reflectingP__S_ -_TMaPs17CustomReflectable_ -_TTSg5P__SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSg5P__SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -_TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -rawValue.get -_TTSg5SSSSs21_ObjectiveCBridgeable10Foundation___forceBridgeFromObjectiveC_bridgeable -_unconditionallyBridgeFromObjectiveC -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_36_unconditionallyBridgeFromObjectiveCfGSqWxS0_15_ObjectiveCType__x -_conditionallyBridgeFromObjectiveC -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__Sb -_forceBridgeFromObjectiveC -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__T_ -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_19_bridgeToObjectiveCfT_WxS0_15_ObjectiveCType_ -_bridgeToObjectiveC -== -_TTSg5OSC28UITableViewCellAccessoryTypeS_s16RawRepresentable5UIKit___TFsoi2eeuRxs16RawRepresentablewx8RawValues9EquatablerFTxx_Sb -_TTWSis9EquatablesZFS_oi2eefTxx_Sb -value.materialize -_toAnyHashable -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS____TFEsPs8Hashable14_toAnyHashablefT_Vs11AnyHashable -hashValue.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s8HashableS____TFEsPs8Hashable14_toAnyHashablefT_Vs11AnyHashable -_getEmbeddedNSError -_userInfo.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s5ErrorS____TFEsPs5Errorg9_userInfoGSqPs9AnyObject__ -_code.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s5ErrorS____TFEsPs5Errorg5_codeSi -_domain.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s5ErrorS____TFEsPs5Errorg7_domainSS -_TTSg5MO10SwiftForms13FormErrorType___TFSSCurfT10reflectingx_SS -formViewController.materialize -rowDescriptor.materialize -rowDescriptor.set -rowDescriptor.didset -__TToFC10SwiftForms13FormTitleCellg10titleLabelCSo7UILabel -__TMaCSo7UILabel -__TFs27_bridgeAnythingToObjectiveCurFxPs9AnyObject_ -__TToFC10SwiftForms13FormTitleCell9configurefT_T_ -__TMaGCs23_ContiguousArrayStorageTSSCSo6UIView__ -__TToFC10SwiftForms13FormTitleCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms13FormTitleCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms13FormTitleCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormTitleCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSf4g_d___TTSg5SSSSs8Hashables_CSo6UIView___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_swift_rt_swift_allocObject -__TMLCSo7UILabel -__TMLCSo6UIView -__TMLGCs23_ContiguousArrayStorageTSSCSo6UIView__ -__TMLTSSCSo6UIView_ -__TMLGCs23_ContiguousArrayStorageSS_ -__TWvdvC10SwiftForms12FormBaseCellP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TMfC10SwiftForms13FormTitleCell -__TMRfC10SwiftForms13FormTitleCell -__TMRsC10SwiftForms13FormTitleCell -__TMRfCSo7UILabel -__TMRsCSo7UILabel -_objc_classes -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift -get_field_types_FormTitleCell -FormTitleCell.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base -_TTSg5CSo18NSLayoutConstraint___TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TMaC10SwiftForms13FormTitleCell -defaultVisualConstraints -_TTSg5SS___TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5SS___TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5SS___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5SS___TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5SS___TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TMaGCs23_ContiguousArrayStorageSS_ -deinit -constraintsViews -_TMaCSo6UIView -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10DictionaryCft17dictionaryLiteralGSaTxq____GS_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10DictionaryCfT13_nativeBufferGVs23_NativeDictionaryBufferxq___GS_xq__ -_TTSg5TSSCSo6UIView____TFCs23_ContiguousArrayStorageD -_TTSg5TSSCSo6UIView____TFCs23_ContiguousArrayStoraged -_TTSg5TSSCSo6UIView____TFSp12deinitializefT5countSi_Sv -_TTSg5TSSCSo6UIView____TFCs23_ContiguousArrayStorageg15_elementPointerGSpx_ -_TTSg5SSSSs8Hashables_CSo6UIView___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5TSSCSo6UIView____TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5TSSCSo6UIView____TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TMaGCs23_ContiguousArrayStorageTSSCSo6UIView__ -_TMaTSSCSo6UIView_ -configure -_TMaCSo7UILabel -titleLabel.get -_TToFC10SwiftForms13FormTitleCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms14FormSliderCellg10sliderViewCSo8UISlider -__TMaCSo8UISlider -__TToFC10SwiftForms14FormSliderCell9configurefT_T_ -__TToFC10SwiftForms14FormSliderCell6updatefT_T_ -__TToFC10SwiftForms14FormSliderCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms14FormSliderCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms14FormSliderCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormSliderCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSg5SS___TFSa16_copyToNewBufferfT8oldCountSi_T_ -__TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols_GVs14_IgnorePointerSS_GS1_SS_s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_swift_rt_swift_isUniquelyReferenced_nonNull_native -__TMLCSo8UISlider -__TMLPs9AnyObject_ -__TWoFC10SwiftForms14FormSliderCell12valueChangedfCSo8UISliderT_ -__TMfC10SwiftForms14FormSliderCell -__TMRfC10SwiftForms14FormSliderCell -__TMRsC10SwiftForms14FormSliderCell -__TMRfCSo8UISlider -__TMRsCSo8UISlider -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift -get_field_types_FormSliderCell -FormSliderCell.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells -_TMaC10SwiftForms14FormSliderCell -_TTSg5SS___TFSa6appendfxT_ -_TTSg5SS___TFSa36_reserveCapacityAssumingUniqueBufferfT8oldCountSi_T_ -_TTSg5SS___TFSa37_appendElementAssumeUniqueAndCapacityfTSi10newElementx_T_ -_TTSg5SS___TFSp10initializefT2tox5countSi_T_ -_TTSg5SS___TFVs12_ArrayBufferg19firstElementAddressGSpx_ -_TTSg5SS___TFVs12_ArrayBuffers5countSi -_TTSg5SS___TFVs22_ContiguousArrayBuffers5countSi -_TTSg5SS___TFVs12_ArrayBufferg8capacitySi -_TTSg5SS___TFVs22_ContiguousArrayBufferg8capacitySi -_TTSg5SS___TFSa9_getCountfT_Si -_TTSg5SS___TFVs12_ArrayBufferg5countSi -_TTSg5SS___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5SS___TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -_TTSg5SS___TFVs12_ArrayBuffer30isMutableAndUniquelyReferencedfT_Sb -_TTSg5SS___TFVs12_ArrayBuffer20isUniquelyReferencedfT_Sb -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols_GVs14_IgnorePointerSS_GS1_SS_s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpwx7Element__GSpwxS2__ -_TTSg5SS___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5SS___TFVs22_ContiguousArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5SS___TFSp10initializefT4fromGSPx_5countSi_T_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8endIndexSi -_TTSg5SS___TFVs12_ArrayBufferg8endIndexSi -_TTSg5SS___TFSp12deinitializefT5countSi_Sv -_TTSg5SS___TFSp14moveInitializefT4fromGSpx_5countSi_T_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g19firstElementAddressGSpwx7Element_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferwx7Element__ -_TTSg5SS___TFVs12_ArrayBuffer33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferx__ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g5countSi -_TTSg5SS___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5SS___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5SS___TFVs22_ContiguousArrayBufferCfT_GS_x_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8capacitySi -_TTSg5SS___TFSa16_copyToNewBufferfT8oldCountSi_T_ -_TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols_GVs14_IgnorePointerSS_GS1_SS_s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -valueChanged -rowDescriptor.get -value.set -update -_TMaPs9AnyObject_ -_TMaCSo8UISlider -sliderView.get -_TToFC10SwiftForms14FormSliderCellg10sliderViewCSo8UISlider -__TMfC10SwiftForms21FormSectionDescriptor -__TMRfC10SwiftForms21FormSectionDescriptor -__TMRfCSo6UIView -__TMRsCSo6UIView -__TMLGSaC10SwiftForms17FormRowDescriptor_ -__TMLGSqCSo6UIView_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift -get_field_types_FormSectionDescriptor -FormSectionDescriptor.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors -_TMaGSqCSo6UIView_ -_TMaGSaC10SwiftForms17FormRowDescriptor_ -footerViewHeight.materialize -footerViewHeight.set -footerViewHeight.get -headerViewHeight.materialize -headerViewHeight.set -headerViewHeight.get -footerView.materialize -footerView.set -footerView.get -headerView.materialize -headerView.set -headerView.get -footerTitle.materialize -footerTitle.set -footerTitle.get -headerTitle.materialize -headerTitle.set -headerTitle.get -rows.materialize -rows.set -rows.get -_TMaC10SwiftForms21FormSectionDescriptor -__T0s24_VariantDictionaryBufferOWy -__T0s24_VariantDictionaryBufferOWy.1 -__TFCs24_CocoaDictionaryIterator4nextfT_GSqTPs9AnyObject_PS0____ -__TTSg5C10SwiftForms21FormSectionDescriptor___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -__TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject__merged -__TTSf4n_n_d___TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4g_d___TTSg5SSSSs8Hashables_Ps9AnyObject____TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -__TMaPs9AnyObject_ -__T0SqWe -__TTSf4gs_n_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -__TTSf4n_s_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TMaGCs37_HashableTypedNativeDictionaryStorageSSPs9AnyObject__ -_swift_rt_swift_dynamicCastClass -_swift_rt_swift_retain_n -__TMfC10SwiftForms14FormDescriptor -__TMRfC10SwiftForms14FormDescriptor -__TMLGSaC10SwiftForms21FormSectionDescriptor_ -l_OBJC_LABEL_PROTOCOL_$__TtPs13_NSStringCore_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs13_NSStringCore_ -__TMLGCs37_HashableTypedNativeDictionaryStorageSSPs9AnyObject__ -l_OBJC_LABEL_PROTOCOL_$__TtPs10_NSCopying_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs10_NSCopying_ -l_OBJC_LABEL_PROTOCOL_$__TtPs18_NSFastEnumeration_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs18_NSFastEnumeration_ -l_OBJC_LABEL_PROTOCOL_$__TtPs15_ShadowProtocol_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs15_ShadowProtocol_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift -_TMaGCs37_HashableTypedNativeDictionaryStorageSSPs9AnyObject__ -FormDescriptor.swift -get_field_types_FormDescriptor -_TMaGSaC10SwiftForms21FormSectionDescriptor_ -_TTSf4n_s_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTWSSs9EquatablesZFS_oi2eefTxx_Sb -_TTSfq4gs_gs_d___TZFSSoi2eefTSSSS_Sb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffers5countSi -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg5countSi -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5Ps9AnyObject____TFSp10initializefT2tox5countSi_T_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSfq4n_s___TFVs13_UnsafeBitMapg9subscriptFSiSb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferg11_bucketMaskSi -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTWSSs8HashablesFS_g9hashValueSi -_TTSfq4s___TFSSg9hashValueSi -_TTSf4gs_n_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSf4g_d___TTSg5SSSSs8Hashables_Ps9AnyObject____TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5GSaTSSPs9AnyObject___GSaTSSPS____s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5TSSPs9AnyObject_____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5TSSPs9AnyObject_____TFSa9formIndexfT5afterRSi_T_ -_TTSg5TSSPs9AnyObject_____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5TSSPs9AnyObject_____TFSag9subscriptFSix -_TTSg5TSSPs9AnyObject_____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5TSSPs9AnyObject_____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT_GS_xq__ -_TTSg5GSaTSSPs9AnyObject___GSaTSSPS____s10Collections___TFEsPs10Collectiong7isEmptySb -_TTSg5TSSPs9AnyObject_____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5TSSPs9AnyObject_____TFSag8endIndexSi -_TTSg5TSSPs9AnyObject_____TFSa9_getCountfT_Si -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBufferg5countSi -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSf4n_n_d___TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSgq5Su___TFSp10initializefT2tox5countSi_T_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg9_isNativeSb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5SS___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -sections.materialize -sections.set -sections.get -title.materialize -title.set -title.get -validateForm -_TTSg5GSaC10SwiftForms21FormSectionDescriptor_GSaS0__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSag9subscriptFSix -_TTSg5GSaC10SwiftForms17FormRowDescriptor_GSaS0__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5C10SwiftForms17FormRowDescriptor___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa9formIndexfT5afterRSi_T_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa9formIndexfT5afterRSi_T_ -_TTSg5C10SwiftForms17FormRowDescriptor___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5C10SwiftForms17FormRowDescriptor___TFSag9subscriptFSix -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -_TTSg5C10SwiftForms17FormRowDescriptor___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5C10SwiftForms17FormRowDescriptor___TFSag8endIndexSi -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa9_getCountfT_Si -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg5countSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5C10SwiftForms21FormSectionDescriptor___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSag8endIndexSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa9_getCountfT_Si -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg5countSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg9_isNativeSb -formValues -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s9EquatableS____TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10DictionaryCft17dictionaryLiteralGSaTxq____GS_xq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10DictionaryCfT13_nativeBufferGVs23_NativeDictionaryBufferxq___GS_xq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TMaC10SwiftForms14FormDescriptor -__TToFC10SwiftForms12FormBaseCellg18formViewControllerXwGSqCS_18FormViewController_ -__TToFC10SwiftForms12FormBaseCells18formViewControllerXwGSqCS_18FormViewController_ -__TToFC10SwiftForms12FormBaseCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms12FormBaseCellcfT5coderCSo7NSCoder_GSqS0__ -__TToFC10SwiftForms12FormBaseCell9configurefT_T_ -__TToFC10SwiftForms12FormBaseCell6updatefT_T_ -__TToFC10SwiftForms12FormBaseCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms12FormBaseCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms12FormBaseCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToFC10SwiftForms12FormBaseCell17inputAccesoryViewfT_CSo9UIToolbar -__TToZFC10SwiftForms12FormBaseCell17formRowCellHeightfT_V12CoreGraphics7CGFloat -__TToZFC10SwiftForms12FormBaseCell30formRowCanBecomeFirstResponderfT_Sb -__TToZFC10SwiftForms12FormBaseCell18formViewControllerfTCS_18FormViewController12didSelectRowS0__T_ -__TToFC10SwiftForms12FormBaseCell17updateConstraintsfT_T_ -__TTSg5CSo18NSLayoutConstraint___TFSa16_copyToNewBufferfT8oldCountSi_T_ -__TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TFs25_isClassOrObjCExistentialurFMxSb -__TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -__TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TTWSis9EquatablesZFS_oi2eefTxx_Sb -__TTSgq5GVs14CountableRangeSi_GS_Si_s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -__TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer18_typeCheckSlowPathfSiT_ -__TTSf4n_n_d___TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4n_n_d___TTSg5SS_P____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4s_n_n___TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -__TTSf4g___TTSg5SSSSs8Hashables_CSo6UIView_SSSSS_s_P____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__ -__TTSf4n_n_d___TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -__TTSf4s_n_n___TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols_GVs14_IgnorePointerS0__GS2_S0__s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -__TMaCSo18NSLayoutConstraint -__TMaP_ -__TMaCSo6UIView -__T0s32DictionaryIteratorRepresentationOWy.10 -__TMaGCs37_HashableTypedNativeDictionaryStorageSSP__ -__TMaGCs37_HashableTypedNativeDictionaryStorageSSCSo6UIView_ -__TMLGCs23_ContiguousArrayStorageCSo15UIBarButtonItem_ -__TMLCSo15UIBarButtonItem -__TMLCSo18NSLayoutConstraint -__TWoFC10SwiftForms12FormBaseCellgP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TWoFC10SwiftForms12FormBaseCellsP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TWoFC10SwiftForms12FormBaseCellmP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TWoFC10SwiftForms12FormBaseCell16handleDoneActionfCSo15UIBarButtonItemT_ -__TMfC10SwiftForms12FormBaseCell -__TMRfC10SwiftForms12FormBaseCell -__TMRsC10SwiftForms12FormBaseCell -__TMRfCSo18NSLayoutConstraint -__TMRsCSo18NSLayoutConstraint -__TMLGSqC10SwiftForms17FormRowDescriptor_ -__TMLGSqC10SwiftForms18FormViewController_ -__TMLGSaCSo18NSLayoutConstraint_ -__TMLGCs23_ContiguousArrayStorageCSo18NSLayoutConstraint_ -__TMLGCs37_HashableTypedNativeDictionaryStorageSSP__ -__TMLGCs37_HashableTypedNativeDictionaryStorageSSCSo6UIView_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift -_TMaGCs37_HashableTypedNativeDictionaryStorageSSCSo6UIView_ -FormBaseCell.swift -_TMaGCs37_HashableTypedNativeDictionaryStorageSSP__ -get_field_types_FormBaseCell -_TMaGSaCSo18NSLayoutConstraint_ -_TMaGSqC10SwiftForms18FormViewController_ -_TMaGSqC10SwiftForms17FormRowDescriptor_ -formViewController.set -_TMaCSo18NSLayoutConstraint -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols_GVs14_IgnorePointerS0__GS2_S0__s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpwx7Element__GSpwxS2__ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8endIndexSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg8endIndexSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg5countSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg9_isNativeSb -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffers5countSi -_TTSg5CSo18NSLayoutConstraint___TFSp12deinitializefT5countSi_Sv -_TTSg5CSo18NSLayoutConstraint___TFSp14moveInitializefT4fromGSpx_5countSi_T_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g19firstElementAddressGSpwx7Element_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg19firstElementAddressGSpx_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferwx7Element__ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferx__ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg8capacitySi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer20isUniquelyReferencedfT_Sb -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g5countSi -_TTSf4s_n_n___TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5CSo18NSLayoutConstraint___TFSp10initializefT2tox5countSi_T_ -_TTSf4g_n_n___TTSg5CSo18NSLayoutConstraint___TFSp10initializefT2tox5countSi_T_ -_TTSg5CSo18NSLayoutConstraint___TFSp10initializefT4fromGSPx_5countSi_T_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer10_typeCheckfGVs5RangeSi_T_ -_TTSgq5GVs14CountableRangeSi_GS_Si_s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg21needsElementTypeCheckSb -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -_TTSf4n_n_d___TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TMaGCs23_ContiguousArrayStorageCSo18NSLayoutConstraint_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT_GS_x_ -_TTSf4g___TTSg5SSSSs8Hashables_CSo6UIView_SSSSS_s_P____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs18DictionaryIterator4nextfT_GSqT3keyx5valueq___ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs18DictionaryIterator11_nativeNextfT_GSqT3keyx5valueq___ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer12assertingGetfGVs22_NativeDictionaryIndexxq__T3keyx5valueq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSg5SSSSs8Hashables_P____TFVs10DictionaryCfT15minimumCapacitySi_GS_xq__ -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5SS_CSo6UIView___TZFVs22_NativeDictionaryIndexoi2eefTGS_xq__GS_xq___Sb -_TTSg5SSSSs8Hashables_P____TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionary12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TZFVs18DictionaryIterator6_cocoafCs24_CocoaDictionaryIteratorGS_xq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg8endIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg10startIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionaryg5countSi -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBufferg5countSi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg5countSi -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSf4s_n_n___TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5SS_P____TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferg11_bucketMaskSi -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5P____TFSp10initializefT2tox5countSi_T_ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5SS_P____TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTSf4n_n_d___TTSg5SS_P____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -formViewController -formRowCellHeight -firstResponderElement -_TTSf4g_d___TTSg5SSSSs8Hashables_CSo6UIView___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTSg5GSaTSSCSo6UIView__GSaTSSS___s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5TSSCSo6UIView____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5TSSCSo6UIView____TFSa9formIndexfT5afterRSi_T_ -_TTSg5TSSCSo6UIView____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5TSSCSo6UIView____TFSag9subscriptFSix -_TTSg5TSSCSo6UIView____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5TSSCSo6UIView____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5TSSCSo6UIView____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5TSSCSo6UIView____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffers5countSi -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferg11_bucketMaskSi -_TTSg5CSo6UIView___TFSp10initializefT2tox5countSi_T_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT_GS_xq__ -_TTSg5GSaTSSCSo6UIView__GSaTSSS___s10Collections___TFEsPs10Collectiong7isEmptySb -_TTSg5TSSCSo6UIView____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5TSSCSo6UIView____TFSag8endIndexSi -_TTSg5TSSCSo6UIView____TFSa9_getCountfT_Si -_TTSg5TSSCSo6UIView____TFVs12_ArrayBufferg5countSi -_TTSg5TSSCSo6UIView____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TMaC10SwiftForms12FormBaseCell -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer18_typeCheckSlowPathfSiT_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5P____TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5SS_P____TFVs23_NativeDictionaryBuffers5countSi -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg5countSi -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8capacitySi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg8capacitySi -_TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -_TTSg5GVs22_NativeDictionaryIndexSSCSo6UIView_GS_SSS0__s9Equatables___TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5SS_CSo6UIView___TTWu0_rGVs22_NativeDictionaryIndexxq__s9EquatablesZFS0_oi2eefTxx_Sb -_TFs25_isClassOrObjCExistentialurFMxSb -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5CSo18NSLayoutConstraint___TFSa16_copyToNewBufferfT8oldCountSi_T_ -_TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols_GVs14_IgnorePointerS0__GS2_S0__s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -updateConstraints -formRowCanBecomeFirstResponder -handleDoneAction -inputAccesoryView -_TToFC10SwiftForms12FormBaseCells18formViewControllerXwGSqCS_18FormViewController_ -_TToFC10SwiftForms12FormBaseCellg18formViewControllerXwGSqCS_18FormViewController_ -formViewController.get -_TFs27_bridgeAnythingToObjectiveCurFxPs9AnyObject_ -_TTSg5CSo18NSLayoutConstraint___TFSa6appendfxT_ -_TTSg5CSo18NSLayoutConstraint___TFSa36_reserveCapacityAssumingUniqueBufferfT8oldCountSi_T_ -_TTSg5GSaCSo18NSLayoutConstraint_GSaS__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5CSo18NSLayoutConstraint___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5CSo18NSLayoutConstraint___TFSa9formIndexfT5afterRSi_T_ -_TTSg5GSaSS_GSaSS_s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5SS___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5SS___TFSa9formIndexfT5afterRSi_T_ -_TTSg5SS___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5SS___TFSag9subscriptFSix -_TTSg5SS___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5SS___TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5SS___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5CSo18NSLayoutConstraint___TFSa9removeAllfT15keepingCapacitySb_T_ -_TTSg5CSo18NSLayoutConstraint___TFSa37_appendElementAssumeUniqueAndCapacityfTSi10newElementx_T_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffers5countSi -_TTSg5CSo18NSLayoutConstraint___TFSa9_getCountfT_Si -_TTSg5CSo18NSLayoutConstraint___TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer30isMutableAndUniquelyReferencedfT_Sb -_TTSg5CSo18NSLayoutConstraint___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5CSo18NSLayoutConstraint___TFSag9subscriptFSix -_TTSg5CSo18NSLayoutConstraint___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5CSo18NSLayoutConstraint___TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5CSo18NSLayoutConstraint___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5CSo18NSLayoutConstraint___TFSag8endIndexSi -_TTSg5SSSSs8Hashables_CSo6UIView_SSSSS_s_P____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__ -_TTSg5SS___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5SS___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5SS___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5SS___TFVs22_ContiguousArrayBuffer10getElementfSix -customConstraints.get -_TTSg5SS___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5SS___TFSag8endIndexSi -_TTSg5CSo18NSLayoutConstraint___TFSag5countSi -_TMaCSo15UIBarButtonItem -_TTSg5CSo15UIBarButtonItem___TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5CSo15UIBarButtonItem___TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5CSo15UIBarButtonItem___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5CSo15UIBarButtonItem___TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5CSo15UIBarButtonItem___TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TMaGCs23_ContiguousArrayStorageCSo15UIBarButtonItem_ -__TFC10SwiftForms13FormLabelCell9configurefT_T_ -__TToFC10SwiftForms13FormLabelCell9configurefT_T_ -__TFC10SwiftForms13FormLabelCell6updatefT_T_ -__TToFC10SwiftForms13FormLabelCell6updatefT_T_ -__TFC10SwiftForms13FormLabelCellD -__TFC10SwiftForms13FormLabelCellCfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TFC10SwiftForms13FormLabelCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormLabelCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TFC10SwiftForms13FormLabelCellCfT5coderCSo7NSCoder_GSqS0__ -__TFC10SwiftForms13FormLabelCellcfT5coderCSo7NSCoder_GSqS0__ -__TToFC10SwiftForms13FormLabelCellcfT5coderCSo7NSCoder_GSqS0__ -__TMaC10SwiftForms13FormLabelCell -_OBJC_METACLASS_$__TtC10SwiftForms13FormLabelCell -__TMnC10SwiftForms13FormLabelCell -__TMLC10SwiftForms13FormLabelCell -__TMfC10SwiftForms13FormLabelCell -__TMRfC10SwiftForms13FormLabelCell -__TMRsC10SwiftForms13FormLabelCell -__TWvdvC10SwiftForms13FormValueCellP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TMC10SwiftForms13FormLabelCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift -_TMaC10SwiftForms13FormLabelCell -FormLabelCell.swift -get_field_types_FormLabelCell -__TToFC10SwiftForms16FormTextViewCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms16FormTextViewCellg9textFieldCSo10UITextView -__TToZFC10SwiftForms16FormTextViewCell17formRowCellHeightfT_V12CoreGraphics7CGFloat -__TToFC10SwiftForms16FormTextViewCell9configurefT_T_ -__TToFC10SwiftForms16FormTextViewCell6updatefT_T_ -__TToFC10SwiftForms16FormTextViewCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms16FormTextViewCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms16FormTextViewCell17textViewDidChangefCSo10UITextViewT_ -__TToFC10SwiftForms16FormTextViewCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms16FormTextViewCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSfq4gs_gs_d___TZFSSoi2eefTSSSS_Sb -__TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTWSSs9EquatablesZFS_oi2eefTxx_Sb -__TTWSSs8HashablesFS_g9hashValueSi -__TTSfq4s___TFSSg9hashValueSi -__TTSf4gs_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -__TTSf4g_n_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12nativeDeletefTGVs23_NativeDictionaryBufferxq__11idealBucketSi6offsetSi_T_ -__TTSf4s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer18nativeRemoveObjectfT6forKeyx_GSqq__ -__TTSf4n_s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TMaCSo10UITextView -__T0SqWe.2 -__T0s24_VariantDictionaryBufferOWy.3 -__TMLCSo10UITextView -__TWvdvC10SwiftForms16FormTextViewCellP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -l_OBJC_LABEL_PROTOCOL_$_UITextViewDelegate -l_OBJC_PROTOCOL_REFERENCE_$_UITextViewDelegate -__TWoFC10SwiftForms16FormTextViewCellgP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms16FormTextViewCellsP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms16FormTextViewCellmP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -__TMfC10SwiftForms16FormTextViewCell -__TMRfC10SwiftForms16FormTextViewCell -__TMRsC10SwiftForms16FormTextViewCell -__TMRfCSo10UITextView -__TMRsCSo10UITextView -__TMLGSQGSaPs9AnyObject___ -__TMLGSaPs9AnyObject__ -l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_PROTOCOL_REFERENCE_$_UIScrollViewDelegate -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift -get_field_types_FormTextViewCell -FormTextViewCell.swift -_TMaGSQGSaPs9AnyObject___ -_TMaGSaPs9AnyObject__ -_TMaC10SwiftForms16FormTextViewCell -textViewDidChange -_TTSg5VSS13CharacterViewS_s10Collections___TFEsPs10Collectiong5countwx13IndexDistance -_TTWVSS13CharacterViews10CollectionsFS0_8distancefT4fromwx5Index2towxS1__wx13IndexDistance -_TTSfq4s_s_n___TTSgq5VSS13CharacterViewS_s23_BidirectionalIndexables___TFEsPs23_BidirectionalIndexable8distancefT4fromwx5Index2towxS0__wx13IndexDistance -_TTWVSS13CharacterViews14_IndexableBasesFS0_g8endIndexwx5Index -_TTWVSS13CharacterViews14_IndexableBasesFS0_g10startIndexwx5Index -_TMaCSo10UITextView -_TTSf4n_s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSf4s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer18nativeRemoveObjectfT6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12nativeDeletefTGVs23_NativeDictionaryBufferxq__11idealBucketSi6offsetSi_T_ -_TTSf4g_n_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12nativeDeletefTGVs23_NativeDictionaryBufferxq__11idealBucketSi6offsetSi_T_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_prevfSiSi -_TTSg5CSo6UIView___TFSp4movefT_x -_TTSg5SS___TFSp4movefT_x -_TTSg5CSo6UIView___TFSp12deinitializefT5countSi_Sv -_TTSf4gs_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSf4n_n_d___TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5CSo6UIView___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5CSo7UIImageCSo8NSObjects9Equatable5UIKit___TFsoi2neuRxs9EquatablerFTGSqx_GSqx__Sb -_TTSg5CSo7UIImageCSo8NSObjects9Equatable5UIKit___TFsoi2eeuRxs9EquatablerFTGSqx_GSqx__Sb -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionary11removeValuefT6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer11removeValuefT6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer18nativeRemoveObjectfT6forKeyx_GSqq__ -textField.get -_TToFC10SwiftForms16FormTextViewCellg9textFieldCSo10UITextView -_TToFC10SwiftForms16FormTextViewCellg10titleLabelCSo7UILabel -___swift_memcpy1_1 -___swift_memcpy_array1_1 -___swift_memmove_array1_1 -__TwxsO10SwiftForms13FormErrorType -__TwxgO10SwiftForms13FormErrorType -__TwugO10SwiftForms13FormErrorType -__TwupO10SwiftForms13FormErrorType -__TwuiO10SwiftForms13FormErrorType -__TMfO10SwiftForms13FormErrorType -__TMRfO10SwiftForms13FormErrorType -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift -_TMaO10SwiftForms13FormErrorType -FormErrorType.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms -get_field_types_FormErrorType -_TwuiO10SwiftForms13FormErrorType -_TwupO10SwiftForms13FormErrorType -_TwugO10SwiftForms13FormErrorType -_TwxgO10SwiftForms13FormErrorType -_TwxsO10SwiftForms13FormErrorType -__swift_memmove_array1_1 -__swift_memcpy_array1_1 -__swift_memcpy1_1 -_TWaO10SwiftForms13FormErrorTypes9_HashableS_ -_TWaO10SwiftForms13FormErrorTypes5ErrorS_ -_TWaO10SwiftForms13FormErrorTypes8HashableS_ -_TWaO10SwiftForms13FormErrorTypes9EquatableS_ -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_func0 -__TFIZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD00136__onceT_iU_FT_T_ -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_func2 -__TToFC10SwiftForms18FormViewControllercfT_S0_ -__TToFC10SwiftForms18FormViewControllercfT5styleOSC16UITableViewStyle_S0_ -__TToFC10SwiftForms18FormViewControllercfT7nibNameGSqSS_6bundleGSqCSo6Bundle__S0_ -__TToFC10SwiftForms18FormViewControllercfT5coderCSo7NSCoder_S0_ -__TToFC10SwiftForms18FormViewController11viewDidLoadfT_T_ -__TToFC10SwiftForms18FormViewController11valueForTagfSSGSqPs9AnyObject__ -__TToFC10SwiftForms18FormViewController8setValuefTPs9AnyObject_6forTagSS_T_ -__TToFC10SwiftForms18FormViewController16numberOfSectionsfT2inCSo11UITableView_Si -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView21numberOfRowsInSectionSi_Si -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCell -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView23titleForHeaderInSectionSi_GSqSS_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView23titleForFooterInSectionSi_GSqSS_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView22viewForFooterInSectionSi_GSqCSo6UIView_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView22viewForHeaderInSectionSi_GSqCSo6UIView_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView22viewForFooterInSectionSi_GSqCSo6UIView__merged -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView24heightForHeaderInSectionSi_V12CoreGraphics7CGFloat -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView24heightForFooterInSectionSi_V12CoreGraphics7CGFloat -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView24heightForHeaderInSectionSi_V12CoreGraphics7CGFloat_merged -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView14heightForRowAtV10Foundation9IndexPath_V12CoreGraphics7CGFloat -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -__TTSf4g_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -__T0SqWy.2 -__T0s32DictionaryIteratorRepresentationOWy.12 -__TZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001320onceDefaultCellClassSi -__TZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001318defaultCellClassesGVs10DictionaryOCS_17FormRowDescriptor7RowTypeMCS_12FormBaseCell_ -__TWvdvC10SwiftForms17FormTextFieldCellP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWvdvC10SwiftForms24FormSegmentedControlCellP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoZFC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001326defaultCellClassForRowTypefOCS_17FormRowDescriptor7RowTypeMCS_12FormBaseCell -__TWoFC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001328formRowDescriptorAtIndexPathfV10Foundation9IndexPathCS_17FormRowDescriptor -__TWoFC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001334formBaseCellClassFromRowDescriptorfCS_17FormRowDescriptorGSQMCS_12FormBaseCell_ -__TMfC10SwiftForms18FormViewController -__TMRfC10SwiftForms18FormViewController -__TMRsC10SwiftForms18FormViewController -__TMLGCs37_HashableTypedNativeDictionaryStorageOC10SwiftForms17FormRowDescriptor7RowTypeMCS0_12FormBaseCell_ -__TMLMC10SwiftForms12FormBaseCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift -get_field_types_FormViewController -FormViewController.swift -tableView -formBaseCellClassFromRowDescriptor -defaultCellClassForRowType -formRowDescriptorAtIndexPath -form.get -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs18DictionaryIterator4nextfT_GSqT3keyx5valueq___ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs18DictionaryIterator11_nativeNextfT_GSqT3keyx5valueq___ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer12assertingGetfGVs22_NativeDictionaryIndexxq__T3keyx5valueq__ -FormTextFieldCell.swift -FormSegmentedControlCell.swift -FormValueCell.swift -_TTSg5SS_Ps9AnyObject____TZFVs22_NativeDictionaryIndexoi2eefTGS_xq__GS_xq___Sb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10Dictionary12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TZFVs18DictionaryIterator6_cocoafCs24_CocoaDictionaryIteratorGS_xq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg8endIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg10startIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10Dictionaryg9subscriptFxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer8maybeGetfxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer8maybeGetfxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg5countSi -_TFC10SwiftForms18FormViewControllerauP33_A98A5792941355E0FC6070FE05AD001318defaultCellClassesGVs10DictionaryOCS_17FormRowDescriptor7RowTypeMCS_12FormBaseCell_ -_TFC10SwiftForms18FormViewControllerauP33_A98A5792941355E0FC6070FE05AD00136__onceT_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -setValue -_TTSg5GVs16IndexingIteratorGSaC10SwiftForms21FormSectionDescriptor__GS_GSaS1___s16IteratorProtocols___TFVs18EnumeratedIterator4nextfT_GSqT6offsetSi7elementwx7Element__ -_TTSg5GSaC10SwiftForms21FormSectionDescriptor_GSaS0__s14_IndexableBases___TTWuRxs14_IndexableBaserGVs16IndexingIteratorx_s16IteratorProtocolsFS1_4nextfT_GSqwx7Element_ -_TTSg5GVs16IndexingIteratorGSaC10SwiftForms17FormRowDescriptor__GS_GSaS1___s16IteratorProtocols___TFVs18EnumeratedIterator4nextfT_GSqT6offsetSi7elementwx7Element__ -_TTSg5GSaC10SwiftForms17FormRowDescriptor_GSaS0__s14_IndexableBases___TTWuRxs14_IndexableBaserGVs16IndexingIteratorx_s16IteratorProtocolsFS1_4nextfT_GSqwx7Element_ -_TZFSSoi2eefTSSSS_Sb -valueForTag -_TTSf4g_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5GSaTOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell__GSaTS1_MS2___s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa9formIndexfT5afterRSi_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSag9subscriptFSix -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBuffers5countSi -_TTSg5MC10SwiftForms12FormBaseCell___TFSp10initializefT2tox5countSi_T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType___TFSp10initializefT2tox5countSi_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSf4n_n_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -_TMaGCs37_HashableTypedNativeDictionaryStorageOC10SwiftForms17FormRowDescriptor7RowTypeMCS0_12FormBaseCell_ -_TMaMC10SwiftForms12FormBaseCell -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT_GS_xq__ -_TTSg5GSaTOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell__GSaTS1_MS2___s10Collections___TFEsPs10Collectiong7isEmptySb -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSag8endIndexSi -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa9_getCountfT_Si -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBufferg5countSi -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5MC10SwiftForms12FormBaseCell___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -_TTSg5GVs22_NativeDictionaryIndexSSPs9AnyObject__GS_SSPS0___s9Equatables___TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5SS_Ps9AnyObject____TTWu0_rGVs22_NativeDictionaryIndexxq__s9EquatablesZFS0_oi2eefTxx_Sb -_TFCs24_CocoaDictionaryIterator4nextfT_GSqTPs9AnyObject_PS0____ -_TTSfq4n_d_n___TTSgq5GVs9UnmanagedPs9AnyObject_____TFSv4loadurfT14fromByteOffsetSi2asMx_x -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TMaC10SwiftForms18FormViewController -form.materialize -form.set -_TTSg5C10SwiftForms17FormRowDescriptor___TFSag5countSi -numberOfSections -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSag5countSi -viewDidLoad -globalinit_33_A98A5792941355E0FC6070FE05AD0013_func2 -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10DictionaryCft17dictionaryLiteralGSaTxq____GS_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10DictionaryCfT13_nativeBufferGVs23_NativeDictionaryBufferxq___GS_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TFIZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD00136__onceT_iU_FT_T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -globalinit_33_A98A5792941355E0FC6070FE05AD0013_func0 -__TToFC10SwiftForms14FormButtonCell9configurefT_T_ -__TToFC10SwiftForms14FormButtonCell6updatefT_T_ -__TToFC10SwiftForms14FormButtonCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormButtonCellcfT5coderCSo7NSCoder_GSqS0__ -__TMfC10SwiftForms14FormButtonCell -__TMRfC10SwiftForms14FormButtonCell -__TMRsC10SwiftForms14FormButtonCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift -get_field_types_FormButtonCell -FormButtonCell.swift -_TMaC10SwiftForms14FormButtonCell -__TToFC10SwiftForms15FormStepperCellg11stepperViewCSo9UIStepper -__TToFC10SwiftForms15FormStepperCellg10countLabelCSo7UILabel -__TMaCSo9UIStepper -__TToFC10SwiftForms15FormStepperCell9configurefT_T_ -__TToFC10SwiftForms15FormStepperCell6updatefT_T_ -__TToFC10SwiftForms15FormStepperCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms15FormStepperCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms15FormStepperCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms15FormStepperCellcfT5coderCSo7NSCoder_GSqS0__ -__TFFs16_float64ToStringFTSd5debugSb_SSU_FGSpVs5UInt8_SS -__TMLCSo9UIStepper -__TWoFC10SwiftForms15FormStepperCell12valueChangedfCSo8UISwitchT_ -__TMfC10SwiftForms15FormStepperCell -__TMRfC10SwiftForms15FormStepperCell -__TMRsC10SwiftForms15FormStepperCell -__TMRfCSo9UIStepper -__TMRsCSo9UIStepper -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift -get_field_types_FormStepperCell -FormStepperCell.swift -_TMaC10SwiftForms15FormStepperCell -_TFFs16_float64ToStringFTSd5debugSb_SSU_FGSpVs5UInt8_SS -_TTSfq4n_d___TZFVs4UTF810_decodeOnefVs6UInt32T6resultGSqS0__6lengthVs5UInt8_ -_TTSgq5GVs16IndexingIteratorGSRVs5UInt8__GS_GSRS0___s16IteratorProtocols___TFVs4UTF86decodeuRxs16IteratorProtocolwx7ElementzVs5UInt8rfRxOs21UnicodeDecodingResult -_TTSgq5GSRVs5UInt8_GSRS__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSfq4n_s___TTSgq5Vs5UInt8___TFSRg9subscriptFSix -_TTSg5SdSds25LosslessStringConvertibles___TFSSCuRxs25LosslessStringConvertiblerfxSS -_TTWSds23CustomStringConvertiblesFS_g11descriptionSS -_TFs16_float64ToStringFTSd5debugSb_SS -_TMaCSo9UIStepper -countLabel.get -_TToFC10SwiftForms15FormStepperCellg10countLabelCSo7UILabel -stepperView.get -_TToFC10SwiftForms15FormStepperCellg11stepperViewCSo9UIStepper -__TToFC10SwiftForms16FormSelectorCell6updatefT_T_ -__TToZFC10SwiftForms16FormSelectorCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms16FormSelectorCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms16FormSelectorCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSg5Ps9AnyObject____TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TMaCSo16UIViewController -__TMLCSo16UIViewController -__TMfC10SwiftForms16FormSelectorCell -__TMRfC10SwiftForms16FormSelectorCell -__TMRsC10SwiftForms16FormSelectorCell -__TMLGCs18_HeapBufferStorageVs18_StringBufferIVarsVs6UInt16_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift -get_field_types_FormSelectorCell -FormSelectorCell.swift -_TMaCSo16UIViewController -_TMaC10SwiftForms16FormSelectorCell -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg9_isNativeSb -_TTSfq4d___TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TZFVs11_HeapBuffer14_elementOffsetfT_Si -_TTSfq4n_n_n_d___TFVs13_StringBufferCfT8capacitySi11initialSizeSi12elementWidthSi_S_ -_TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TFVs11_HeapBuffer9_capacityfT_Si -_TTSfq4n_n_n_d___TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TFVs11_HeapBufferCfTPMPs9AnyObject_xSi_GS_xq__ -_TTSgq5Vs18_StringBufferIVars___TFSp10initializefT2tox5countSi_T_ -_TMaGCs18_HeapBufferStorageVs18_StringBufferIVarsVs6UInt16_ -_TTSg5GVs16IndexingIteratorGSaPs9AnyObject___GS_GSaPS0____s16IteratorProtocols___TFVs18EnumeratedIterator4nextfT_GSqT6offsetSi7elementwx7Element__ -_TTSg5GSaPs9AnyObject__GSaPS___s14_IndexableBases___TTWuRxs14_IndexableBaserGVs16IndexingIteratorx_s16IteratorProtocolsFS1_4nextfT_GSqwx7Element_ -_TTSg5GSaPs9AnyObject__GSaPS___s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5Ps9AnyObject____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5Ps9AnyObject____TFSag9subscriptFSix -_TTSg5Ps9AnyObject____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5Ps9AnyObject____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5Ps9AnyObject____TFSa9formIndexfT5afterRSi_T_ -_TZFSSoi2pefTRSSSS_T_ -_TTSg5Ps9AnyObject____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5Ps9AnyObject____TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -_TTSg5Ps9AnyObject____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5Ps9AnyObject____TFSag8endIndexSi -_TTSg5Ps9AnyObject____TFSa9_getCountfT_Si -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg5countSi -__TToFC10SwiftForms14FormSwitchCellg10switchViewCSo8UISwitch -__TToFC10SwiftForms14FormSwitchCell9configurefT_T_ -__TToFC10SwiftForms14FormSwitchCell6updatefT_T_ -__TToFC10SwiftForms14FormSwitchCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormSwitchCellcfT5coderCSo7NSCoder_GSqS0__ -__TWoFC10SwiftForms14FormSwitchCell12valueChangedfCSo8UISwitchT_ -__TMfC10SwiftForms14FormSwitchCell -__TMRfC10SwiftForms14FormSwitchCell -__TMRsC10SwiftForms14FormSwitchCell -__TMRfCSo8UISwitch -__TMRsCSo8UISwitch -__TMLCSo8UISwitch -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift -get_field_types_FormSwitchCell -FormSwitchCell.swift -_TMaCSo8UISwitch -_TMaC10SwiftForms14FormSwitchCell -switchView.get -_TToFC10SwiftForms14FormSwitchCellg10switchViewCSo8UISwitch -__TToFC10SwiftForms13FormCheckCell9configurefT_T_ -__TToFC10SwiftForms13FormCheckCell6updatefT_T_ -__TToZFC10SwiftForms13FormCheckCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms13FormCheckCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormCheckCellcfT5coderCSo7NSCoder_GSqS0__ -__TWoFC10SwiftForms13FormCheckCellP33_254C49D6E5637BF0BEB3218F3FC093E75checkfT_T_ -__TMfC10SwiftForms13FormCheckCell -__TMRfC10SwiftForms13FormCheckCell -__TMRsC10SwiftForms13FormCheckCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift -get_field_types_FormCheckCell -FormCheckCell.swift -_TMaC10SwiftForms13FormCheckCell -check -__TToFC10SwiftForms13FormValueCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms13FormValueCellg10valueLabelCSo7UILabel -__TToFC10SwiftForms13FormValueCell9configurefT_T_ -__TToFC10SwiftForms13FormValueCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms13FormValueCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms13FormValueCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormValueCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSgq5SSSSs20TextOutputStreamables___TFs27_toStringReadOnlyStreamableuRxs20TextOutputStreamablerFxSS -__TTSgq5SiSis23CustomStringConvertibles___TFs26_toStringReadOnlyPrintableuRxs23CustomStringConvertiblerFxSS -__TTSfq4g_d___TFSSCft19stringInterpolationGSaSS__SS -__TTWVSS13CharacterViews14_IndexableBasesFS0_g10startIndexwx5Index -__TTWVSS13CharacterViews14_IndexableBasesFS0_g8endIndexwx5Index -__TTWVSS13CharacterViews10CollectionsFS0_8distancefT4fromwx5Index2towxS1__wx13IndexDistance -__TTSfq4s_s_n___TTSgq5VSS13CharacterViewS_s23_BidirectionalIndexables___TFEsPs23_BidirectionalIndexable8distancefT4fromwx5Index2towxS0__wx13IndexDistance -__TWoFC10SwiftForms13FormValueCellgP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms13FormValueCellsP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms13FormValueCellmP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TMfC10SwiftForms13FormValueCell -__TMRfC10SwiftForms13FormValueCell -__TMRsC10SwiftForms13FormValueCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift -get_field_types_FormValueCell -_TMaC10SwiftForms13FormValueCell -_TTSfq4g_d___TFSSCft19stringInterpolationGSaSS__SS -_TTSgq5SiSis23CustomStringConvertibles___TFs26_toStringReadOnlyPrintableuRxs23CustomStringConvertiblerFxSS -_TTSgq5SSSSs20TextOutputStreamables___TFs27_toStringReadOnlyStreamableuRxs20TextOutputStreamablerFxSS -valueLabel.get -_TToFC10SwiftForms13FormValueCellg10valueLabelCSo7UILabel -_TToFC10SwiftForms13FormValueCellg10titleLabelCSo7UILabel -_TTSg5SS___TFCs23_ContiguousArrayStorageD -_TTSg5SS___TFCs23_ContiguousArrayStoraged -_TTSg5SS___TFCs23_ContiguousArrayStorageg15_elementPointerGSpx_ -_TFSSCft19stringInterpolationGSaSS__SS -_TFSSCfT26stringInterpolationSegmentSS_SS -_TFSSCfT26stringInterpolationSegmentSi_SS -__TToFC10SwiftForms24FormSegmentedControlCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms24FormSegmentedControlCellg16segmentedControlCSo18UISegmentedControl -__TMaCSo18UISegmentedControl -__TToFC10SwiftForms24FormSegmentedControlCell9configurefT_T_ -__TToFC10SwiftForms24FormSegmentedControlCell6updatefT_T_ -__TToFC10SwiftForms24FormSegmentedControlCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms24FormSegmentedControlCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms24FormSegmentedControlCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms24FormSegmentedControlCellcfT5coderCSo7NSCoder_GSqS0__ -__TMLCSo18UISegmentedControl -__TWoFC10SwiftForms24FormSegmentedControlCellgP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms24FormSegmentedControlCellsP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms24FormSegmentedControlCellmP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms24FormSegmentedControlCell12valueChangedfCSo18UISegmentedControlT_ -__TWoFC10SwiftForms24FormSegmentedControlCellP33_DBE9D27F80989AD1EAE3BA68E841BE3522updateSegmentedControlfT_T_ -__TMfC10SwiftForms24FormSegmentedControlCell -__TMRfC10SwiftForms24FormSegmentedControlCell -__TMRsC10SwiftForms24FormSegmentedControlCell -__TMRfCSo18UISegmentedControl -__TMRsCSo18UISegmentedControl -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift -get_field_types_FormSegmentedControlCell -_TTSg5GSaPs9AnyObject__GSaPS___s10Collections___TFEsPs10Collectiong7isEmptySb -_TMaC10SwiftForms24FormSegmentedControlCell -updateSegmentedControl -_TFsoi3eeeFTGSqPs9AnyObject__GSqPS____Sb -_TMaCSo18UISegmentedControl -segmentedControl.get -_TToFC10SwiftForms24FormSegmentedControlCellg16segmentedControlCSo18UISegmentedControl -_TToFC10SwiftForms24FormSegmentedControlCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms17FormTextFieldCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms17FormTextFieldCellg9textFieldCSo11UITextField -__TMaCSo11UITextField -__TToFC10SwiftForms17FormTextFieldCell9configurefT_T_ -__TToFC10SwiftForms17FormTextFieldCell6updatefT_T_ -__TToFC10SwiftForms17FormTextFieldCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms17FormTextFieldCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms17FormTextFieldCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToZFC10SwiftForms17FormTextFieldCell30formRowCanBecomeFirstResponderfT_Sb -__TToFC10SwiftForms17FormTextFieldCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms17FormTextFieldCellcfT5coderCSo7NSCoder_GSqS0__ -__TMLCSo11UITextField -__TWoFC10SwiftForms17FormTextFieldCellgP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms17FormTextFieldCellsP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms17FormTextFieldCellmP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms17FormTextFieldCell14editingChangedfCSo11UITextFieldT_ -__TMfC10SwiftForms17FormTextFieldCell -__TMRfC10SwiftForms17FormTextFieldCell -__TMRsC10SwiftForms17FormTextFieldCell -__TMRfCSo11UITextField -__TMRsCSo11UITextField -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift -get_field_types_FormTextFieldCell -editingChanged -_TMaC10SwiftForms17FormTextFieldCell -_TTSg5CSo6UIViewCSo8NSObjects9Equatable5UIKit___TFsoi2eeuRxs9EquatablerFTGSqx_GSqx__Sb -_TMaCSo11UITextField -_TToFC10SwiftForms17FormTextFieldCellg9textFieldCSo11UITextField -_TToFC10SwiftForms17FormTextFieldCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms14FormPickerCell9configurefT_T_ -__TToFC10SwiftForms14FormPickerCell6updatefT_T_ -__TToFC10SwiftForms14FormPickerCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToZFC10SwiftForms14FormPickerCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms14FormPickerCell10pickerViewfTCSo12UIPickerView11titleForRowSi12forComponentSi_GSqSS_ -__TToFC10SwiftForms14FormPickerCell10pickerViewfTCSo12UIPickerView12didSelectRowSi11inComponentSi_T_ -__TToFC10SwiftForms14FormPickerCell18numberOfComponentsfT2inCSo12UIPickerView_Si -__TToFC10SwiftForms14FormPickerCell10pickerViewfTCSo12UIPickerView23numberOfRowsInComponentSi_Si -__TToFC10SwiftForms14FormPickerCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormPickerCellcfT5coderCSo7NSCoder_GSqS0__ -__TWvdvC10SwiftForms14FormPickerCellP33_509F42A1F3552FA9D46F9A9EE75C8D9B6pickerCSo12UIPickerView -__TWvdvC10SwiftForms14FormPickerCellP33_509F42A1F3552FA9D46F9A9EE75C8D9B15hiddenTextFieldCSo11UITextField -l_OBJC_LABEL_PROTOCOL_$_UIPickerViewDelegate -l_OBJC_PROTOCOL_REFERENCE_$_UIPickerViewDelegate -l_OBJC_LABEL_PROTOCOL_$_UIPickerViewDataSource -l_OBJC_PROTOCOL_REFERENCE_$_UIPickerViewDataSource -__TMfC10SwiftForms14FormPickerCell -__TMRfC10SwiftForms14FormPickerCell -__TMRsC10SwiftForms14FormPickerCell -__TMRfCSo12UIPickerView -__TMRsCSo12UIPickerView -__TMLCSo12UIPickerView -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift -get_field_types_FormPickerCell -FormPickerCell.swift -_TMaCSo12UIPickerView -_TMaC10SwiftForms14FormPickerCell -pickerView -_TTSg5Ps9AnyObject____TFSag5countSi -numberOfComponents -_TTSg5GSaPs9AnyObject__GSaPS___s8Sequences___TFEsPs8Sequence10enumeratedfT_GVs18EnumeratedSequencex_ -__TToFC10SwiftForms29FormOptionsSelectorControllerg8formCellGSqCS_12FormBaseCell_ -__TToFC10SwiftForms29FormOptionsSelectorControllers8formCellGSqCS_12FormBaseCell_ -__TToFC10SwiftForms29FormOptionsSelectorControllercfT_S0_ -__TToFC10SwiftForms29FormOptionsSelectorControllercfT5coderCSo7NSCoder_S0_ -__TToFC10SwiftForms29FormOptionsSelectorController11viewDidLoadfT_T_ -__TToFC10SwiftForms29FormOptionsSelectorController16numberOfSectionsfT2inCSo11UITableView_Si -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView21numberOfRowsInSectionSi_Si -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView24heightForHeaderInSectionSi_V12CoreGraphics7CGFloat -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCell -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_ -__TToFC10SwiftForms29FormOptionsSelectorControllercfT5styleOSC16UITableViewStyle_S0_ -__TTSg5Ps9AnyObject____TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -__TTSg5Ps9AnyObject____TFSa16_copyToNewBufferfT8oldCountSi_T_ -__TTSfq4s___TTSgq5Vs5UInt8___TFSRg5countSi -__TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT8newCountSi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSf4n_n_d___TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs14_IgnorePointerPS0___GS2_PS0___s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -__TTSf4s_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withSi10elementsOfqd___T_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs31_InitializeMemoryFromCollectionGVs15EmptyCollectionPS0____GS2_GS3_PS0____s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -__TTSf4s_d_n_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol23_arrayOutOfPlaceReplaceuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withqd__5countSi_T_ -__TTSf4s_d_n___TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TFSa15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zxrfTGVs5RangeSi_4withqd___T_ -__T0SqWy.8 -__T0SqWe.9 -__TMaGSaPs9AnyObject__ -__TMaGCs23_ContiguousArrayStoragePs9AnyObject__ -__TMaGSaPs9AnyObject___merged -__TMLGCs23_ContiguousArrayStoragePs9AnyObject__ -__TWoFC10SwiftForms29FormOptionsSelectorControllerCfT7nibNameGSqSS_6bundleGSqCSo6Bundle__S0_ -__TMfC10SwiftForms29FormOptionsSelectorController -__TMRfC10SwiftForms29FormOptionsSelectorController -__TMRsC10SwiftForms29FormOptionsSelectorController -__TMLGSqC10SwiftForms12FormBaseCell_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift -get_field_types_FormOptionsSelectorController -FormOptionsViewController.swift -_TMaGSqC10SwiftForms12FormBaseCell_ -_TTSg5Ps9AnyObject____TFSa6removefT2atSi_x -_TTSg5Ps9AnyObject____TFSa6appendfxT_ -_TTSg5Ps9AnyObject____TFSa36_reserveCapacityAssumingUniqueBufferfT8oldCountSi_T_ -_TTSg5GSaPs9AnyObject__GSaPS___s10Collections___TFEsPs10Collection5indexfzT5whereFzWx8Iterator7Element_Sb_GSqwx5Index_ -formCell.get -_TTSg5Ps9AnyObject____TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5Ps9AnyObject____TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TTSg5SiSis9Equatables___TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5GSaPs9AnyObject__GSaPS___s26RangeReplaceableCollections_GVs15EmptyCollectionPS___GS1_PS___s10Collections___TFesRxs26RangeReplaceableCollectionwx5Indexs10StrideableWxS0_6Stride_s13SignedIntegerrS_15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zWxS5_S6__rfTGVs14CountableRangewxS0__4withqd___T_ -_TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TTWurGSax_s26RangeReplaceableCollectionsFS_15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zWxS1_S2__rfTGVs5Rangewx5Index_4withqd___T_ -_TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TFSa15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zxrfTGVs5RangeSi_4withqd___T_ -_TTRXFo_oPs9AnyObject__dSbzoPs5Error__XFo_iPS___dSbzoPS0___ -_TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_U_FPs9AnyObject_Sb -_TTSf4g_g___TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_U_FPs9AnyObject_Sb -_TTSg5Ps9AnyObject____TTWurGSax_s10CollectionsFS_g9subscriptFwx5IndexWx8Iterator7Element_ -_TTSg5Ps9AnyObject____TFSa37_appendElementAssumeUniqueAndCapacityfTSi10newElementx_T_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg19firstElementAddressGSpx_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffers5countSi -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffers5countSi -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg8capacitySi -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg8capacitySi -_TTSf4s_d_n___TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TFSa15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zxrfTGVs5RangeSi_4withqd___T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol23_arrayOutOfPlaceReplaceuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withqd__5countSi_T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withSi10elementsOfqd___T_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferx__ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer20isUniquelyReferencedfT_Sb -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg8endIndexSi -_TTSf4s_d_n_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol23_arrayOutOfPlaceReplaceuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withqd__5countSi_T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs31_InitializeMemoryFromCollectionGVs15EmptyCollectionPS0____GS2_GS3_PS0____s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g5countSi -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs31_InitializeMemoryFromCollectionGVs15EmptyCollectionPS0____GS2_GS3_PS0____s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5GVs15EmptyCollectionPs9AnyObject__GS_PS0___s10Collections___TTWuRxs10CollectionrGVs31_InitializeMemoryFromCollectionx_s16_PointerFunctionsFS1_4callfTGSpwx7Element_5countSi_T_ -_TTSg5GVs15EmptyCollectionPs9AnyObject__GS_PS0___s10Collections___TFVs31_InitializeMemoryFromCollection4callfTGSpWx8Iterator7Element__5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpwx7Element__GSpwxS2__ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSf4g_n_n___TTSg5Ps9AnyObject____TFSp10initializefT2tox5countSi_T_ -_TTSfq4n_s_n___TTSgq5GVs14CountableRangeSi_GS_Si_s10_Indexables___TFEsPs10_Indexable20_failEarlyRangeCheckfTwx5Index6boundsGVs5RangewxS0___T_ -_TTSg5Ps9AnyObject____TFSp10initializefT4fromGSPx_5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8endIndexSi -_TTSg5Ps9AnyObject____TTWurGVs15EmptyCollectionx_s10CollectionsFS0_g9subscriptFwx5IndexWx8Iterator7Element_ -_TTSg5Ps9AnyObject____TFVs15EmptyCollectiong9subscriptFSix -_TTSg5Ps9AnyObject____TFSp12deinitializefT5countSi_Sv -_TTSg5Ps9AnyObject____TFSp14moveInitializefT4fromGSpx_5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g19firstElementAddressGSpwx7Element_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferwx7Element__ -_TTSf4s_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withSi10elementsOfqd___T_ -_TTSg5Ps9AnyObject____TFSp10moveAssignfT4fromGSpx_5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g20subscriptBaseAddressGSpwx7Element_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocolg20subscriptBaseAddressGSpwx7Element_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_s5countSi -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs14_IgnorePointerPS0___GS2_PS0___s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSf4n_n_d___TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TMaGCs23_ContiguousArrayStoragePs9AnyObject__ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT_GS_x_ -_TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCellU_FPs9AnyObject_Sb -_TTSf4g_g___TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCellU_FPs9AnyObject_Sb -_TTSg5CSo15UITableViewCellCSo8NSObjects9Equatable5UIKit___TFsoi2eeuRxs9EquatablerFTGSqx_GSqx__Sb -_TMaC10SwiftForms29FormOptionsSelectorController -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8capacitySi -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT8newCountSi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSfq4s___TTSgq5Vs5UInt8___TFSRg5countSi -_TTSg5Ps9AnyObject____TFSa16_copyToNewBufferfT8oldCountSi_T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs14_IgnorePointerPS0___GS2_PS0___s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5Ps9AnyObject____TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer30isMutableAndUniquelyReferencedfT_Sb -_TTSfq1n_cl39_TTRXFo_dGSRVs5UInt8___XFo_dGSRS___iT__XFo_dGSRVs5UInt8____n___TTSgq5T____TFVs12StaticString14withUTF8BufferurfFGSRVs5UInt8_xx -_TFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_ -_TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_ -_TTSfq4s_s___TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_ -formCell.materialize -formCell.set -_TToFC10SwiftForms29FormOptionsSelectorControllers8formCellGSqCS_12FormBaseCell_ -_TToFC10SwiftForms29FormOptionsSelectorControllerg8formCellGSqCS_12FormBaseCell_ -__TToFC10SwiftForms12FormDateCell9configurefT_T_ -__TToFC10SwiftForms12FormDateCell6updatefT_T_ -__TToZFC10SwiftForms12FormDateCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms12FormDateCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToZFC10SwiftForms12FormDateCell30formRowCanBecomeFirstResponderfT_Sb -__TToFC10SwiftForms12FormDateCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms12FormDateCellcfT5coderCSo7NSCoder_GSqS0__ -__TWvdvC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822915hiddenTextFieldCSo11UITextField -__TWvdvC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822910datePickerCSo12UIDatePicker -__TWvdvC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822920defaultDateFormatterCSo13DateFormatter -__TWoFC10SwiftForms12FormDateCell12valueChangedfCSo12UIDatePickerT_ -__TWoFC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822916getDateFormatterfT_CSo13DateFormatter -__TMfC10SwiftForms12FormDateCell -__TMRfC10SwiftForms12FormDateCell -__TMRsC10SwiftForms12FormDateCell -__TMRfCSo12UIDatePicker -__TMRsCSo12UIDatePicker -__TMRfCSo13DateFormatter -__TMRsCSo13DateFormatter -__TMLCSo12UIDatePicker -__TMLCSo13DateFormatter -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift -get_field_types_FormDateCell -FormDateCell.swift -_TMaCSo13DateFormatter -_TMaCSo12UIDatePicker -getDateFormatter -_TMaC10SwiftForms12FormDateCell -__TwxsOC10SwiftForms17FormRowDescriptor7RowType -__TwxgOC10SwiftForms17FormRowDescriptor7RowType -__TwugOC10SwiftForms17FormRowDescriptor7RowType -__TwupOC10SwiftForms17FormRowDescriptor7RowType -__TwuiOC10SwiftForms17FormRowDescriptor7RowType -__TwXXVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor17CellConfiguration -___swift_memcpy96_8 -__TwtaVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwalVC10SwiftForms17FormRowDescriptor17CellConfiguration -___swift_copy_outline_pointer -__TwXxVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor17CellConfiguration -___swift_memmove_array96_8 -__TwXXVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -___swift_memcpy33_8 -__TwtaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwalVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -___swift_memmove_array40_8 -__TwXXVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -___swift_memcpy16_8 -__TwtaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -___swift_memmove_array16_8 -__TwXXVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor20StepperConfiguration -___swift_memcpy25_8 -__TwalVC10SwiftForms17FormRowDescriptor20StepperConfiguration -___swift_memcpy_array32_8 -___swift_memmove_array32_8 -__TwXXVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwtaVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwXXVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwprVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor16RowConfiguration -___swift_memcpy200_8 -__TwtaVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwalVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor16RowConfiguration -___swift_memmove_array200_8 -__TwxsVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwprVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwprVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwprVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TMfC10SwiftForms17FormRowDescriptor -__TMfOC10SwiftForms17FormRowDescriptor7RowType -__TMRfOC10SwiftForms17FormRowDescriptor7RowType -__TMfVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TMfVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TMfVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TMfVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TMfVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TMfVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TMRfC10SwiftForms17FormRowDescriptor -__TMLGVs10DictionarySSPs9AnyObject__ -__TMLGSqCSo13DateFormatter_ -__TMLGSqFC10SwiftForms17FormRowDescriptorT__ -__TMLFC10SwiftForms17FormRowDescriptorT_ -__TMLGSqPMPs9AnyObject__ -__TMLPMPs9AnyObject_ -__TMLGSqFPs9AnyObject_SS_ -__TMLFPs9AnyObject_SS -__TMLGSqFC10SwiftForms12FormBaseCellGSaSS__ -__TMLFC10SwiftForms12FormBaseCellGSaSS_ -__TMLGSaSS_ -__TMLGSqPs9AnyObject__ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift -initialize_metadata_RowConfiguration -FormRowDescriptor.swift -_TMaC10SwiftForms17FormRowDescriptor -_TMaVC10SwiftForms17FormRowDescriptor16RowConfiguration -get_field_types_RowConfiguration -_TMaGVs10DictionarySSPs9AnyObject__ -_TMaVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TMaVC10SwiftForms17FormRowDescriptor20StepperConfiguration -_TMaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TMaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TMaVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwxgVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwxsVC10SwiftForms17FormRowDescriptor16RowConfiguration -__swift_memmove_array200_8 -_TwCcVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwalVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor16RowConfiguration -__swift_memcpy200_8 -_TwTkVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwdeVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwprVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor16RowConfiguration -initialize_metadata_DateConfiguration -get_field_types_DateConfiguration -_TMaGSqCSo13DateFormatter_ -_TwCcVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor17DateConfiguration -initialize_metadata_StepperConfiguration -get_field_types_StepperConfiguration -__swift_memmove_array32_8 -__swift_memcpy_array32_8 -_TwalVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__swift_memcpy25_8 -_TwCpVC10SwiftForms17FormRowDescriptor20StepperConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor20StepperConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor20StepperConfiguration -initialize_metadata_ButtonConfiguration -get_field_types_ButtonConfiguration -_TMaGSqFC10SwiftForms17FormRowDescriptorT__ -_TMaFC10SwiftForms17FormRowDescriptorT_ -__swift_memmove_array16_8 -_TwCcVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__swift_memcpy16_8 -_TwcaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -initialize_metadata_SelectionConfiguration -get_field_types_SelectionConfiguration -_TMaGSqFPs9AnyObject_SS_ -_TMaFPs9AnyObject_SS -_TMaGSqPMPs9AnyObject__ -_TMaPMPs9AnyObject_ -__swift_memmove_array40_8 -_TwCcVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwalVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__swift_memcpy33_8 -_TwTkVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwdeVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -initialize_metadata_CellConfiguration -get_field_types_CellConfiguration -_TMaGSqFC10SwiftForms12FormBaseCellGSaSS__ -_TMaFC10SwiftForms12FormBaseCellGSaSS_ -_TMaGSaSS_ -__swift_memmove_array96_8 -_TwCcVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor17CellConfiguration -__swift_copy_outline_pointer -_TwalVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor17CellConfiguration -__swift_memcpy96_8 -_TwTkVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwdeVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor17CellConfiguration -initialize_metadata_RowType -_TMaOC10SwiftForms17FormRowDescriptor7RowType -get_field_types_RowType -_TwuiOC10SwiftForms17FormRowDescriptor7RowType -_TwupOC10SwiftForms17FormRowDescriptor7RowType -_TwugOC10SwiftForms17FormRowDescriptor7RowType -_TwxgOC10SwiftForms17FormRowDescriptor7RowType -_TwxsOC10SwiftForms17FormRowDescriptor7RowType -get_field_types_FormRowDescriptor -_TMaGSqPs9AnyObject__ -_TWaOC10SwiftForms17FormRowDescriptor7RowTypes9_HashableS_ -_TWaOC10SwiftForms17FormRowDescriptor7RowTypes8HashableS_ -_TWaOC10SwiftForms17FormRowDescriptor7RowTypes9EquatableS_ -value.didset -value.willset -configuration.materialize -configuration.set -configuration.get -type.get -tag.get -value.get -userInfo.materialize -userInfo.set -userInfo.get -date.materialize -date.set -date.get -stepper.materialize -stepper.set -stepper.get -button.materialize -button.set -button.get -selection.materialize -selection.set -selection.get -cell.materialize -cell.set -cell.get -dateFormatter.materialize -dateFormatter.set -dateFormatter.get -continuous.materialize -continuous.set -continuous.get -steps.materialize -steps.set -steps.get -minimumValue.materialize -minimumValue.set -minimumValue.get -maximumValue.materialize -maximumValue.set -maximumValue.get -didSelectClosure.materialize -didSelectClosure.set -didSelectClosure.get -allowsMultipleSelection.materialize -allowsMultipleSelection.set -allowsMultipleSelection.get -optionTitleClosure.materialize -optionTitleClosure.set -optionTitleClosure.get -options.materialize -options.set -options.get -controllerClass.materialize -controllerClass.set -controllerClass.get -visualConstraintsClosure.materialize -visualConstraintsClosure.set -visualConstraintsClosure.get -didUpdateClosure.materialize -didUpdateClosure.set -didUpdateClosure.get -willUpdateClosure.materialize -willUpdateClosure.set -willUpdateClosure.get -required.materialize -required.set -required.get -showsInputToolbar.materialize -showsInputToolbar.set -showsInputToolbar.get -placeholder.materialize -placeholder.set -placeholder.get -appearance.materialize -appearance.set -appearance.get -cellClass.materialize -cellClass.set -cellClass.get -/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/DerivedSources/SwiftForms_vers.c -__ZL15__ARCLite__loadv -__ZL58__arclite_NSMutableDictionary__setObject_forKeyedSubscriptP19NSMutableDictionaryP13objc_selectorP11objc_objectS4_ -__ZL22add_image_hook_swiftV1PK11mach_headerl -__ZL42__arclite_NSUndoManagerProxy_isKindOfClassP11objc_objectP13objc_selectorP10objc_class -__ZL13replaceMethodP10objc_classP13objc_selectorPFP11objc_objectS4_S2_zEPS6_ -__ZL30__arclite_NSManagedObject_initP11objc_objectP13objc_selector -__ZL41__arclite_NSManagedObject_allocWithEntityP11objc_objectP13objc_selectorS0_ -__ZL36__arclite_NSManagedObject_allocBatchP11objc_objectP13objc_selectorPS0_S0_j -__ZL37__arclite_NSKKMS_fastIndexForKnownKeyP11objc_objectP13objc_selectorS0_ -__ZL28__arclite_NSKKMS_indexForKeyP11objc_objectP13objc_selectorS0_ -__ZL29__arclite_NSKKsD_objectForKeyP11objc_objectP13objc_selectorS0_ -__ZL35__arclite_NSKKsD_removeObjectForKeyP11objc_objectP13objc_selectorS0_ -__ZL33__arclite_NSKKsD_setObject_forKeyP11objc_objectP13objc_selectorS0_S0_ -__ZL41__arclite_NSKKsD_addEntriesFromDictionaryP11objc_objectP13objc_selectorP12NSDictionary -__ZL28__arclite_objc_readClassPairP10objc_classPK15objc_image_info -__ZL32__arclite_objc_allocateClassPairP10objc_classPKcm -__ZL32__arclite_object_getIndexedIvarsP11objc_object -__ZL23__arclite_objc_getClassPKc -__ZL27__arclite_objc_getMetaClassPKc -__ZL31__arclite_objc_getRequiredClassPKc -__ZL26__arclite_objc_lookUpClassPKc -__ZL26__arclite_objc_getProtocolPKc -__ZL23__arclite_class_getNameP10objc_class -__ZL26__arclite_protocol_getNameP8Protocol -__ZL37__arclite_objc_copyClassNamesForImagePKcPj -__ZL17transcribeMethodsP10objc_classP15glue_class_ro_t -__ZL19transcribeProtocolsP10objc_classP15glue_class_ro_t -__ZL20transcribePropertiesP10objc_classP15glue_class_ro_t -__ZL14initialize_impP11objc_objectP13objc_selector -__ZL18allocateMaybeSwiftP18glue_swift_class_tm -__ZL22copySwiftV1MangledNamePKcb -__ZL13demangledNamePKcb -__ZL16scanMangledFieldRPKcS0_S1_Ri -__ZL30arclite_uninitialized_functionv -__ZL12cxxConstructP11objc_object -__ZL20fixStringForCoreDataP11objc_object -_OBJC_METACLASS_$___ARCLite__ -__ZL24OBJC_CLASS_$___ARCLite__ -__ZL31OBJC_METACLASS_RO_$___ARCLite__ -__non_lazy_classes -__ZL27OBJC_CLASS_RO_$___ARCLite__ -__ZL11_class_name -__ZL32OBJC_$_CLASS_METHODS___ARCLite__ -__ZL17_load_method_name -__ZL17_load_method_type -l_OBJC_PROTOCOL_$___ARCLiteKeyedSubscripting__ -l_OBJC_LABEL_PROTOCOL_$___ARCLiteKeyedSubscripting__ -l_OBJC_PROTOCOL_REFERENCE_$___ARCLiteKeyedSubscripting__ -__ZL30NSUndoManagerProxy_targetClass -__ZL29original_NSManagedObject_init -__ZL40original_NSManagedObject_allocWithEntity -__ZL35original_NSManagedObject_allocBatch -__ZL25NSMutableDictionary_class -__ZL22NSConstantString_class -__ZL14NSString_class -__ZL36original_NSKKMS_fastIndexForKnownKey -__ZL27original_NSKKMS_indexForKey -__ZL28original_NSKKsD_objectForKey -__ZL34original_NSKKsD_removeObjectForKey -__ZL32original_NSKKsD_setObject_forKey -__ZL40original_NSKKsD_addEntriesFromDictionary -__ZZL22add_image_hook_swiftV1PK11mach_headerlE7patches -__ZGVZL22add_image_hook_swiftV1PK11mach_headerlE7patches -__ZL31original_objc_allocateClassPair -__ZL31original_object_getIndexedIvars -__ZL22original_objc_getClass -__ZL26original_objc_getMetaClass -__ZL30original_objc_getRequiredClass -__ZL25original_objc_lookUpClass -__ZL25original_objc_getProtocol -__ZL22original_class_getName -__ZL25original_protocol_getName -__ZL36original_objc_copyClassNamesForImage -__ZL12demangleLock -__ZL9Demangled -Apple LLVM version 8.1.0 (clang-802.0.36) -/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch arm64 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++11 -Wno-trigraphs -fno-exceptions -fno-rtti -mpascal-strings -Os -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -D NDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -miphoneos-version-min=4.3 -g -fno-threadsafe-statics -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -fembed-bitcode=all -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-generated-files.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-own-target-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-all-target-headers.hmap -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-project-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/Symbols/BuiltProducts/include -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources/arm64 -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources -F/Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/Symbols/BuiltProducts -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/System/Library/PrivateFrameworks -Wall -Wextra -Wno-gcc-compat -Wno-error=incomplete-umbrella -Wno-error=incomplete-umbrella -MMD -MT dependencies -MF /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/arm64/arclite.d --serialize-diagnostics /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/arm64/arclite.dia -c /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm -o /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/arm64/arclite.o -mlinker-version=278.4 -/Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm -/Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66 -fixStringForCoreData -cxxConstruct -arclite_uninitialized_function -scanMangledField -isdigit -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/usr/include/ctype.h -__isctype -demangledName -copySwiftV1DemangledName -copySwiftV1MangledName -allocateMaybeSwift -word_align -isSwift -initialize_imp -transcribeProperties -property_list_nth -transcribeProtocols -transcribeMethods -data -method_list_nth -__arclite_objc_copyClassNamesForImage -__arclite_protocol_getName -__arclite_class_getName -__arclite_objc_getProtocol -__arclite_objc_lookUpClass -__arclite_objc_getRequiredClass -__arclite_objc_getMetaClass -__arclite_objc_getClass -__arclite_object_getIndexedIvars -__arclite_objc_allocateClassPair -metaclass -__arclite_objc_readClassPair -transcribeIvars -ivar_list_nth -max -alignment -ro -fastFlags -__arclite_NSKKsD_addEntriesFromDictionary -__arclite_NSKKsD_setObject_forKey -__arclite_NSKKsD_removeObjectForKey -__arclite_NSKKsD_objectForKey -__arclite_NSKKMS_indexForKey -__arclite_NSKKMS_fastIndexForKnownKey -__arclite_NSManagedObject_allocBatch -__arclite_NSManagedObject_allocWithEntity -__arclite_NSManagedObject_init -replaceMethod -__arclite_NSUndoManagerProxy_isKindOfClass -add_image_hook_swiftV1 -patch_lazy_pointers -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -__arclite_NSMutableDictionary__setObject_forKeyedSubscript -__ARCLite__load -install_swiftV1 -install_dict_nil_value -addOrReplaceMethod -keyedGetter diff --git a/My Mind/Carthage/Build/iOS/B36DDE95-FE71-3754-AC74-7C3867BCEBFC.bcsymbolmap b/My Mind/Carthage/Build/iOS/B36DDE95-FE71-3754-AC74-7C3867BCEBFC.bcsymbolmap deleted file mode 100644 index 707021f..0000000 --- a/My Mind/Carthage/Build/iOS/B36DDE95-FE71-3754-AC74-7C3867BCEBFC.bcsymbolmap +++ /dev/null @@ -1,1986 +0,0 @@ -BCSymbolMap Version: 2.0 -__T0SqWy.3 -_swift_rt_swift_retain -_swift_rt_swift_release -__T0SqWe.11 -__T0SqWe.19 -__TTWOSC28UITableViewCellAccessoryTypes9Equatable5UIKitZFS0_oi2eefTxx_Sb -__TTWOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKitFS0_CfT8rawValuewx8RawValue_GSqx_ -__TTWOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKitFS0_g8rawValuewx8RawValue -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitFS0_19_bridgeToObjectiveCfT_wx15_ObjectiveCType -__TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_19_bridgeToObjectiveCfT_WxS0_15_ObjectiveCType_ -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitZFS0_26_forceBridgeFromObjectiveCfTwx15_ObjectiveCType6resultRGSqx__T_ -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitZFS0_34_conditionallyBridgeFromObjectiveCfTwx15_ObjectiveCType6resultRGSqx__Sb -__TTWVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKitZFS0_36_unconditionallyBridgeFromObjectiveCfGSqwx15_ObjectiveCType_x -__TTWVSC15UIFontTextStyles16RawRepresentable5UIKitFS0_CfT8rawValuewx8RawValue_GSqx_ -__TTWVSC15UIFontTextStyles16RawRepresentable5UIKitFS0_g8rawValuewx8RawValue -__TTSgq5GVs16IndexingIteratorGSRVs5UInt8__GS_GSRS0___s16IteratorProtocols___TFVs4UTF86decodeuRxs16IteratorProtocolwx7ElementzVs5UInt8rfRxOs21UnicodeDecodingResult -__TTSfq4n_n_n_d___TFVs13_StringBufferCfT8capacitySi11initialSizeSi12elementWidthSi_S_ -__TTSfq4d___TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TZFVs11_HeapBuffer14_elementOffsetfT_Si -__TTSfq4n_d___TZFVs4UTF810_decodeOnefVs6UInt32T6resultGSqS0__6lengthVs5UInt8_ -__TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -__TTSg5P__SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -__TTSfq4n_d___TFVs6MirrorCfT10reflectingP__S_ -__TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_L_13printTypeNameu0_R_S_rfPMP_T_ -__TTSfq4gs_d___TFVs9CharacterCfSSS_ -__TTSfq4n_d___TFSSCfVs9CharacterSS -__TTSfq4s_d_n_n_d___TTSgq5VVs9Character10_SmallUTF8S0_s10Collections_Vs4UTF8S2_s12UnicodeCodecs___TZFVs13_StringBuffer13fromCodeUnitsu0_Rxs10Collection_s12UnicodeCodecw_8CodeUnitzWx8Iterator7Element_rfTx8encodingMq_24repairIllFormedSequencesSb15minimumCapacitySi_TGSqS__8hadErrorSb_ -__TTSfq4n_d_n_d___TTSgq5VVVs9Character10_SmallUTF88IteratorS1_s16IteratorProtocols_Vs4UTF8S3_s12UnicodeCodecs___TZFVs5UTF1616transcodedLengthu0_Rxs16IteratorProtocol_s12UnicodeCodecw_8CodeUnitzwx7ElementrfT2ofx9decodedAsMq_27repairingIllFormedSequencesSb_GSqT5countSi7isASCIISb__ -__TTSg5O10SwiftForms13FormErrorTypeS0_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -__TMaCSo8NSString -_swift_rt_swift_getInitializedObjCClass -___swift_noop_void_return -___swift_memcpy4_4 -___swift_noop_self_return -___swift_memcpy_array4_4 -___swift_memmove_array4_4 -__TwugOSC28UITableViewCellAccessoryType -__TwupOSC28UITableViewCellAccessoryType -__TwuiOSC28UITableViewCellAccessoryType -__TwXXVSC15UIFontTextStyle -__TwCPVSC15UIFontTextStyle -__TwcpVSC15UIFontTextStyle -__TwcaVSC15UIFontTextStyle -__TwtaVSC15UIFontTextStyle -__TwXxVSC15UIFontTextStyle -__TwCcVSC15UIFontTextStyle -__TwxgVSC15UIFontTextStyle -_swift_rt_swift_slowAlloc -_swift_rt_swift_slowDealloc -__TTSf4s_n___TTSg5SS_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -__TTSf4n_gs_n_n___TTSg5P__SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -__TTSf4n_gs_n_n___TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -__TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__T_ -__TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__Sb -__TMaPs35_HasCustomAnyHashableRepresentation_ -_swift_rt_swift_getExistentialTypeMetadata -_swift_rt_swift_dynamicCast -__TMaGVs20_ConcreteHashableBoxSi_ -__TMaMO10SwiftForms13FormErrorType -__TMaPs28CustomDebugStringConvertible_ -__TMaPs23CustomStringConvertible_ -__TMaPs20TextOutputStreamable_ -__TMaGCs17_AnyCollectionBoxT5labelGSqSS_5valueP___ -__TMaGCs19_AnyIteratorBoxBaseT5labelGSqSS_5valueP___ -__TMaGCs17_AnyCollectionBoxT5labelGSqSS_5valueP____merged -__swift_dead_method_stub -__TwCpVSC15UIFontTextStyle -__TTSg5P__SSSSs16TextOutputStreams___TFFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_L_13printTypeNameu0_R_S_rfPMP_T_ -__TwxsVSC15UIFontTextStyle -__TwxxVSC15UIFontTextStyle -_swift_rt_swift_release_n -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_token0 -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_token1 -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_token2 -__TWPOSC28UITableViewCellAccessoryTypes9Equatable5UIKit -__TWPOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKit -__TWPVSC15UIFontTextStyles16RawRepresentable5UIKit -__TMLCSo8NSString -__TWPVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKit -__TWPVSC15UIFontTextStyles20_SwiftNewtypeWrapper5UIKit -__TMRfP10SwiftForms12FormSelector_ -l_OBJC_LABEL_PROTOCOL_$__TtP10SwiftForms12FormSelector_ -l_OBJC_PROTOCOL_REFERENCE_$__TtP10SwiftForms12FormSelector_ -__swift_FORCE_LOAD_$_swiftUIKit_$_SwiftForms -__swift_FORCE_LOAD_$_swiftCoreImage_$_SwiftForms -__swift_FORCE_LOAD_$_swiftDarwin_$_SwiftForms -__swift_FORCE_LOAD_$_swiftCoreGraphics_$_SwiftForms -__swift_FORCE_LOAD_$_swiftDispatch_$_SwiftForms -__swift_FORCE_LOAD_$_swiftObjectiveC_$_SwiftForms -__swift_FORCE_LOAD_$_swiftFoundation_$_SwiftForms -__swift_FORCE_LOAD_$_swiftQuartzCore_$_SwiftForms -__TWVOSC28UITableViewCellAccessoryType -__TMnOSC28UITableViewCellAccessoryType -__TMOSC28UITableViewCellAccessoryType -__TMRaOSC28UITableViewCellAccessoryTypes16RawRepresentable5UIKit -__TMRaVSC15UIFontTextStyles16RawRepresentable5UIKit -__TWVVSC15UIFontTextStyle -__TMnVSC15UIFontTextStyle -__TMVSC15UIFontTextStyle -__TMRaVSC15UIFontTextStyles21_ObjectiveCBridgeable5UIKit -___swift_reflection_version -__TMRfCSo8NSString -__TMRsCSo8NSString -__TMLPs35_HasCustomAnyHashableRepresentation_ -__TMLGVs20_ConcreteHashableBoxSi_ -__TMLMO10SwiftForms13FormErrorType -__TMLPs28CustomDebugStringConvertible_ -__TMLPs23CustomStringConvertible_ -__TMLPs20TextOutputStreamable_ -__TMLGCs17_AnyCollectionBoxT5labelGSqSS_5valueP___ -__TMLT5labelGSqSS_5valueP__ -__TMLGSqSS_ -__TMLP_ -__TMLGCs19_AnyIteratorBoxBaseT5labelGSqSS_5valueP___ -l_OBJC_LABEL_PROTOCOL_$__TtPs9AnyObject_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs9AnyObject_ -__TMLPMP_ -__TMLPs17CustomReflectable_ -l_OBJC_LABEL_PROTOCOL_$_NSObject -l_OBJC_PROTOCOL_REFERENCE_$_NSObject -Apple LLVM version 8.1.0 (clang-802.0.38) --emit-bc "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift" "/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift" -target armv7-apple-ios8.0 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk -I /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Products/Release-iphoneos -F /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Products/Release-iphoneos -g -import-underlying-module -module-cache-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/ModuleCache -serialize-debugging-options -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-generated-files.hmap -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-own-target-headers.hmap -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/SwiftForms-project-headers.hmap -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Products/Release-iphoneos/include -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/DerivedSources/armv7 -Xcc -I/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/DerivedSources -Xcc -ivfsoverlay -Xcc /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/unextended-module-overlay.yaml -Xcc "-working-directory/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms" -emit-module-doc-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/SwiftForms.swiftdoc -serialize-diagnostics-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSelector.dia -O -module-name SwiftForms -emit-module-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/SwiftForms.swiftmodule -emit-objc-header-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/SwiftForms-Swift.h -emit-dependencies-path /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSelector.d -num-threads 4 -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSelector.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormTitleCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSliderCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSectionDescriptor.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormDescriptor.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormBaseCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormLabelCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormTextViewCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormErrorType.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormViewController.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormButtonCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormStepperCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSelectorCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSwitchCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormCheckCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormValueCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormSegmentedControlCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormTextFieldCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormPickerCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormOptionsViewController.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormDateCell.bc -o /Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/Objects-normal/armv7/FormRowDescriptor.bc -resource-dir /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift - -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms -Apple Swift version 3.1 (swiftlang-802.0.48 clang-802.0.38) -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift -_TMaGCs17_AnyCollectionBoxT5labelGSqSS_5valueP___ -FormSelector.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers -_TMaT5labelGSqSS_5valueP__ -_TMaP_ -_TMaGSqSS_ -_TMaPs20TextOutputStreamable_ -_TMaPs23CustomStringConvertible_ -_TMaPs28CustomDebugStringConvertible_ -_TMaMO10SwiftForms13FormErrorType -_TMaGVs20_ConcreteHashableBoxSi_ -_TMaPs35_HasCustomAnyHashableRepresentation_ -_TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__Sb -_TTSg5SS_VSC15UIFontTextStyle___TFSq7flatMapurfzFzxGSqqd___GSqqd___ -_TTSr5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__SbU_FwxS0_GSqx_ -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__SbU_FwxS0_GSqx_ -init -_TTSf4g_n_d___TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__T_ -_TTSr5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__T_U_FwxS0_GSqx_ -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCFTWxS0_15_ObjectiveCType_6resultRGSqx__T_U_FwxS0_GSqx_ -_TTSf4n_gs_n_n___TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -_TTSfq4s_s___TFVs11_StringCoreg9subscriptFGVs5RangeSi_S_ -_TTSfq4n_n_d___TTSgq5Vs5UInt8___TFSRCfT5startGSqGSPx__5countSi_GSRx_ -_TTWSSs16TextOutputStreamsFS_5writefSST_ -_TTSg5SS_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSf4n_gs_n_n___TTSg5P__SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -_TMaPMP_ -_TTSf4s_n___TTSg5SS_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSg5SSSSs16TextOutputStreams___TFSS5writeuRxs16TextOutputStreamrfT2toRx_T_ -get_field_types_UIFontTextStyle -_TMaCSo8NSString -_TwxgVSC15UIFontTextStyle -_TwCcVSC15UIFontTextStyle -_TwXxVSC15UIFontTextStyle -_TwtaVSC15UIFontTextStyle -_TwcaVSC15UIFontTextStyle -_TwcpVSC15UIFontTextStyle -_TwCPVSC15UIFontTextStyle -_TwXXVSC15UIFontTextStyle -get_field_types_UITableViewCellAccessoryType -_TwuiOSC28UITableViewCellAccessoryType -_TwupOSC28UITableViewCellAccessoryType -_TwugOSC28UITableViewCellAccessoryType -__swift_memmove_array4_4 -__swift_memcpy_array4_4 -__swift_noop_self_return -__swift_memcpy4_4 -__swift_noop_void_return -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -_TTSg5O10SwiftForms13FormErrorTypeS0_s8HashableS____TFVs11AnyHashableCuRxs8HashablerfxS_ -_TTSfq4n_d_n_d___TTSgq5VVVs9Character10_SmallUTF88IteratorS1_s16IteratorProtocols_Vs4UTF8S3_s12UnicodeCodecs___TZFVs5UTF1616transcodedLengthu0_Rxs16IteratorProtocol_s12UnicodeCodecw_8CodeUnitzwx7ElementrfT2ofx9decodedAsMq_27repairingIllFormedSequencesSb_GSqT5countSi7isASCIISb__ -_TTSfq4s_d_n_n_d___TTSgq5VVs9Character10_SmallUTF8S0_s10Collections_Vs4UTF8S2_s12UnicodeCodecs___TZFVs13_StringBuffer13fromCodeUnitsu0_Rxs10Collection_s12UnicodeCodecw_8CodeUnitzWx8Iterator7Element_rfTx8encodingMq_24repairIllFormedSequencesSb15minimumCapacitySi_TGSqS__8hadErrorSb_ -_TTSfq4n_d___TFSSCfVs9CharacterSS -_TTSfq4gs_d___TFVs9CharacterCfSSS_ -_TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_L_13printTypeNameu0_R_S_rfPMP_T_ -_TTSfq4n_d___TFVs6MirrorCfT10reflectingP__S_ -_TMaPs17CustomReflectable_ -_TTSg5P__SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSg5P__SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -_TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_debugPrint_unlockedu0_R_s16TextOutputStreamrFTxRq__T_ -_TTSg5MO10SwiftForms13FormErrorType_SSSSs16TextOutputStreams___TFs20_adHocPrint_unlockedu0_R_s16TextOutputStreamrFTxVs6MirrorRq_12isDebugPrintSb_T_ -rawValue.get -_TTSg5SSSSs21_ObjectiveCBridgeable10Foundation___forceBridgeFromObjectiveC_bridgeable -_unconditionallyBridgeFromObjectiveC -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_36_unconditionallyBridgeFromObjectiveCfGSqWxS0_15_ObjectiveCType__x -_conditionallyBridgeFromObjectiveC -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_34_conditionallyBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__Sb -_forceBridgeFromObjectiveC -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TZFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_26_forceBridgeFromObjectiveCfTWxS0_15_ObjectiveCType_6resultRGSqx__T_ -_TTSg5VSC15UIFontTextStyleS_s20_SwiftNewtypeWrapper5UIKit___TFesRxs20_SwiftNewtypeWrapperwx8RawValues21_ObjectiveCBridgeablerS_19_bridgeToObjectiveCfT_WxS0_15_ObjectiveCType_ -_bridgeToObjectiveC -== -_TTSg5OSC28UITableViewCellAccessoryTypeS_s16RawRepresentable5UIKit___TFsoi2eeuRxs16RawRepresentablewx8RawValues9EquatablerFTxx_Sb -_TTWSis9EquatablesZFS_oi2eefTxx_Sb -value.materialize -_toAnyHashable -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS____TFEsPs8Hashable14_toAnyHashablefT_Vs11AnyHashable -hashValue.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s8HashableS____TFEsPs8Hashable14_toAnyHashablefT_Vs11AnyHashable -_getEmbeddedNSError -_userInfo.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s5ErrorS____TFEsPs5Errorg9_userInfoGSqPs9AnyObject__ -_code.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s5ErrorS____TFEsPs5Errorg5_codeSi -_domain.get -_TTSg5O10SwiftForms13FormErrorTypeS0_s5ErrorS____TFEsPs5Errorg7_domainSS -_TTSg5MO10SwiftForms13FormErrorType___TFSSCurfT10reflectingx_SS -formViewController.materialize -rowDescriptor.materialize -rowDescriptor.set -rowDescriptor.didset -__TToFC10SwiftForms13FormTitleCellg10titleLabelCSo7UILabel -__TMaCSo7UILabel -__TFs27_bridgeAnythingToObjectiveCurFxPs9AnyObject_ -__TToFC10SwiftForms13FormTitleCell9configurefT_T_ -__TMaGCs23_ContiguousArrayStorageTSSCSo6UIView__ -__TToFC10SwiftForms13FormTitleCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms13FormTitleCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms13FormTitleCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormTitleCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSf4g_d___TTSg5SSSSs8Hashables_CSo6UIView___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_swift_rt_swift_allocObject -__TMLCSo7UILabel -__TMLCSo6UIView -__TMLGCs23_ContiguousArrayStorageTSSCSo6UIView__ -__TMLTSSCSo6UIView_ -__TMLGCs23_ContiguousArrayStorageSS_ -__TWvdvC10SwiftForms12FormBaseCellP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TMfC10SwiftForms13FormTitleCell -__TMRfC10SwiftForms13FormTitleCell -__TMRsC10SwiftForms13FormTitleCell -__TMRfCSo7UILabel -__TMRsCSo7UILabel -_objc_classes -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift -get_field_types_FormTitleCell -FormTitleCell.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base -_TTSg5CSo18NSLayoutConstraint___TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TMaC10SwiftForms13FormTitleCell -defaultVisualConstraints -_TTSg5SS___TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5SS___TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5SS___TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5SS___TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TTSg5SS___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TMaGCs23_ContiguousArrayStorageSS_ -deinit -constraintsViews -_TMaCSo6UIView -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10DictionaryCft17dictionaryLiteralGSaTxq____GS_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10DictionaryCfT13_nativeBufferGVs23_NativeDictionaryBufferxq___GS_xq__ -_TTSg5TSSCSo6UIView____TFCs23_ContiguousArrayStorageD -_TTSg5TSSCSo6UIView____TFCs23_ContiguousArrayStoraged -_TTSg5TSSCSo6UIView____TFSp12deinitializefT5countSi_Sv -_TTSg5TSSCSo6UIView____TFCs23_ContiguousArrayStorageg15_elementPointerGSpx_ -_TTSg5SSSSs8Hashables_CSo6UIView___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5TSSCSo6UIView____TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5TSSCSo6UIView____TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TMaGCs23_ContiguousArrayStorageTSSCSo6UIView__ -_TMaTSSCSo6UIView_ -configure -_TMaCSo7UILabel -titleLabel.get -_TToFC10SwiftForms13FormTitleCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms14FormSliderCellg10sliderViewCSo8UISlider -__TMaCSo8UISlider -__TToFC10SwiftForms14FormSliderCell9configurefT_T_ -__TToFC10SwiftForms14FormSliderCell6updatefT_T_ -__TToFC10SwiftForms14FormSliderCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms14FormSliderCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms14FormSliderCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormSliderCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSg5SS___TFSa16_copyToNewBufferfT8oldCountSi_T_ -__TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols_GVs14_IgnorePointerSS_GS1_SS_s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_swift_rt_swift_isUniquelyReferenced_nonNull_native -__TMLCSo8UISlider -__TMLPs9AnyObject_ -__TWoFC10SwiftForms14FormSliderCell12valueChangedfCSo8UISliderT_ -__TMfC10SwiftForms14FormSliderCell -__TMRfC10SwiftForms14FormSliderCell -__TMRsC10SwiftForms14FormSliderCell -__TMRfCSo8UISlider -__TMRsCSo8UISlider -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift -get_field_types_FormSliderCell -FormSliderCell.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells -_TMaC10SwiftForms14FormSliderCell -_TTSg5SS___TFSa6appendfxT_ -_TTSg5SS___TFSa36_reserveCapacityAssumingUniqueBufferfT8oldCountSi_T_ -_TTSg5SS___TFSa37_appendElementAssumeUniqueAndCapacityfTSi10newElementx_T_ -_TTSg5SS___TFSp10initializefT2tox5countSi_T_ -_TTSg5SS___TFVs12_ArrayBufferg19firstElementAddressGSpx_ -_TTSg5SS___TFVs12_ArrayBuffers5countSi -_TTSg5SS___TFVs22_ContiguousArrayBuffers5countSi -_TTSg5SS___TFVs12_ArrayBufferg8capacitySi -_TTSg5SS___TFVs22_ContiguousArrayBufferg8capacitySi -_TTSg5SS___TFSa9_getCountfT_Si -_TTSg5SS___TFVs12_ArrayBufferg5countSi -_TTSg5SS___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5SS___TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -_TTSg5SS___TFVs12_ArrayBuffer30isMutableAndUniquelyReferencedfT_Sb -_TTSg5SS___TFVs12_ArrayBuffer20isUniquelyReferencedfT_Sb -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols_GVs14_IgnorePointerSS_GS1_SS_s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpwx7Element__GSpwxS2__ -_TTSg5SS___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5SS___TFVs22_ContiguousArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5SS___TFSp10initializefT4fromGSPx_5countSi_T_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8endIndexSi -_TTSg5SS___TFVs12_ArrayBufferg8endIndexSi -_TTSg5SS___TFSp12deinitializefT5countSi_Sv -_TTSg5SS___TFSp14moveInitializefT4fromGSpx_5countSi_T_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g19firstElementAddressGSpwx7Element_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferwx7Element__ -_TTSg5SS___TFVs12_ArrayBuffer33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferx__ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g5countSi -_TTSg5SS___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5SS___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5SS___TFVs22_ContiguousArrayBufferCfT_GS_x_ -_TTSg5SS___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8capacitySi -_TTSg5SS___TFSa16_copyToNewBufferfT8oldCountSi_T_ -_TTSg5GVs12_ArrayBufferSS_GS_SS_s20_ArrayBufferProtocols_GVs14_IgnorePointerSS_GS1_SS_s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -valueChanged -rowDescriptor.get -value.set -update -_TMaPs9AnyObject_ -_TMaCSo8UISlider -sliderView.get -_TToFC10SwiftForms14FormSliderCellg10sliderViewCSo8UISlider -__TMfC10SwiftForms21FormSectionDescriptor -__TMRfC10SwiftForms21FormSectionDescriptor -__TMRfCSo6UIView -__TMRsCSo6UIView -__TMLGSaC10SwiftForms17FormRowDescriptor_ -__TMLGSqCSo6UIView_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift -get_field_types_FormSectionDescriptor -FormSectionDescriptor.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors -_TMaGSqCSo6UIView_ -_TMaGSaC10SwiftForms17FormRowDescriptor_ -footerViewHeight.materialize -footerViewHeight.set -footerViewHeight.get -headerViewHeight.materialize -headerViewHeight.set -headerViewHeight.get -footerView.materialize -footerView.set -footerView.get -headerView.materialize -headerView.set -headerView.get -footerTitle.materialize -footerTitle.set -footerTitle.get -headerTitle.materialize -headerTitle.set -headerTitle.get -rows.materialize -rows.set -rows.get -_TMaC10SwiftForms21FormSectionDescriptor -__T0s24_VariantDictionaryBufferOWy -__T0s24_VariantDictionaryBufferOWy.1 -__TFCs24_CocoaDictionaryIterator4nextfT_GSqTPs9AnyObject_PS0____ -__TTSg5C10SwiftForms21FormSectionDescriptor___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -__TFs17_squeezeHashValueFTSiSi_Si -__TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject__merged -__TTSgq5Su___TFSp10initializefT2tox5countSi_T_ -__TTSfq4s___TFSSg9hashValueSi -__TTSf4n_n_d___TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4g_d___TTSg5SSSSs8Hashables_Ps9AnyObject____TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -__TMaPs9AnyObject_ -__T0SqWy -__T0SqWe -__TTSf4n_s_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TMaGCs37_HashableTypedNativeDictionaryStorageSSPs9AnyObject__ -_swift_rt_swift_dynamicCastClass -_swift_rt_swift_retain_n -__TMfC10SwiftForms14FormDescriptor -__TMRfC10SwiftForms14FormDescriptor -__TMLGSaC10SwiftForms21FormSectionDescriptor_ -__TMLGCs37_HashableTypedNativeDictionaryStorageSSPs9AnyObject__ -l_OBJC_LABEL_PROTOCOL_$__TtPs13_NSStringCore_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs13_NSStringCore_ -l_OBJC_LABEL_PROTOCOL_$__TtPs10_NSCopying_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs10_NSCopying_ -l_OBJC_LABEL_PROTOCOL_$__TtPs18_NSFastEnumeration_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs18_NSFastEnumeration_ -l_OBJC_LABEL_PROTOCOL_$__TtPs15_ShadowProtocol_ -l_OBJC_PROTOCOL_REFERENCE_$__TtPs15_ShadowProtocol_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift -_TMaGCs37_HashableTypedNativeDictionaryStorageSSPs9AnyObject__ -FormDescriptor.swift -get_field_types_FormDescriptor -_TMaGSaC10SwiftForms21FormSectionDescriptor_ -_TTSf4n_s_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTWSSs9EquatablesZFS_oi2eefTxx_Sb -_TTSfq4gs_gs_d___TZFSSoi2eefTSSSS_Sb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffers5countSi -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg5countSi -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5Ps9AnyObject____TFSp10initializefT2tox5countSi_T_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSfq4n_s___TFVs13_UnsafeBitMapg9subscriptFSiSb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferg11_bucketMaskSi -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTWSSs8HashablesFS_g9hashValueSi -_TTSf4g_d___TTSg5SSSSs8Hashables_Ps9AnyObject____TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5GSaTSSPs9AnyObject___GSaTSSPS____s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5TSSPs9AnyObject_____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5TSSPs9AnyObject_____TFSa9formIndexfT5afterRSi_T_ -_TTSg5TSSPs9AnyObject_____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5TSSPs9AnyObject_____TFSag9subscriptFSix -_TTSg5TSSPs9AnyObject_____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5TSSPs9AnyObject_____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBufferg5countSi -_TTSfq4s___TFSSg9hashValueSi -_TFs17_squeezeHashValueFTSiSi_Si -_TTSg5TSSPs9AnyObject_____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT_GS_xq__ -_TTSg5GSaTSSPs9AnyObject___GSaTSSPS____s10Collections___TFEsPs10Collectiong7isEmptySb -_TTSg5TSSPs9AnyObject_____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5TSSPs9AnyObject_____TFSag8endIndexSi -_TTSg5TSSPs9AnyObject_____TFSa9_getCountfT_Si -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBufferg5countSi -_TTSg5TSSPs9AnyObject_____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSf4n_n_d___TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg9_isNativeSb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSf4gs_n_n___TTSg5SSSSs8Hashables_Ps9AnyObject____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5SS___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -sections.materialize -sections.set -sections.get -title.materialize -title.set -title.get -validateForm -_TTSg5GSaC10SwiftForms21FormSectionDescriptor_GSaS0__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSag9subscriptFSix -_TTSg5GSaC10SwiftForms17FormRowDescriptor_GSaS0__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5C10SwiftForms17FormRowDescriptor___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa9formIndexfT5afterRSi_T_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa9formIndexfT5afterRSi_T_ -_TTSg5C10SwiftForms17FormRowDescriptor___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5C10SwiftForms17FormRowDescriptor___TFSag9subscriptFSix -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -_TTSg5C10SwiftForms17FormRowDescriptor___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5C10SwiftForms17FormRowDescriptor___TFSag8endIndexSi -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa9_getCountfT_Si -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBufferg5countSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5C10SwiftForms21FormSectionDescriptor___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSag8endIndexSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSa9_getCountfT_Si -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg5countSi -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5C10SwiftForms21FormSectionDescriptor___TFVs12_ArrayBufferg9_isNativeSb -formValues -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s9EquatableS____TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10DictionaryCft17dictionaryLiteralGSaTxq____GS_xq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10DictionaryCfT13_nativeBufferGVs23_NativeDictionaryBufferxq___GS_xq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TMaC10SwiftForms14FormDescriptor -__TToFC10SwiftForms12FormBaseCellg18formViewControllerXwGSqCS_18FormViewController_ -__TToFC10SwiftForms12FormBaseCells18formViewControllerXwGSqCS_18FormViewController_ -__TToFC10SwiftForms12FormBaseCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms12FormBaseCellcfT5coderCSo7NSCoder_GSqS0__ -__TToFC10SwiftForms12FormBaseCell9configurefT_T_ -__TToFC10SwiftForms12FormBaseCell6updatefT_T_ -__TToFC10SwiftForms12FormBaseCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms12FormBaseCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms12FormBaseCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToFC10SwiftForms12FormBaseCell17inputAccesoryViewfT_CSo9UIToolbar -__TToZFC10SwiftForms12FormBaseCell17formRowCellHeightfT_V12CoreGraphics7CGFloat -__TToZFC10SwiftForms12FormBaseCell30formRowCanBecomeFirstResponderfT_Sb -__TToZFC10SwiftForms12FormBaseCell18formViewControllerfTCS_18FormViewController12didSelectRowS0__T_ -__TToFC10SwiftForms12FormBaseCell17updateConstraintsfT_T_ -__TTSg5CSo18NSLayoutConstraint___TFSa16_copyToNewBufferfT8oldCountSi_T_ -__TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TFs25_isClassOrObjCExistentialurFMxSb -__TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -__TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TTWSis9EquatablesZFS_oi2eefTxx_Sb -__TTSgq5GVs14CountableRangeSi_GS_Si_s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -__TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer18_typeCheckSlowPathfSiT_ -__TTSf4n_n_d___TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4n_n_d___TTSg5SS_P____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4s_n_n___TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -__TTSf4g___TTSg5SSSSs8Hashables_CSo6UIView_SSSSS_s_P____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__ -__TTSf4n_n_d___TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -__TTSf4s_n_n___TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols_GVs14_IgnorePointerS0__GS2_S0__s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -__TMaCSo18NSLayoutConstraint -__TMaP_ -__TMaCSo6UIView -__T0s32DictionaryIteratorRepresentationOWy.10 -__TMaGCs37_HashableTypedNativeDictionaryStorageSSP__ -__TMaGCs37_HashableTypedNativeDictionaryStorageSSCSo6UIView_ -__TMLGCs23_ContiguousArrayStorageCSo15UIBarButtonItem_ -__TMLCSo15UIBarButtonItem -__TMLCSo18NSLayoutConstraint -__TWoFC10SwiftForms12FormBaseCellgP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TWoFC10SwiftForms12FormBaseCellsP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TWoFC10SwiftForms12FormBaseCellmP33_94960B1EEBF3E30EC85548629F87883B17customConstraintsGSaCSo18NSLayoutConstraint_ -__TWoFC10SwiftForms12FormBaseCell16handleDoneActionfCSo15UIBarButtonItemT_ -__TMfC10SwiftForms12FormBaseCell -__TMRfC10SwiftForms12FormBaseCell -__TMRsC10SwiftForms12FormBaseCell -__TMRfCSo18NSLayoutConstraint -__TMRsCSo18NSLayoutConstraint -__TMLGSqC10SwiftForms17FormRowDescriptor_ -__TMLGSqC10SwiftForms18FormViewController_ -__TMLGSaCSo18NSLayoutConstraint_ -__TMLGCs23_ContiguousArrayStorageCSo18NSLayoutConstraint_ -__TMLGCs37_HashableTypedNativeDictionaryStorageSSP__ -__TMLGCs37_HashableTypedNativeDictionaryStorageSSCSo6UIView_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift -_TMaGCs37_HashableTypedNativeDictionaryStorageSSCSo6UIView_ -FormBaseCell.swift -_TMaGCs37_HashableTypedNativeDictionaryStorageSSP__ -get_field_types_FormBaseCell -_TMaGSaCSo18NSLayoutConstraint_ -_TMaGSqC10SwiftForms18FormViewController_ -_TMaGSqC10SwiftForms17FormRowDescriptor_ -formViewController.set -_TMaCSo18NSLayoutConstraint -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols_GVs14_IgnorePointerS0__GS2_S0__s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpwx7Element__GSpwxS2__ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8endIndexSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg8endIndexSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg5countSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg5countSi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg9_isNativeSb -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffers5countSi -_TTSg5CSo18NSLayoutConstraint___TFSp12deinitializefT5countSi_Sv -_TTSg5CSo18NSLayoutConstraint___TFSp14moveInitializefT4fromGSpx_5countSi_T_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g19firstElementAddressGSpwx7Element_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg19firstElementAddressGSpx_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferwx7Element__ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferx__ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg8capacitySi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer20isUniquelyReferencedfT_Sb -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g5countSi -_TTSf4s_n_n___TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer10_typeCheckfGVs5RangeSi_T_ -_TTSgq5GVs14CountableRangeSi_GS_Si_s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSfq4n_s_n___TTSgq5GVs14CountableRangeSi_GS_Si_s10_Indexables___TFEsPs10_Indexable20_failEarlyRangeCheckfTwx5Index6boundsGVs5RangewxS0___T_ -_TTSg5CSo18NSLayoutConstraint___TFSp10initializefT2tox5countSi_T_ -_TTSf4g_n_n___TTSg5CSo18NSLayoutConstraint___TFSp10initializefT2tox5countSi_T_ -_TTSg5CSo18NSLayoutConstraint___TFSp10initializefT4fromGSPx_5countSi_T_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg21needsElementTypeCheckSb -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -_TTSf4n_n_d___TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TMaGCs23_ContiguousArrayStorageCSo18NSLayoutConstraint_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT_GS_x_ -_TTSf4g___TTSg5SSSSs8Hashables_CSo6UIView_SSSSS_s_P____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs18DictionaryIterator4nextfT_GSqT3keyx5valueq___ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs18DictionaryIterator11_nativeNextfT_GSqT3keyx5valueq___ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer12assertingGetfGVs22_NativeDictionaryIndexxq__T3keyx5valueq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSg5SSSSs8Hashables_P____TFVs10DictionaryCfT15minimumCapacitySi_GS_xq__ -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5SS_CSo6UIView___TZFVs22_NativeDictionaryIndexoi2eefTGS_xq__GS_xq___Sb -_TTSg5SSSSs8Hashables_P____TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionary12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TZFVs18DictionaryIterator6_cocoafCs24_CocoaDictionaryIteratorGS_xq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg8endIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg10startIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionaryg5countSi -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBufferg5countSi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg5countSi -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSf4s_n_n___TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTSg5P____TFSp10initializefT2tox5countSi_T_ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5SS_P____TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBufferg11_bucketMaskSi -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5SS_P____TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTSf4n_n_d___TTSg5SS_P____TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -formViewController -formRowCellHeight -firstResponderElement -_TTSf4g_d___TTSg5SSSSs8Hashables_CSo6UIView___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTSg5GSaTSSCSo6UIView__GSaTSSS___s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5TSSCSo6UIView____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5TSSCSo6UIView____TFSa9formIndexfT5afterRSi_T_ -_TTSg5TSSCSo6UIView____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5TSSCSo6UIView____TFSag9subscriptFSix -_TTSg5TSSCSo6UIView____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5TSSCSo6UIView____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5TSSCSo6UIView____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5TSSCSo6UIView____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5TSSCSo6UIView____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffers5countSi -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferg11_bucketMaskSi -_TTSg5CSo6UIView___TFSp10initializefT2tox5countSi_T_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT_GS_xq__ -_TTSg5GSaTSSCSo6UIView__GSaTSSS___s10Collections___TFEsPs10Collectiong7isEmptySb -_TTSg5TSSCSo6UIView____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5TSSCSo6UIView____TFSag8endIndexSi -_TTSg5TSSCSo6UIView____TFSa9_getCountfT_Si -_TTSg5TSSCSo6UIView____TFVs12_ArrayBufferg5countSi -_TTSg5TSSCSo6UIView____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TMaC10SwiftForms12FormBaseCell -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer18_typeCheckSlowPathfSiT_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5P____TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5SS_P____TFVs23_NativeDictionaryBuffers5countSi -_TTSg5SSSSs8Hashables_P____TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5SS_P____TFVs23_NativeDictionaryBufferg5countSi -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5CSo18NSLayoutConstraint___TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8capacitySi -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg8capacitySi -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -_TTSg5GVs22_NativeDictionaryIndexSSCSo6UIView_GS_SSS0__s9Equatables___TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5SS_CSo6UIView___TTWu0_rGVs22_NativeDictionaryIndexxq__s9EquatablesZFS0_oi2eefTxx_Sb -_TFs25_isClassOrObjCExistentialurFMxSb -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_P____TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5CSo18NSLayoutConstraint___TFSa16_copyToNewBufferfT8oldCountSi_T_ -_TTSg5GVs12_ArrayBufferCSo18NSLayoutConstraint_GS_S0__s20_ArrayBufferProtocols_GVs14_IgnorePointerS0__GS2_S0__s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -updateConstraints -formRowCanBecomeFirstResponder -handleDoneAction -inputAccesoryView -_TToFC10SwiftForms12FormBaseCells18formViewControllerXwGSqCS_18FormViewController_ -_TToFC10SwiftForms12FormBaseCellg18formViewControllerXwGSqCS_18FormViewController_ -formViewController.get -_TFs27_bridgeAnythingToObjectiveCurFxPs9AnyObject_ -_TTSg5CSo18NSLayoutConstraint___TFSa6appendfxT_ -_TTSg5CSo18NSLayoutConstraint___TFSa36_reserveCapacityAssumingUniqueBufferfT8oldCountSi_T_ -_TTSg5GSaCSo18NSLayoutConstraint_GSaS__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5CSo18NSLayoutConstraint___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5CSo18NSLayoutConstraint___TFSa9formIndexfT5afterRSi_T_ -_TTSg5GSaSS_GSaSS_s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5SS___TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5SS___TFSa9formIndexfT5afterRSi_T_ -_TTSg5SS___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5SS___TFSag9subscriptFSix -_TTSg5SS___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5SS___TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5SS___TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5CSo18NSLayoutConstraint___TFSa9removeAllfT15keepingCapacitySb_T_ -_TTSg5CSo18NSLayoutConstraint___TFSa37_appendElementAssumeUniqueAndCapacityfTSi10newElementx_T_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffers5countSi -_TTSg5CSo18NSLayoutConstraint___TFSa9_getCountfT_Si -_TTSg5CSo18NSLayoutConstraint___TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer30isMutableAndUniquelyReferencedfT_Sb -_TTSg5CSo18NSLayoutConstraint___TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5CSo18NSLayoutConstraint___TFSag9subscriptFSix -_TTSg5CSo18NSLayoutConstraint___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5CSo18NSLayoutConstraint___TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5CSo18NSLayoutConstraint___TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5CSo18NSLayoutConstraint___TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5CSo18NSLayoutConstraint___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5CSo18NSLayoutConstraint___TFSag8endIndexSi -_TTSg5SSSSs8Hashables_CSo6UIView_SSSSS_s_P____TFs17_dictionaryUpCastu2_Rxs8Hashable0_S_rFGVs10Dictionaryxq__GS0_q0_q1__ -_TTSg5SS___TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5SS___TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5SS___TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5SS___TFVs22_ContiguousArrayBuffer10getElementfSix -customConstraints.get -_TTSg5SS___TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5SS___TFSag8endIndexSi -_TTSg5CSo18NSLayoutConstraint___TFSag5countSi -_TMaCSo15UIBarButtonItem -_TTSg5CSo15UIBarButtonItem___TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5CSo15UIBarButtonItem___TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5CSo15UIBarButtonItem___TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5CSo15UIBarButtonItem___TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5CSo15UIBarButtonItem___TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TMaGCs23_ContiguousArrayStorageCSo15UIBarButtonItem_ -__TFC10SwiftForms13FormLabelCell9configurefT_T_ -__TToFC10SwiftForms13FormLabelCell9configurefT_T_ -__TFC10SwiftForms13FormLabelCell6updatefT_T_ -__TToFC10SwiftForms13FormLabelCell6updatefT_T_ -__TFC10SwiftForms13FormLabelCellD -__TFC10SwiftForms13FormLabelCellCfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TFC10SwiftForms13FormLabelCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormLabelCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TFC10SwiftForms13FormLabelCellCfT5coderCSo7NSCoder_GSqS0__ -__TFC10SwiftForms13FormLabelCellcfT5coderCSo7NSCoder_GSqS0__ -__TToFC10SwiftForms13FormLabelCellcfT5coderCSo7NSCoder_GSqS0__ -__TMaC10SwiftForms13FormLabelCell -_OBJC_METACLASS_$__TtC10SwiftForms13FormLabelCell -__TMnC10SwiftForms13FormLabelCell -__TMLC10SwiftForms13FormLabelCell -__TMfC10SwiftForms13FormLabelCell -__TMRfC10SwiftForms13FormLabelCell -__TMRsC10SwiftForms13FormLabelCell -__TWvdvC10SwiftForms13FormValueCellP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TMC10SwiftForms13FormLabelCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift -_TMaC10SwiftForms13FormLabelCell -FormLabelCell.swift -get_field_types_FormLabelCell -__TToFC10SwiftForms16FormTextViewCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms16FormTextViewCellg9textFieldCSo10UITextView -__TToZFC10SwiftForms16FormTextViewCell17formRowCellHeightfT_V12CoreGraphics7CGFloat -__TToFC10SwiftForms16FormTextViewCell9configurefT_T_ -__TToFC10SwiftForms16FormTextViewCell6updatefT_T_ -__TToFC10SwiftForms16FormTextViewCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms16FormTextViewCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms16FormTextViewCell17textViewDidChangefCSo10UITextViewT_ -__TToFC10SwiftForms16FormTextViewCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms16FormTextViewCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSfq4gs_gs_d___TZFSSoi2eefTSSSS_Sb -__TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTWSSs9EquatablesZFS_oi2eefTxx_Sb -__TTWSSs8HashablesFS_g9hashValueSi -__TTSf4g_n_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12nativeDeletefTGVs23_NativeDictionaryBufferxq__11idealBucketSi6offsetSi_T_ -__TTSf4s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer18nativeRemoveObjectfT6forKeyx_GSqq__ -__TTSf4n_s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TMaCSo10UITextView -__T0SqWy.1 -__T0SqWe.2 -__T0s24_VariantDictionaryBufferOWy.3 -__TMLCSo10UITextView -__TWvdvC10SwiftForms16FormTextViewCellP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -l_OBJC_LABEL_PROTOCOL_$_UITextViewDelegate -l_OBJC_PROTOCOL_REFERENCE_$_UITextViewDelegate -__TWoFC10SwiftForms16FormTextViewCellgP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms16FormTextViewCellsP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms16FormTextViewCellmP33_872CBDA890CBCF32517E3701A6021DB517customConstraintsGSQGSaPs9AnyObject___ -__TMfC10SwiftForms16FormTextViewCell -__TMRfC10SwiftForms16FormTextViewCell -__TMRsC10SwiftForms16FormTextViewCell -__TMRfCSo10UITextView -__TMRsCSo10UITextView -__TMLGSQGSaPs9AnyObject___ -__TMLGSaPs9AnyObject__ -l_OBJC_LABEL_PROTOCOL_$_UIScrollViewDelegate -l_OBJC_PROTOCOL_REFERENCE_$_UIScrollViewDelegate -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift -get_field_types_FormTextViewCell -FormTextViewCell.swift -_TMaGSQGSaPs9AnyObject___ -_TMaGSaPs9AnyObject__ -_TMaC10SwiftForms16FormTextViewCell -textViewDidChange -_TTSg5VSS13CharacterViewS_s10Collections___TFEsPs10Collectiong5countwx13IndexDistance -_TTWVSS13CharacterViews10CollectionsFS0_8distancefT4fromwx5Index2towxS1__wx13IndexDistance -_TTSfq4s_s_n___TTSgq5VSS13CharacterViewS_s23_BidirectionalIndexables___TFEsPs23_BidirectionalIndexable8distancefT4fromwx5Index2towxS0__wx13IndexDistance -_TTWVSS13CharacterViews14_IndexableBasesFS0_g8endIndexwx5Index -_TTWVSS13CharacterViews14_IndexableBasesFS0_g10startIndexwx5Index -_TMaCSo10UITextView -_TTSf4n_s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSf4s_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer18nativeRemoveObjectfT6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12nativeDeletefTGVs23_NativeDictionaryBufferxq__11idealBucketSi6offsetSi_T_ -_TTSf4g_n_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer12nativeDeletefTGVs23_NativeDictionaryBufferxq__11idealBucketSi6offsetSi_T_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_prevfSiSi -_TTSg5CSo6UIView___TFSp4movefT_x -_TTSg5SS___TFSp4movefT_x -_TTSg5CSo6UIView___TFSp12deinitializefT5countSi_Sv -_TTSf4n_n_d___TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSg5SS_CSo6UIView___TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSf4gs_n_n___TTSg5SSSSs8Hashables_CSo6UIView___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5CSo6UIView___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5CSo7UIImageCSo8NSObjects9Equatable5UIKit___TFsoi2neuRxs9EquatablerFTGSqx_GSqx__Sb -_TTSg5CSo7UIImageCSo8NSObjects9Equatable5UIKit___TFsoi2eeuRxs9EquatablerFTGSqx_GSqx__Sb -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFVs10Dictionary11removeValuefT6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer11removeValuefT6forKeyx_GSqq__ -_TTSg5SSSSs8Hashables_CSo6UIView___TFOs24_VariantDictionaryBuffer18nativeRemoveObjectfT6forKeyx_GSqq__ -textField.get -_TToFC10SwiftForms16FormTextViewCellg9textFieldCSo10UITextView -_TToFC10SwiftForms16FormTextViewCellg10titleLabelCSo7UILabel -___swift_memcpy1_1 -___swift_memcpy_array1_1 -___swift_memmove_array1_1 -__TwxsO10SwiftForms13FormErrorType -__TwxgO10SwiftForms13FormErrorType -__TwugO10SwiftForms13FormErrorType -__TwupO10SwiftForms13FormErrorType -__TwuiO10SwiftForms13FormErrorType -__TMfO10SwiftForms13FormErrorType -__TMRfO10SwiftForms13FormErrorType -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift -_TMaO10SwiftForms13FormErrorType -FormErrorType.swift -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms -get_field_types_FormErrorType -_TwuiO10SwiftForms13FormErrorType -_TwupO10SwiftForms13FormErrorType -_TwugO10SwiftForms13FormErrorType -_TwxgO10SwiftForms13FormErrorType -_TwxsO10SwiftForms13FormErrorType -__swift_memmove_array1_1 -__swift_memcpy_array1_1 -__swift_memcpy1_1 -_TWaO10SwiftForms13FormErrorTypes9_HashableS_ -_TWaO10SwiftForms13FormErrorTypes5ErrorS_ -_TWaO10SwiftForms13FormErrorTypes8HashableS_ -_TWaO10SwiftForms13FormErrorTypes9EquatableS_ -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_func0 -__TFIZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD00136__onceT_iU_FT_T_ -_globalinit_33_A98A5792941355E0FC6070FE05AD0013_func2 -__TToFC10SwiftForms18FormViewControllercfT_S0_ -__TToFC10SwiftForms18FormViewControllercfT5styleOSC16UITableViewStyle_S0_ -__TToFC10SwiftForms18FormViewControllercfT7nibNameGSqSS_6bundleGSqCSo6Bundle__S0_ -__TToFC10SwiftForms18FormViewControllercfT5coderCSo7NSCoder_S0_ -__TToFC10SwiftForms18FormViewController11viewDidLoadfT_T_ -__TToFC10SwiftForms18FormViewController11valueForTagfSSGSqPs9AnyObject__ -__TToFC10SwiftForms18FormViewController8setValuefTPs9AnyObject_6forTagSS_T_ -__TToFC10SwiftForms18FormViewController16numberOfSectionsfT2inCSo11UITableView_Si -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView21numberOfRowsInSectionSi_Si -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCell -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView23titleForHeaderInSectionSi_GSqSS_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView23titleForFooterInSectionSi_GSqSS_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView22viewForFooterInSectionSi_GSqCSo6UIView_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView22viewForHeaderInSectionSi_GSqCSo6UIView_ -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView22viewForFooterInSectionSi_GSqCSo6UIView__merged -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView24heightForHeaderInSectionSi_V12CoreGraphics7CGFloat -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView24heightForFooterInSectionSi_V12CoreGraphics7CGFloat -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView24heightForHeaderInSectionSi_V12CoreGraphics7CGFloat_merged -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView14heightForRowAtV10Foundation9IndexPath_V12CoreGraphics7CGFloat -__TToFC10SwiftForms18FormViewController9tableViewfTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -__TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -__TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -__TTSf4n_n_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -__TTSf4g_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -__T0s32DictionaryIteratorRepresentationOWy.12 -__TZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001320onceDefaultCellClassSi -__TZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001318defaultCellClassesGVs10DictionaryOCS_17FormRowDescriptor7RowTypeMCS_12FormBaseCell_ -__TWvdvC10SwiftForms17FormTextFieldCellP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWvdvC10SwiftForms24FormSegmentedControlCellP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoZFC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001326defaultCellClassForRowTypefOCS_17FormRowDescriptor7RowTypeMCS_12FormBaseCell -__TWoFC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001328formRowDescriptorAtIndexPathfV10Foundation9IndexPathCS_17FormRowDescriptor -__TWoFC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD001334formBaseCellClassFromRowDescriptorfCS_17FormRowDescriptorGSQMCS_12FormBaseCell_ -__TMfC10SwiftForms18FormViewController -__TMRfC10SwiftForms18FormViewController -__TMRsC10SwiftForms18FormViewController -__TMLGCs37_HashableTypedNativeDictionaryStorageOC10SwiftForms17FormRowDescriptor7RowTypeMCS0_12FormBaseCell_ -__TMLMC10SwiftForms12FormBaseCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift -get_field_types_FormViewController -FormViewController.swift -tableView -formBaseCellClassFromRowDescriptor -defaultCellClassForRowType -formRowDescriptorAtIndexPath -form.get -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs18DictionaryIterator4nextfT_GSqT3keyx5valueq___ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs18DictionaryIterator11_nativeNextfT_GSqT3keyx5valueq___ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer12assertingGetfGVs22_NativeDictionaryIndexxq__T3keyx5valueq__ -FormTextFieldCell.swift -FormSegmentedControlCell.swift -FormValueCell.swift -_TTSg5SS_Ps9AnyObject____TZFVs22_NativeDictionaryIndexoi2eefTGS_xq__GS_xq___Sb -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFVs10Dictionary12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TFOs24_VariantDictionaryBuffer12makeIteratorfT_GVs18DictionaryIteratorxq__ -_TTSg5SSSSs8Hashables_Ps9AnyObject____TZFVs18DictionaryIterator6_cocoafCs24_CocoaDictionaryIteratorGS_xq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg8endIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBufferg10startIndexGVs22_NativeDictionaryIndexxq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10Dictionaryg9subscriptFxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer8maybeGetfxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer8maybeGetfxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer5_findfTx11startBucketSi_T3posGVs22_NativeDictionaryIndexxq__5foundSb_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer6_indexfT5afterSi_Si -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBuffer3keyfT2atSi_x -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBuffer18isInitializedEntryfT2atSi_Sb -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg6valuesGSpq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg4keysGSpx_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer7_bucketfxSi -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg8capacitySi -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg5countSi -_TFC10SwiftForms18FormViewControllerauP33_A98A5792941355E0FC6070FE05AD001318defaultCellClassesGVs10DictionaryOCS_17FormRowDescriptor7RowTypeMCS_12FormBaseCell_ -_TFC10SwiftForms18FormViewControllerauP33_A98A5792941355E0FC6070FE05AD00136__onceT_ -_TTSg5C10SwiftForms17FormRowDescriptor___TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5C10SwiftForms17FormRowDescriptor___TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -setValue -_TTSg5GVs16IndexingIteratorGSaC10SwiftForms21FormSectionDescriptor__GS_GSaS1___s16IteratorProtocols___TFVs18EnumeratedIterator4nextfT_GSqT6offsetSi7elementwx7Element__ -_TTSg5GSaC10SwiftForms21FormSectionDescriptor_GSaS0__s14_IndexableBases___TTWuRxs14_IndexableBaserGVs16IndexingIteratorx_s16IteratorProtocolsFS1_4nextfT_GSqwx7Element_ -_TTSg5GVs16IndexingIteratorGSaC10SwiftForms17FormRowDescriptor__GS_GSaS1___s16IteratorProtocols___TFVs18EnumeratedIterator4nextfT_GSqT6offsetSi7elementwx7Element__ -_TTSg5GSaC10SwiftForms17FormRowDescriptor_GSaS0__s14_IndexableBases___TTWuRxs14_IndexableBaserGVs16IndexingIteratorx_s16IteratorProtocolsFS1_4nextfT_GSqwx7Element_ -_TZFSSoi2eefTSSSS_Sb -valueForTag -_TTSf4g_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TTSg5GSaTOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell__GSaTS1_MS2___s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa9formIndexfT5afterRSi_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSag9subscriptFSix -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT15minimumCapacitySi_GS0_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBufferCfT8capacitySi_GS0_xq__ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBuffers5countSi -_TTSg5MC10SwiftForms12FormBaseCell___TFSp10initializefT2tox5countSi_T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType___TFSp10initializefT2tox5countSi_T_ -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TMaGCs37_HashableTypedNativeDictionaryStorageOC10SwiftForms17FormRowDescriptor7RowTypeMCS0_12FormBaseCell_ -_TMaMC10SwiftForms12FormBaseCell -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT_GS_xq__ -_TTSg5GSaTOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell__GSaTS1_MS2___s10Collections___TFEsPs10Collectiong7isEmptySb -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSag8endIndexSi -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFSa9_getCountfT_Si -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBufferg5countSi -_TTSg5TOC10SwiftForms17FormRowDescriptor7RowTypeMCS_12FormBaseCell____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSf4n_n_d___TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferCfT8capacitySi7storageCs27_RawNativeDictionaryStorage_GS_xq__ -_TTSgq5Su___TFSp10initializefT2tox5countSi_T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType_MCS_12FormBaseCell___TFVs23_NativeDictionaryBufferg40_initializedHashtableEntriesBitMapBufferGSpSu_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFes0_Rxs8HashablerVs23_NativeDictionaryBuffer12unsafeAddNewfT3keyx5valueq__T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer24ensureUniqueNativeBufferfSiT11reallocatedSb15capacityChangedSb_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowType___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5MC10SwiftForms12FormBaseCell___TFs26_forceBridgeFromObjectiveCurFTPs9AnyObject_Mx_x -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer20isUniquelyReferencedfT_Sb -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBufferg8asNativeGVs23_NativeDictionaryBufferxq__ -_TTSg5SS_Ps9AnyObject____TFVs23_NativeDictionaryBuffer5indexfT5afterGVs22_NativeDictionaryIndexxq___GS0_xq__ -_TTSg5GVs22_NativeDictionaryIndexSSPs9AnyObject__GS_SSPS0___s9Equatables___TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5SS_Ps9AnyObject____TTWu0_rGVs22_NativeDictionaryIndexxq__s9EquatablesZFS0_oi2eefTxx_Sb -_TFCs24_CocoaDictionaryIterator4nextfT_GSqTPs9AnyObject_PS0____ -_TTSfq4n_d_n___TTSgq5GVs9UnmanagedPs9AnyObject_____TFSv4loadurfT14fromByteOffsetSi2asMx_x -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer17nativeUpdateValuefTq_6forKeyx_GSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffers8asNativeGVs23_NativeDictionaryBufferxq__ -_TMaC10SwiftForms18FormViewController -form.materialize -form.set -_TTSg5C10SwiftForms17FormRowDescriptor___TFSag5countSi -numberOfSections -_TTSg5C10SwiftForms21FormSectionDescriptor___TFSag5countSi -viewDidLoad -globalinit_33_A98A5792941355E0FC6070FE05AD0013_func2 -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10DictionaryCft17dictionaryLiteralGSaTxq____GS_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10DictionaryCfT13_nativeBufferGVs23_NativeDictionaryBufferxq___GS_xq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TZFes0_Rxs8HashablerVs23_NativeDictionaryBuffer9fromArrayfGSaTxq___GS0_xq__ -_TFIZvC10SwiftForms18FormViewControllerP33_A98A5792941355E0FC6070FE05AD00136__onceT_iU_FT_T_ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFVs10Dictionarys9subscriptFxGSqq__ -_TTSg5OC10SwiftForms17FormRowDescriptor7RowTypeS1_s8HashableS__MCS_12FormBaseCell___TFOs24_VariantDictionaryBuffer11updateValuefTq_6forKeyx_GSqq__ -globalinit_33_A98A5792941355E0FC6070FE05AD0013_func0 -__TToFC10SwiftForms14FormButtonCell9configurefT_T_ -__TToFC10SwiftForms14FormButtonCell6updatefT_T_ -__TToFC10SwiftForms14FormButtonCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormButtonCellcfT5coderCSo7NSCoder_GSqS0__ -__TMfC10SwiftForms14FormButtonCell -__TMRfC10SwiftForms14FormButtonCell -__TMRsC10SwiftForms14FormButtonCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift -get_field_types_FormButtonCell -FormButtonCell.swift -_TMaC10SwiftForms14FormButtonCell -__TToFC10SwiftForms15FormStepperCellg11stepperViewCSo9UIStepper -__TToFC10SwiftForms15FormStepperCellg10countLabelCSo7UILabel -__TMaCSo9UIStepper -__TToFC10SwiftForms15FormStepperCell9configurefT_T_ -__TToFC10SwiftForms15FormStepperCell6updatefT_T_ -__TToFC10SwiftForms15FormStepperCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms15FormStepperCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms15FormStepperCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms15FormStepperCellcfT5coderCSo7NSCoder_GSqS0__ -__TFFs16_float64ToStringFTSd5debugSb_SSU_FGSpVs5UInt8_SS -__TMLCSo9UIStepper -__TWoFC10SwiftForms15FormStepperCell12valueChangedfCSo8UISwitchT_ -__TMfC10SwiftForms15FormStepperCell -__TMRfC10SwiftForms15FormStepperCell -__TMRsC10SwiftForms15FormStepperCell -__TMRfCSo9UIStepper -__TMRsCSo9UIStepper -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift -get_field_types_FormStepperCell -FormStepperCell.swift -_TMaC10SwiftForms15FormStepperCell -_TFFs16_float64ToStringFTSd5debugSb_SSU_FGSpVs5UInt8_SS -_TTSfq4n_d___TZFVs4UTF810_decodeOnefVs6UInt32T6resultGSqS0__6lengthVs5UInt8_ -_TTSgq5GVs16IndexingIteratorGSRVs5UInt8__GS_GSRS0___s16IteratorProtocols___TFVs4UTF86decodeuRxs16IteratorProtocolwx7ElementzVs5UInt8rfRxOs21UnicodeDecodingResult -_TTSgq5GSRVs5UInt8_GSRS__s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSfq4n_s___TTSgq5Vs5UInt8___TFSRg9subscriptFSix -_TTSg5SdSds25LosslessStringConvertibles___TFSSCuRxs25LosslessStringConvertiblerfxSS -_TTSf4n_d___TTSg5SdSds25LosslessStringConvertibles___TFSSCuRxs25LosslessStringConvertiblerfxSS -_TTWSds23CustomStringConvertiblesFS_g11descriptionSS -_TFs16_float64ToStringFTSd5debugSb_SS -_TFSdg4signOs17FloatingPointSign -_TMaCSo9UIStepper -countLabel.get -_TToFC10SwiftForms15FormStepperCellg10countLabelCSo7UILabel -stepperView.get -_TToFC10SwiftForms15FormStepperCellg11stepperViewCSo9UIStepper -__TToFC10SwiftForms16FormSelectorCell6updatefT_T_ -__TToZFC10SwiftForms16FormSelectorCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms16FormSelectorCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms16FormSelectorCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSg5Ps9AnyObject____TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -__TMaCSo16UIViewController -__TMLCSo16UIViewController -__TMfC10SwiftForms16FormSelectorCell -__TMRfC10SwiftForms16FormSelectorCell -__TMRsC10SwiftForms16FormSelectorCell -__TMLGCs18_HeapBufferStorageVs18_StringBufferIVarsVs6UInt16_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift -get_field_types_FormSelectorCell -FormSelectorCell.swift -_TMaCSo16UIViewController -_TMaC10SwiftForms16FormSelectorCell -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer19_getElementSlowPathfSiPs9AnyObject_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer20_checkValidSubscriptfSiT_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg10_nonNativePs12_NSArrayCore_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg5countSi -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg7_nativeGVs22_ContiguousArrayBufferx_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg9_isNativeSb -_TTSfq4d___TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TZFVs11_HeapBuffer14_elementOffsetfT_Si -_TTSfq4n_n_n_d___TFVs13_StringBufferCfT8capacitySi11initialSizeSi12elementWidthSi_S_ -_TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TFVs11_HeapBuffer9_capacityfT_Si -_TTSfq4n_n_n_d___TTSgq5Vs18_StringBufferIVars_Vs6UInt16___TFVs11_HeapBufferCfTPMPs9AnyObject_xSi_GS_xq__ -_TTSgq5Vs18_StringBufferIVars___TFSp10initializefT2tox5countSi_T_ -_TMaGCs18_HeapBufferStorageVs18_StringBufferIVarsVs6UInt16_ -_TTSg5GVs16IndexingIteratorGSaPs9AnyObject___GS_GSaPS0____s16IteratorProtocols___TFVs18EnumeratedIterator4nextfT_GSqT6offsetSi7elementwx7Element__ -_TTSg5GSaPs9AnyObject__GSaPS___s14_IndexableBases___TTWuRxs14_IndexableBaserGVs16IndexingIteratorx_s16IteratorProtocolsFS1_4nextfT_GSqwx7Element_ -_TTSg5GSaPs9AnyObject__GSaPS___s14_IndexableBases___TFVs16IndexingIterator4nextfT_GSqwx8_Element_ -_TTSg5Ps9AnyObject____TTWurGSax_s14_IndexableBasesFS_g9subscriptFwx5Indexwx8_Element -_TTSg5Ps9AnyObject____TFSag9subscriptFSix -_TTSg5Ps9AnyObject____TFSa15_checkSubscriptfTSi20wasNativeTypeCheckedSb_Vs16_DependenceToken -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer37_checkInoutAndNativeTypeCheckedBoundsfTSi20wasNativeTypeCheckedSb_T_ -_TTSg5Ps9AnyObject____TTWurGSax_s14_IndexableBasesFS_9formIndexfT5afterRwx5Index_T_ -_TTSg5Ps9AnyObject____TFSa9formIndexfT5afterRSi_T_ -_TZFSSoi2pefTRSSSS_T_ -_TTSg5Ps9AnyObject____TFSa11_getElementfTSi20wasNativeTypeCheckedSb22matchingSubscriptCheckVs16_DependenceToken_x -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer10getElementfTSi20wasNativeTypeCheckedSb_x -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg9subscriptFSix -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer10getElementfSix -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg19firstElementAddressGSpx_ -_TTSg5Ps9AnyObject____TFSa29_hoistableIsNativeTypeCheckedfT_Sb -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg32arrayPropertyIsNativeTypeCheckedSb -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg20_isNativeTypeCheckedSb -_TTSg5Ps9AnyObject____TTWurGSax_s14_IndexableBasesFS_g8endIndexwx5Index -_TTSg5Ps9AnyObject____TFSag8endIndexSi -_TTSg5Ps9AnyObject____TFSa9_getCountfT_Si -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg5countSi -__TToFC10SwiftForms14FormSwitchCellg10switchViewCSo8UISwitch -__TToFC10SwiftForms14FormSwitchCell9configurefT_T_ -__TToFC10SwiftForms14FormSwitchCell6updatefT_T_ -__TToFC10SwiftForms14FormSwitchCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormSwitchCellcfT5coderCSo7NSCoder_GSqS0__ -__TWoFC10SwiftForms14FormSwitchCell12valueChangedfCSo8UISwitchT_ -__TMfC10SwiftForms14FormSwitchCell -__TMRfC10SwiftForms14FormSwitchCell -__TMRsC10SwiftForms14FormSwitchCell -__TMRfCSo8UISwitch -__TMRsCSo8UISwitch -__TMLCSo8UISwitch -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift -get_field_types_FormSwitchCell -FormSwitchCell.swift -_TMaCSo8UISwitch -_TMaC10SwiftForms14FormSwitchCell -switchView.get -_TToFC10SwiftForms14FormSwitchCellg10switchViewCSo8UISwitch -__TToFC10SwiftForms13FormCheckCell9configurefT_T_ -__TToFC10SwiftForms13FormCheckCell6updatefT_T_ -__TToZFC10SwiftForms13FormCheckCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms13FormCheckCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormCheckCellcfT5coderCSo7NSCoder_GSqS0__ -__TWoFC10SwiftForms13FormCheckCellP33_254C49D6E5637BF0BEB3218F3FC093E75checkfT_T_ -__TMfC10SwiftForms13FormCheckCell -__TMRfC10SwiftForms13FormCheckCell -__TMRsC10SwiftForms13FormCheckCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift -get_field_types_FormCheckCell -FormCheckCell.swift -_TMaC10SwiftForms13FormCheckCell -check -__TToFC10SwiftForms13FormValueCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms13FormValueCellg10valueLabelCSo7UILabel -__TToFC10SwiftForms13FormValueCell9configurefT_T_ -__TToFC10SwiftForms13FormValueCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms13FormValueCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms13FormValueCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms13FormValueCellcfT5coderCSo7NSCoder_GSqS0__ -__TTSgq5SSSSs20TextOutputStreamables___TFs27_toStringReadOnlyStreamableuRxs20TextOutputStreamablerFxSS -__TTSgq5SiSis23CustomStringConvertibles___TFs26_toStringReadOnlyPrintableuRxs23CustomStringConvertiblerFxSS -__TTSfq4g_d___TFSSCft19stringInterpolationGSaSS__SS -__TTWVSS13CharacterViews14_IndexableBasesFS0_g10startIndexwx5Index -__TTWVSS13CharacterViews14_IndexableBasesFS0_g8endIndexwx5Index -__TTWVSS13CharacterViews10CollectionsFS0_8distancefT4fromwx5Index2towxS1__wx13IndexDistance -__TTSfq4s_s_n___TTSgq5VSS13CharacterViewS_s23_BidirectionalIndexables___TFEsPs23_BidirectionalIndexable8distancefT4fromwx5Index2towxS0__wx13IndexDistance -__TWoFC10SwiftForms13FormValueCellgP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms13FormValueCellsP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TWoFC10SwiftForms13FormValueCellmP33_82F16EA997B7B04DB1F3F41F679BB19017customConstraintsGSQGSaPs9AnyObject___ -__TMfC10SwiftForms13FormValueCell -__TMRfC10SwiftForms13FormValueCell -__TMRsC10SwiftForms13FormValueCell -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift -get_field_types_FormValueCell -_TMaC10SwiftForms13FormValueCell -_TTSfq4g_d___TFSSCft19stringInterpolationGSaSS__SS -_TTSgq5SiSis23CustomStringConvertibles___TFs26_toStringReadOnlyPrintableuRxs23CustomStringConvertiblerFxSS -_TTSgq5SSSSs20TextOutputStreamables___TFs27_toStringReadOnlyStreamableuRxs20TextOutputStreamablerFxSS -valueLabel.get -_TToFC10SwiftForms13FormValueCellg10valueLabelCSo7UILabel -_TToFC10SwiftForms13FormValueCellg10titleLabelCSo7UILabel -_TTSg5SS___TFCs23_ContiguousArrayStorageD -_TTSg5SS___TFCs23_ContiguousArrayStoraged -_TTSg5SS___TFCs23_ContiguousArrayStorageg15_elementPointerGSpx_ -_TFSSCft19stringInterpolationGSaSS__SS -_TFSSCfT26stringInterpolationSegmentSS_SS -_TFSSCfT26stringInterpolationSegmentSi_SS -__TToFC10SwiftForms24FormSegmentedControlCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms24FormSegmentedControlCellg16segmentedControlCSo18UISegmentedControl -__TMaCSo18UISegmentedControl -__TToFC10SwiftForms24FormSegmentedControlCell9configurefT_T_ -__TToFC10SwiftForms24FormSegmentedControlCell6updatefT_T_ -__TToFC10SwiftForms24FormSegmentedControlCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms24FormSegmentedControlCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms24FormSegmentedControlCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms24FormSegmentedControlCellcfT5coderCSo7NSCoder_GSqS0__ -__TMLCSo18UISegmentedControl -__TWoFC10SwiftForms24FormSegmentedControlCellgP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms24FormSegmentedControlCellsP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms24FormSegmentedControlCellmP33_DBE9D27F80989AD1EAE3BA68E841BE3517customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms24FormSegmentedControlCell12valueChangedfCSo18UISegmentedControlT_ -__TWoFC10SwiftForms24FormSegmentedControlCellP33_DBE9D27F80989AD1EAE3BA68E841BE3522updateSegmentedControlfT_T_ -__TMfC10SwiftForms24FormSegmentedControlCell -__TMRfC10SwiftForms24FormSegmentedControlCell -__TMRsC10SwiftForms24FormSegmentedControlCell -__TMRfCSo18UISegmentedControl -__TMRsCSo18UISegmentedControl -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift -get_field_types_FormSegmentedControlCell -_TTSg5GSaPs9AnyObject__GSaPS___s10Collections___TFEsPs10Collectiong7isEmptySb -_TMaC10SwiftForms24FormSegmentedControlCell -updateSegmentedControl -_TFsoi3eeeFTGSqPs9AnyObject__GSqPS____Sb -_TMaCSo18UISegmentedControl -segmentedControl.get -_TToFC10SwiftForms24FormSegmentedControlCellg16segmentedControlCSo18UISegmentedControl -_TToFC10SwiftForms24FormSegmentedControlCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms17FormTextFieldCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms17FormTextFieldCellg9textFieldCSo11UITextField -__TMaCSo11UITextField -__TToFC10SwiftForms17FormTextFieldCell9configurefT_T_ -__TToFC10SwiftForms17FormTextFieldCell6updatefT_T_ -__TToFC10SwiftForms17FormTextFieldCell16constraintsViewsfT_GVs10DictionarySSCSo6UIView_ -__TToFC10SwiftForms17FormTextFieldCell24defaultVisualConstraintsfT_GSaSS_ -__TToFC10SwiftForms17FormTextFieldCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToZFC10SwiftForms17FormTextFieldCell30formRowCanBecomeFirstResponderfT_Sb -__TToFC10SwiftForms17FormTextFieldCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms17FormTextFieldCellcfT5coderCSo7NSCoder_GSqS0__ -__TMLCSo11UITextField -__TWoFC10SwiftForms17FormTextFieldCellgP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms17FormTextFieldCellsP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms17FormTextFieldCellmP33_149870142910A653EE2CFFFC6D820B4A17customConstraintsGSaPs9AnyObject__ -__TWoFC10SwiftForms17FormTextFieldCell14editingChangedfCSo11UITextFieldT_ -__TMfC10SwiftForms17FormTextFieldCell -__TMRfC10SwiftForms17FormTextFieldCell -__TMRsC10SwiftForms17FormTextFieldCell -__TMRfCSo11UITextField -__TMRsCSo11UITextField -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift -get_field_types_FormTextFieldCell -editingChanged -_TMaC10SwiftForms17FormTextFieldCell -_TTSg5CSo6UIViewCSo8NSObjects9Equatable5UIKit___TFsoi2eeuRxs9EquatablerFTGSqx_GSqx__Sb -_TMaCSo11UITextField -_TToFC10SwiftForms17FormTextFieldCellg9textFieldCSo11UITextField -_TToFC10SwiftForms17FormTextFieldCellg10titleLabelCSo7UILabel -__TToFC10SwiftForms14FormPickerCell9configurefT_T_ -__TToFC10SwiftForms14FormPickerCell6updatefT_T_ -__TToFC10SwiftForms14FormPickerCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToZFC10SwiftForms14FormPickerCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms14FormPickerCell10pickerViewfTCSo12UIPickerView11titleForRowSi12forComponentSi_GSqSS_ -__TToFC10SwiftForms14FormPickerCell10pickerViewfTCSo12UIPickerView12didSelectRowSi11inComponentSi_T_ -__TToFC10SwiftForms14FormPickerCell18numberOfComponentsfT2inCSo12UIPickerView_Si -__TToFC10SwiftForms14FormPickerCell10pickerViewfTCSo12UIPickerView23numberOfRowsInComponentSi_Si -__TToFC10SwiftForms14FormPickerCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms14FormPickerCellcfT5coderCSo7NSCoder_GSqS0__ -__TWvdvC10SwiftForms14FormPickerCellP33_509F42A1F3552FA9D46F9A9EE75C8D9B6pickerCSo12UIPickerView -__TWvdvC10SwiftForms14FormPickerCellP33_509F42A1F3552FA9D46F9A9EE75C8D9B15hiddenTextFieldCSo11UITextField -l_OBJC_LABEL_PROTOCOL_$_UIPickerViewDelegate -l_OBJC_PROTOCOL_REFERENCE_$_UIPickerViewDelegate -l_OBJC_LABEL_PROTOCOL_$_UIPickerViewDataSource -l_OBJC_PROTOCOL_REFERENCE_$_UIPickerViewDataSource -__TMfC10SwiftForms14FormPickerCell -__TMRfC10SwiftForms14FormPickerCell -__TMRsC10SwiftForms14FormPickerCell -__TMRfCSo12UIPickerView -__TMRsCSo12UIPickerView -__TMLCSo12UIPickerView -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift -get_field_types_FormPickerCell -FormPickerCell.swift -_TMaCSo12UIPickerView -_TMaC10SwiftForms14FormPickerCell -pickerView -_TTSg5Ps9AnyObject____TFSag5countSi -numberOfComponents -_TTSg5GSaPs9AnyObject__GSaPS___s8Sequences___TFEsPs8Sequence10enumeratedfT_GVs18EnumeratedSequencex_ -__TToFC10SwiftForms29FormOptionsSelectorControllerg8formCellGSqCS_12FormBaseCell_ -__TToFC10SwiftForms29FormOptionsSelectorControllers8formCellGSqCS_12FormBaseCell_ -__TToFC10SwiftForms29FormOptionsSelectorControllercfT_S0_ -__TToFC10SwiftForms29FormOptionsSelectorControllercfT5coderCSo7NSCoder_S0_ -__TToFC10SwiftForms29FormOptionsSelectorController11viewDidLoadfT_T_ -__TToFC10SwiftForms29FormOptionsSelectorController16numberOfSectionsfT2inCSo11UITableView_Si -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView21numberOfRowsInSectionSi_Si -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView24heightForHeaderInSectionSi_V12CoreGraphics7CGFloat -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCell -__TToFC10SwiftForms29FormOptionsSelectorController9tableViewfTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_ -__TToFC10SwiftForms29FormOptionsSelectorControllercfT5styleOSC16UITableViewStyle_S0_ -__TTSg5Ps9AnyObject____TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -__TTSg5Ps9AnyObject____TFSa16_copyToNewBufferfT8oldCountSi_T_ -__TTSf1n_n_cl134_TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_GSRVs5UInt8____TTSfq1n_cl39_TTRXFo_dGSRVs5UInt8___XFo_dGSRS___iT__XFo_dGSRVs5UInt8____n___TTSgq5T____TFVs12StaticString14withUTF8BufferurfFGSRVs5UInt8_xx -__TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT8newCountSi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -__TTSf4n_n_d___TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs14_IgnorePointerPS0___GS2_PS0___s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -__TTSf4s_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withSi10elementsOfqd___T_ -__TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs31_InitializeMemoryFromCollectionGVs15EmptyCollectionPS0____GS2_GS3_PS0____s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -__TTSf4s_d_n_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol23_arrayOutOfPlaceReplaceuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withqd__5countSi_T_ -__TTSf4s_d_n___TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TFSa15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zxrfTGVs5RangeSi_4withqd___T_ -__TTSfq4s_s___TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_ -__T0SqWy.8 -__T0SqWe.9 -__TMaGSaPs9AnyObject__ -__TMaGCs23_ContiguousArrayStoragePs9AnyObject__ -__TMaGSaPs9AnyObject___merged -__TMLGCs23_ContiguousArrayStoragePs9AnyObject__ -__TWoFC10SwiftForms29FormOptionsSelectorControllerCfT7nibNameGSqSS_6bundleGSqCSo6Bundle__S0_ -__TMfC10SwiftForms29FormOptionsSelectorController -__TMRfC10SwiftForms29FormOptionsSelectorController -__TMRsC10SwiftForms29FormOptionsSelectorController -__TMLGSqC10SwiftForms12FormBaseCell_ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift -get_field_types_FormOptionsSelectorController -FormOptionsViewController.swift -_TMaGSqC10SwiftForms12FormBaseCell_ -_TTSfq4s_s___TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_ -_TTSg5Ps9AnyObject____TFSa6removefT2atSi_x -_TTSg5Ps9AnyObject____TFSa6appendfxT_ -_TTSg5Ps9AnyObject____TFSa36_reserveCapacityAssumingUniqueBufferfT8oldCountSi_T_ -_TTSg5GSaPs9AnyObject__GSaPS___s10Collections___TFEsPs10Collection5indexfzT5whereFzWx8Iterator7Element_Sb_GSqwx5Index_ -formCell.get -_TTSg5Ps9AnyObject____TFs27_allocateUninitializedArrayurFBwTGSax_Bp_ -_TTSg5Ps9AnyObject____TZFSa13_adoptStoragefTGCs23_ContiguousArrayStoragex_5countSi_TGSax_GSpx__ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT5countSi7storageGCs23_ContiguousArrayStoragex__GS_x_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer18_initStorageHeaderfT5countSi8capacitySi_T_ -_TTSg5SiSis9Equatables___TFsoi2neuRxs9EquatablerFTxx_Sb -_TTSg5GSaPs9AnyObject__GSaPS___s26RangeReplaceableCollections_GVs15EmptyCollectionPS___GS1_PS___s10Collections___TFesRxs26RangeReplaceableCollectionwx5Indexs10StrideableWxS0_6Stride_s13SignedIntegerrS_15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zWxS5_S6__rfTGVs14CountableRangewxS0__4withqd___T_ -_TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TTWurGSax_s26RangeReplaceableCollectionsFS_15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zWxS1_S2__rfTGVs5Rangewx5Index_4withqd___T_ -_TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TFSa15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zxrfTGVs5RangeSi_4withqd___T_ -_TTRXFo_oPs9AnyObject__dSbzoPs5Error__XFo_iPS___dSbzoPS0___ -_TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_U_FPs9AnyObject_Sb -_TTSf4g_g___TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView14didSelectRowAtV10Foundation9IndexPath_T_U_FPs9AnyObject_Sb -_TTSg5Ps9AnyObject____TTWurGSax_s10CollectionsFS_g9subscriptFwx5IndexWx8Iterator7Element_ -_TTSg5Ps9AnyObject____TFSa37_appendElementAssumeUniqueAndCapacityfTSi10newElementx_T_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg19firstElementAddressGSpx_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffers5countSi -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffers5countSi -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg8capacitySi -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferg8capacitySi -_TTSf4s_d_n___TTSg5Ps9AnyObject__GVs15EmptyCollectionPS___GS0_PS___s10Collections___TFSa15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zxrfTGVs5RangeSi_4withqd___T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol23_arrayOutOfPlaceReplaceuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withqd__5countSi_T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withSi10elementsOfqd___T_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferx__ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer20isUniquelyReferencedfT_Sb -_TTSg5Ps9AnyObject____TFVs12_ArrayBufferg8endIndexSi -_TTSf4s_d_n_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol23_arrayOutOfPlaceReplaceuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withqd__5countSi_T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs31_InitializeMemoryFromCollectionGVs15EmptyCollectionPS0____GS2_GS3_PS0____s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g5countSi -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs31_InitializeMemoryFromCollectionGVs15EmptyCollectionPS0____GS2_GS3_PS0____s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5GVs15EmptyCollectionPs9AnyObject__GS_PS0___s10Collections___TTWuRxs10CollectionrGVs31_InitializeMemoryFromCollectionx_s16_PointerFunctionsFS1_4callfTGSpwx7Element_5countSi_T_ -_TTSg5GVs15EmptyCollectionPs9AnyObject__GS_PS0___s10Collections___TFVs31_InitializeMemoryFromCollection4callfTGSpWx8Iterator7Element__5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpwx7Element__GSpwxS2__ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBuffer13_copyContentsfT8subRangeGVs5RangeSi_12initializingGSpx__GSpx_ -_TTSf4g_n_n___TTSg5Ps9AnyObject____TFSp10initializefT2tox5countSi_T_ -_TTSg5Ps9AnyObject____TFSp10initializefT4fromGSPx_5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8endIndexSi -_TTSg5Ps9AnyObject____TTWurGVs15EmptyCollectionx_s10CollectionsFS0_g9subscriptFwx5IndexWx8Iterator7Element_ -_TTSg5Ps9AnyObject____TFVs15EmptyCollectiong9subscriptFSix -_TTSg5Ps9AnyObject____TFSp12deinitializefT5countSi_Sv -_TTSg5Ps9AnyObject____TFSp14moveInitializefT4fromGSpx_5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g19firstElementAddressGSpwx7Element_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_33requestUniqueMutableBackingBufferfT15minimumCapacitySi_GSqGVs22_ContiguousArrayBufferwx7Element__ -_TTSf4s_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs15EmptyCollectionPS0___GS2_PS0___s10Collections___TFEsPs20_ArrayBufferProtocol15replaceSubrangeuRd__s10CollectionWd__8Iterator7Element_zwx7ElementrfTGVs5RangeSi_4withSi10elementsOfqd___T_ -_TTSg5Ps9AnyObject____TFSp10moveAssignfT4fromGSpx_5countSi_T_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g20subscriptBaseAddressGSpwx7Element_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocolg20subscriptBaseAddressGSpwx7Element_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_s5countSi -_TTSf4n_n_n_d_n___TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs14_IgnorePointerPS0___GS2_PS0___s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSf4n_n_d___TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TMaGCs23_ContiguousArrayStoragePs9AnyObject__ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT_GS_x_ -_TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCellU_FPs9AnyObject_Sb -_TTSf4g_g___TFFC10SwiftForms29FormOptionsSelectorController9tableViewFTCSo11UITableView12cellForRowAtV10Foundation9IndexPath_CSo15UITableViewCellU_FPs9AnyObject_Sb -_TTSg5CSo15UITableViewCellCSo8NSObjects9Equatable5UIKit___TFsoi2eeuRxs9EquatablerFTGSqx_GSqx__Sb -_TMaC10SwiftForms29FormOptionsSelectorController -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT17countForNewBufferSi14minNewCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol35_forceCreateUniqueMutableBufferImplfT14countForBufferSi14minNewCapacitySi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSg5Ps9AnyObject____TFVs22_ContiguousArrayBufferCfT19_uninitializedCountSi15minimumCapacitySi_GS_x_ -_TTSg5Ps9AnyObject____TTWurGVs12_ArrayBufferx_s20_ArrayBufferProtocolsFS0_g8capacitySi -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols___TFEsPs20_ArrayBufferProtocol31_forceCreateUniqueMutableBufferfT8newCountSi16requiredCapacitySi_GVs22_ContiguousArrayBufferwx7Element_ -_TTSf1n_n_cl134_TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_GSRVs5UInt8____TTSfq1n_cl39_TTRXFo_dGSRVs5UInt8___XFo_dGSRS___iT__XFo_dGSRVs5UInt8____n___TTSgq5T____TFVs12StaticString14withUTF8BufferurfFGSRVs5UInt8_xx -_TTSfq0n_k_k___TFFVs12StaticString14withUTF8BufferurFFGSRVs5UInt8_xxU_FS0_T_ -_TFFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_U_FGSRS1__T_ -_TTSg5Ps9AnyObject____TFSa16_copyToNewBufferfT8oldCountSi_T_ -_TTSg5GVs12_ArrayBufferPs9AnyObject__GS_PS0___s20_ArrayBufferProtocols_GVs14_IgnorePointerPS0___GS2_PS0___s16_PointerFunctions___TFEsPs20_ArrayBufferProtocol22_arrayOutOfPlaceUpdateuRd__s16_PointerFunctionwd__7Elementzwx7ElementrfTRGVs22_ContiguousArrayBufferwxS2__SiSiqd___T_ -_TTSg5Ps9AnyObject____TFSa40_makeUniqueAndReserveCapacityIfNotUniquefT_T_ -_TTSg5Ps9AnyObject____TFVs12_ArrayBuffer30isMutableAndUniquelyReferencedfT_Sb -_TTSfq1n_cl39_TTRXFo_dGSRVs5UInt8___XFo_dGSRS___iT__XFo_dGSRVs5UInt8____n___TTSgq5T____TFVs12StaticString14withUTF8BufferurfFGSRVs5UInt8_xx -_TFFs25_unimplementedInitializerFT9classNameVs12StaticString8initNameS_4fileS_4lineSu6columnSu_Os5NeverU0_FGSRVs5UInt8_T_ -formCell.materialize -formCell.set -_TToFC10SwiftForms29FormOptionsSelectorControllers8formCellGSqCS_12FormBaseCell_ -_TToFC10SwiftForms29FormOptionsSelectorControllerg8formCellGSqCS_12FormBaseCell_ -__TToFC10SwiftForms12FormDateCell9configurefT_T_ -__TToFC10SwiftForms12FormDateCell6updatefT_T_ -__TToZFC10SwiftForms12FormDateCell18formViewControllerfTCS_18FormViewController12didSelectRowCS_12FormBaseCell_T_ -__TToFC10SwiftForms12FormDateCell21firstResponderElementfT_GSqCSo11UIResponder_ -__TToZFC10SwiftForms12FormDateCell30formRowCanBecomeFirstResponderfT_Sb -__TToFC10SwiftForms12FormDateCellcfT5styleOSC20UITableViewCellStyle15reuseIdentifierGSQSS__S0_ -__TToFC10SwiftForms12FormDateCellcfT5coderCSo7NSCoder_GSqS0__ -__TWvdvC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822915hiddenTextFieldCSo11UITextField -__TWvdvC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822910datePickerCSo12UIDatePicker -__TWvdvC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822920defaultDateFormatterCSo13DateFormatter -__TWoFC10SwiftForms12FormDateCell12valueChangedfCSo12UIDatePickerT_ -__TWoFC10SwiftForms12FormDateCellP33_C023FAD6768D46095D3739AAF2D7822916getDateFormatterfT_CSo13DateFormatter -__TMfC10SwiftForms12FormDateCell -__TMRfC10SwiftForms12FormDateCell -__TMRsC10SwiftForms12FormDateCell -__TMRfCSo12UIDatePicker -__TMRsCSo12UIDatePicker -__TMRfCSo13DateFormatter -__TMRsCSo13DateFormatter -__TMLCSo12UIDatePicker -__TMLCSo13DateFormatter -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift -get_field_types_FormDateCell -FormDateCell.swift -_TMaCSo13DateFormatter -_TMaCSo12UIDatePicker -getDateFormatter -_TMaC10SwiftForms12FormDateCell -__TwxsOC10SwiftForms17FormRowDescriptor7RowType -__TwxgOC10SwiftForms17FormRowDescriptor7RowType -__TwugOC10SwiftForms17FormRowDescriptor7RowType -__TwupOC10SwiftForms17FormRowDescriptor7RowType -__TwuiOC10SwiftForms17FormRowDescriptor7RowType -__TwXXVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor17CellConfiguration -___swift_memcpy48_4 -__TwtaVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwalVC10SwiftForms17FormRowDescriptor17CellConfiguration -___swift_copy_outline_pointer -__TwXxVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor17CellConfiguration -___swift_memmove_array48_4 -__TwxsVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwXXVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -___swift_memcpy17_4 -__TwtaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwalVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -___swift_memmove_array20_4 -__TwXXVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -___swift_memcpy8_4 -__TwtaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -___swift_memmove_array8_4 -__TwXXVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor20StepperConfiguration -___swift_memcpy25_8 -__TwalVC10SwiftForms17FormRowDescriptor20StepperConfiguration -___swift_memcpy_array32_8 -___swift_memmove_array32_8 -__TwXXVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwtaVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwXXVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCPVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwprVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwcpVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwcaVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor16RowConfiguration -___swift_memcpy116_8 -__TwtaVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwalVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwXxVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCcVC10SwiftForms17FormRowDescriptor16RowConfiguration -___swift_memmove_array120_8 -__TwxsVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TwCpVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwxgVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwprVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwprVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwprVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TwdeVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwxxVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TwTkVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TwxsVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TMfC10SwiftForms17FormRowDescriptor -__TMfOC10SwiftForms17FormRowDescriptor7RowType -__TMRfOC10SwiftForms17FormRowDescriptor7RowType -__TMfVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor17CellConfiguration -__TMfVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__TMfVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__TMfVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__TMfVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor17DateConfiguration -__TMfVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TMRfVC10SwiftForms17FormRowDescriptor16RowConfiguration -__TMRfC10SwiftForms17FormRowDescriptor -__TMLGVs10DictionarySSPs9AnyObject__ -__TMLGSqCSo13DateFormatter_ -__TMLGSqFC10SwiftForms17FormRowDescriptorT__ -__TMLFC10SwiftForms17FormRowDescriptorT_ -__TMLGSqPMPs9AnyObject__ -__TMLPMPs9AnyObject_ -__TMLGSqFPs9AnyObject_SS_ -__TMLFPs9AnyObject_SS -__TMLGSqFC10SwiftForms12FormBaseCellGSaSS__ -__TMLFC10SwiftForms12FormBaseCellGSaSS_ -__TMLGSaSS_ -__TMLGSqPs9AnyObject__ -/Volumes/Development/FinalYearProject-MyMind/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift -initialize_metadata_RowConfiguration -FormRowDescriptor.swift -_TMaVC10SwiftForms17FormRowDescriptor16RowConfiguration -get_field_types_RowConfiguration -_TMaGVs10DictionarySSPs9AnyObject__ -_TMaVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TMaVC10SwiftForms17FormRowDescriptor20StepperConfiguration -_TMaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TMaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TMaVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwxgVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwxsVC10SwiftForms17FormRowDescriptor16RowConfiguration -__swift_memmove_array120_8 -_TwCcVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwalVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor16RowConfiguration -__swift_memcpy116_8 -_TwTkVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwdeVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwprVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor16RowConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor16RowConfiguration -initialize_metadata_DateConfiguration -get_field_types_DateConfiguration -_TMaGSqCSo13DateFormatter_ -_TwCcVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor17DateConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor17DateConfiguration -initialize_metadata_StepperConfiguration -get_field_types_StepperConfiguration -__swift_memmove_array32_8 -__swift_memcpy_array32_8 -_TwalVC10SwiftForms17FormRowDescriptor20StepperConfiguration -__swift_memcpy25_8 -_TwCpVC10SwiftForms17FormRowDescriptor20StepperConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor20StepperConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor20StepperConfiguration -initialize_metadata_ButtonConfiguration -get_field_types_ButtonConfiguration -_TMaGSqFC10SwiftForms17FormRowDescriptorT__ -_TMaFC10SwiftForms17FormRowDescriptorT_ -__swift_memmove_array8_4 -_TwCcVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -__swift_memcpy8_4 -_TwcaVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor19ButtonConfiguration -initialize_metadata_SelectionConfiguration -get_field_types_SelectionConfiguration -_TMaGSqFPs9AnyObject_SS_ -_TMaFPs9AnyObject_SS -_TMaGSqPMPs9AnyObject__ -_TMaPMPs9AnyObject_ -__swift_memmove_array20_4 -_TwCcVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwalVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -__swift_memcpy17_4 -_TwTkVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwdeVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor22SelectionConfiguration -initialize_metadata_CellConfiguration -get_field_types_CellConfiguration -_TMaGSqFC10SwiftForms12FormBaseCellGSaSS__ -_TMaFC10SwiftForms12FormBaseCellGSaSS_ -_TMaGSaSS_ -_TwxgVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwxsVC10SwiftForms17FormRowDescriptor17CellConfiguration -__swift_memmove_array48_4 -_TwCcVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwXxVC10SwiftForms17FormRowDescriptor17CellConfiguration -__swift_copy_outline_pointer -_TwalVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwtaVC10SwiftForms17FormRowDescriptor17CellConfiguration -__swift_memcpy48_4 -_TwTkVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwcaVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwcpVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwCpVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwxxVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwdeVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwCPVC10SwiftForms17FormRowDescriptor17CellConfiguration -_TwXXVC10SwiftForms17FormRowDescriptor17CellConfiguration -initialize_metadata_RowType -_TMaOC10SwiftForms17FormRowDescriptor7RowType -get_field_types_RowType -_TwuiOC10SwiftForms17FormRowDescriptor7RowType -_TwupOC10SwiftForms17FormRowDescriptor7RowType -_TwugOC10SwiftForms17FormRowDescriptor7RowType -_TwxgOC10SwiftForms17FormRowDescriptor7RowType -_TwxsOC10SwiftForms17FormRowDescriptor7RowType -get_field_types_FormRowDescriptor -_TMaGSqPs9AnyObject__ -_TWaOC10SwiftForms17FormRowDescriptor7RowTypes9_HashableS_ -_TWaOC10SwiftForms17FormRowDescriptor7RowTypes8HashableS_ -_TWaOC10SwiftForms17FormRowDescriptor7RowTypes9EquatableS_ -_TMaC10SwiftForms17FormRowDescriptor -value.didset -value.willset -configuration.materialize -configuration.set -configuration.get -type.get -tag.get -value.get -userInfo.materialize -userInfo.set -userInfo.get -date.materialize -date.set -date.get -stepper.materialize -stepper.set -stepper.get -button.materialize -button.set -button.get -selection.materialize -selection.set -selection.get -cell.materialize -cell.set -cell.get -dateFormatter.materialize -dateFormatter.set -dateFormatter.get -continuous.materialize -continuous.set -continuous.get -steps.materialize -steps.set -steps.get -minimumValue.materialize -minimumValue.set -minimumValue.get -maximumValue.materialize -maximumValue.set -maximumValue.get -didSelectClosure.materialize -didSelectClosure.set -didSelectClosure.get -allowsMultipleSelection.materialize -allowsMultipleSelection.set -allowsMultipleSelection.get -optionTitleClosure.materialize -optionTitleClosure.set -optionTitleClosure.get -options.materialize -options.set -options.get -controllerClass.materialize -controllerClass.set -controllerClass.get -visualConstraintsClosure.materialize -visualConstraintsClosure.set -visualConstraintsClosure.get -didUpdateClosure.materialize -didUpdateClosure.set -didUpdateClosure.get -willUpdateClosure.materialize -willUpdateClosure.set -willUpdateClosure.get -required.materialize -required.set -required.get -showsInputToolbar.materialize -showsInputToolbar.set -showsInputToolbar.get -placeholder.materialize -placeholder.set -placeholder.get -appearance.materialize -appearance.set -appearance.get -cellClass.materialize -cellClass.set -cellClass.get -/Users/alexanderdavis/Library/Caches/org.carthage.CarthageKit/DerivedData/SwiftForms/1.7/Build/Intermediates/SwiftFormsApplication.build/Release-iphoneos/SwiftForms.build/DerivedSources/SwiftForms_vers.c -__ZL15__ARCLite__loadv -__ZL30add_image_hook_autoreleasepoolPK11mach_headerl -__ZL34__arclite_objc_autoreleasePoolPushv -__ZL33__arclite_objc_autoreleasePoolPopPv -__ZL19patch_lazy_pointersPK11mach_headerP7patch_tm -__ZL42__arclite_NSArray_objectAtIndexedSubscriptP7NSArrayP13objc_selectorj -__ZL53__arclite_NSMutableArray_setObject_atIndexedSubscriptP14NSMutableArrayP13objc_selectorP11objc_objectj -__ZL46__arclite_NSDictionary_objectForKeyedSubscriptP12NSDictionaryP13objc_selectorP11objc_object -__ZL47__arclite_NSOrderedSet_objectAtIndexedSubscriptP12NSOrderedSetP13objc_selectorj -__ZL58__arclite_NSMutableOrderedSet_setObject_atIndexedSubscriptP19NSMutableOrderedSetP13objc_selectorP11objc_objectj -__ZL58__arclite_NSMutableDictionary__setObject_forKeyedSubscriptP19NSMutableDictionaryP13objc_selectorP11objc_objectS4_ -__ZL18add_image_hook_ARCPK11mach_headerl -__ZL36__arclite_object_setInstanceVariableP11objc_objectPKcPv -__ZL24__arclite_object_setIvarP11objc_objectP9objc_ivarS0_ -__ZL21__arclite_object_copyP11objc_objectm -__ZL21__arclite_objc_retainP11objc_object -__ZL26__arclite_objc_retainBlockP11objc_object -__ZL22__arclite_objc_releaseP11objc_object -__ZL26__arclite_objc_autoreleaseP11objc_object -__ZL32__arclite_objc_retainAutoreleaseP11objc_object -__ZL37__arclite_objc_autoreleaseReturnValueP11objc_object -__ZL43__arclite_objc_retainAutoreleaseReturnValueP11objc_object -__ZL44__arclite_objc_retainAutoreleasedReturnValueP11objc_object -__ZL26__arclite_objc_storeStrongPP11objc_objectS0_ -__ZL22add_image_hook_swiftV1PK11mach_headerl -__ZL42__arclite_NSUndoManagerProxy_isKindOfClassP11objc_objectP13objc_selectorP10objc_class -__ZL13replaceMethodP10objc_classP13objc_selectorPFP11objc_objectS4_S2_zEPS6_ -__ZL30__arclite_NSManagedObject_initP11objc_objectP13objc_selector -__ZL41__arclite_NSManagedObject_allocWithEntityP11objc_objectP13objc_selectorS0_ -__ZL36__arclite_NSManagedObject_allocBatchP11objc_objectP13objc_selectorPS0_S0_j -__ZL37__arclite_NSKKMS_fastIndexForKnownKeyP11objc_objectP13objc_selectorS0_ -__ZL28__arclite_NSKKMS_indexForKeyP11objc_objectP13objc_selectorS0_ -__ZL29__arclite_NSKKsD_objectForKeyP11objc_objectP13objc_selectorS0_ -__ZL35__arclite_NSKKsD_removeObjectForKeyP11objc_objectP13objc_selectorS0_ -__ZL33__arclite_NSKKsD_setObject_forKeyP11objc_objectP13objc_selectorS0_S0_ -__ZL41__arclite_NSKKsD_addEntriesFromDictionaryP11objc_objectP13objc_selectorP12NSDictionary -__ZL28__arclite_objc_readClassPairP10objc_classPK15objc_image_info -__ZL32__arclite_objc_allocateClassPairP10objc_classPKcm -__ZL32__arclite_object_getIndexedIvarsP11objc_object -__ZL23__arclite_objc_getClassPKc -__ZL27__arclite_objc_getMetaClassPKc -__ZL31__arclite_objc_getRequiredClassPKc -__ZL26__arclite_objc_lookUpClassPKc -__ZL26__arclite_objc_getProtocolPKc -__ZL23__arclite_class_getNameP10objc_class -__ZL26__arclite_protocol_getNameP8Protocol -__ZL37__arclite_objc_copyClassNamesForImagePKcPj -__ZL17transcribeMethodsP10objc_classP15glue_class_ro_t -__ZL19transcribeProtocolsP10objc_classP15glue_class_ro_t -__ZL20transcribePropertiesP10objc_classP15glue_class_ro_t -__ZL14initialize_impP11objc_objectP13objc_selector -__ZL18allocateMaybeSwiftP18glue_swift_class_tm -__ZL22copySwiftV1MangledNamePKcb -__ZL13demangledNamePKcb -__ZL16scanMangledFieldRPKcS0_S1_Ri -__ZL30arclite_uninitialized_functionv -__ZL12cxxConstructP11objc_object -__ZL20fixStringForCoreDataP11objc_object -_OBJC_METACLASS_$___ARCLite__ -__ZL24OBJC_CLASS_$___ARCLite__ -__ZL31OBJC_METACLASS_RO_$___ARCLite__ -__non_lazy_classes -__ZL27OBJC_CLASS_RO_$___ARCLite__ -__ZL11_class_name -__ZL32OBJC_$_CLASS_METHODS___ARCLite__ -__ZL17_load_method_name -__ZL17_load_method_type -__ZL23NSAutoreleasePool_class -__ZZL30add_image_hook_autoreleasepoolPK11mach_headerlE7patches -__ZGVZL30add_image_hook_autoreleasepoolPK11mach_headerlE7patches -l_OBJC_PROTOCOL_$___ARCLiteIndexedSubscripting__ -l_OBJC_LABEL_PROTOCOL_$___ARCLiteIndexedSubscripting__ -l_OBJC_PROTOCOL_REFERENCE_$___ARCLiteIndexedSubscripting__ -l_OBJC_PROTOCOL_$___ARCLiteKeyedSubscripting__ -l_OBJC_LABEL_PROTOCOL_$___ARCLiteKeyedSubscripting__ -l_OBJC_PROTOCOL_REFERENCE_$___ARCLiteKeyedSubscripting__ -__ZZL18add_image_hook_ARCPK11mach_headerlE7patches -__ZGVZL18add_image_hook_ARCPK11mach_headerlE7patches -__ZL30NSUndoManagerProxy_targetClass -__ZL29original_NSManagedObject_init -__ZL40original_NSManagedObject_allocWithEntity -__ZL35original_NSManagedObject_allocBatch -__ZL25NSMutableDictionary_class -__ZL22NSConstantString_class -__ZL14NSString_class -__ZL36original_NSKKMS_fastIndexForKnownKey -__ZL27original_NSKKMS_indexForKey -__ZL28original_NSKKsD_objectForKey -__ZL34original_NSKKsD_removeObjectForKey -__ZL32original_NSKKsD_setObject_forKey -__ZL40original_NSKKsD_addEntriesFromDictionary -__ZZL22add_image_hook_swiftV1PK11mach_headerlE7patches -__ZGVZL22add_image_hook_swiftV1PK11mach_headerlE7patches -__ZL31original_objc_allocateClassPair -__ZL31original_object_getIndexedIvars -__ZL22original_objc_getClass -__ZL26original_objc_getMetaClass -__ZL30original_objc_getRequiredClass -__ZL25original_objc_lookUpClass -__ZL25original_objc_getProtocol -__ZL22original_class_getName -__ZL25original_protocol_getName -__ZL36original_objc_copyClassNamesForImage -__ZL12demangleLock -__ZL9Demangled -Apple LLVM version 8.1.0 (clang-802.0.36) -/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++11 -Wno-trigraphs -fno-exceptions -fno-rtti -mpascal-strings -Os -Wno-missing-field-initializers -Wmissing-prototypes -Wno-implicit-atomic-properties -Wno-arc-repeated-use-of-weak -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -D NDEBUG=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -miphoneos-version-min=4.3 -g -fno-threadsafe-statics -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -fembed-bitcode=all -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-generated-files.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-own-target-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-all-target-headers.hmap -iquote /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/arclite_iphoneos-project-headers.hmap -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/Symbols/BuiltProducts/include -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources/armv7 -I /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/DerivedSources -F/Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/Symbols/BuiltProducts -F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/System/Library/PrivateFrameworks -Wall -Wextra -Wno-gcc-compat -Wno-error=incomplete-umbrella -Wno-error=incomplete-umbrella -MMD -MT dependencies -MF /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/armv7/arclite.d --serialize-diagnostics /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/armv7/arclite.dia -c /Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm -o /Library/Caches/com.apple.xbs/Binaries/arclite_iOS/arclite_iOS-66~320/TempContent/Objects/arclite.build/arclite_iOS.build/Objects-normal/armv7/arclite.o -mlinker-version=278.4 -march=armv7a -/Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66/source/arclite.mm -/Library/Caches/com.apple.xbs/Sources/arclite_iOS/arclite-66 -fixStringForCoreData -cxxConstruct -arclite_uninitialized_function -scanMangledField -isdigit -/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.Internal.sdk/usr/include/ctype.h -__isctype -demangledName -copySwiftV1DemangledName -copySwiftV1MangledName -allocateMaybeSwift -word_align -isSwift -initialize_imp -transcribeProperties -property_list_nth -transcribeProtocols -transcribeMethods -data -method_list_nth -__arclite_objc_copyClassNamesForImage -__arclite_protocol_getName -__arclite_class_getName -__arclite_objc_getProtocol -__arclite_objc_lookUpClass -__arclite_objc_getRequiredClass -__arclite_objc_getMetaClass -__arclite_objc_getClass -__arclite_object_getIndexedIvars -__arclite_objc_allocateClassPair -metaclass -__arclite_objc_readClassPair -transcribeIvars -ivar_list_nth -max -alignment -ro -fastFlags -__arclite_NSKKsD_addEntriesFromDictionary -__arclite_NSKKsD_setObject_forKey -__arclite_NSKKsD_removeObjectForKey -__arclite_NSKKsD_objectForKey -__arclite_NSKKMS_indexForKey -__arclite_NSKKMS_fastIndexForKnownKey -__arclite_NSManagedObject_allocBatch -__arclite_NSManagedObject_allocWithEntity -__arclite_NSManagedObject_init -replaceMethod -__arclite_NSUndoManagerProxy_isKindOfClass -add_image_hook_swiftV1 -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -__arclite_objc_storeStrong -__arclite_objc_release -__arclite_objc_retain -__arclite_objc_retainAutoreleasedReturnValue -__arclite_objc_retainAutoreleaseReturnValue -__arclite_objc_autoreleaseReturnValue -__arclite_objc_retainAutorelease -__arclite_objc_autorelease -__arclite_objc_retainBlock -__arclite_object_copy -fixupCopiedReferences -_class_getInstanceStart -alignedInstanceStart -__arclite_class_usesAutomaticRetainRelease -classOrSuperClassesUseARR -__arclite_object_setIvar -isScannedOffset -_ivar_getClass -__arclite_object_setInstanceVariable -add_image_hook_ARC -patch_t -patch_t -patch_t -patch_t -patch_t -patch_t -__arclite_NSMutableDictionary__setObject_forKeyedSubscript -__arclite_NSMutableOrderedSet_setObject_atIndexedSubscript -__arclite_NSOrderedSet_objectAtIndexedSubscript -__arclite_NSDictionary_objectForKeyedSubscript -__arclite_NSMutableArray_setObject_atIndexedSubscript -__arclite_NSArray_objectAtIndexedSubscript -patch_lazy_pointers -__arclite_objc_autoreleasePoolPop -__arclite_objc_autoreleasePoolPush -add_image_hook_autoreleasepool -patch_t -patch_t -__ARCLite__load -install_swiftV1 -install_ARC -install_dict_nil_value -addOrReplaceMethod -keyedGetter -install_subscripting -addMethod -indexedGetter -install_autoreleasepool diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework.dSYM/Contents/Info.plist b/My Mind/Carthage/Build/iOS/SwiftForms.framework.dSYM/Contents/Info.plist deleted file mode 100644 index 256ef6c..0000000 --- a/My Mind/Carthage/Build/iOS/SwiftForms.framework.dSYM/Contents/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleIdentifier - com.apple.xcode.dsym.com.ortulabs.SwiftForms - CFBundleInfoDictionaryVersion - 6.0 - CFBundlePackageType - dSYM - CFBundleSignature - ???? - CFBundleShortVersionString - 1.6.2 - CFBundleVersion - 1 - - diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework.dSYM/Contents/Resources/DWARF/SwiftForms b/My Mind/Carthage/Build/iOS/SwiftForms.framework.dSYM/Contents/Resources/DWARF/SwiftForms deleted file mode 100644 index df94ccf..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework.dSYM/Contents/Resources/DWARF/SwiftForms and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Headers/SwiftForms-Swift.h b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Headers/SwiftForms-Swift.h deleted file mode 100644 index 6fbd9b6..0000000 --- a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Headers/SwiftForms-Swift.h +++ /dev/null @@ -1,380 +0,0 @@ -// Generated by Apple Swift version 3.1 (swiftlang-802.0.48 clang-802.0.38) -#pragma clang diagnostic push - -#if defined(__has_include) && __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if defined(__has_include) && __has_include() -# include -# elif !defined(__cplusplus) || __cplusplus < 201103L -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif - -#if defined(__has_attribute) && __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if defined(__has_attribute) && __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -#else -# define SWIFT_COMPILE_NAME(X) -#endif -#if defined(__has_attribute) && __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -#else -# define SWIFT_METHOD_FAMILY(X) -#endif -#if defined(__has_attribute) && __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -#else -# define SWIFT_NOESCAPE -#endif -#if defined(__has_attribute) && __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -#else -# define SWIFT_WARN_UNUSED_RESULT -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if defined(__has_attribute) && __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type -# if defined(__has_feature) && __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if defined(__has_feature) && __has_feature(modules) -@import UIKit; -@import CoreGraphics; -@import ObjectiveC; -@import Foundation; -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -@class FormViewController; -@class NSCoder; -@class UIView; -@class UIResponder; -@class UIToolbar; - -SWIFT_CLASS("_TtC10SwiftForms12FormBaseCell") -@interface FormBaseCell : UITableViewCell -@property (nonatomic, weak) FormViewController * _Nullable formViewController; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -- (void)configure; -- (void)update; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -- (UIToolbar * _Nonnull)inputAccesoryView SWIFT_WARN_UNUSED_RESULT; -+ (CGFloat)formRowCellHeight SWIFT_WARN_UNUSED_RESULT; -+ (BOOL)formRowCanBecomeFirstResponder SWIFT_WARN_UNUSED_RESULT; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)didSelectRow; -- (void)updateConstraints; -@end - -@class UILabel; - -SWIFT_CLASS("_TtC10SwiftForms13FormTitleCell") -@interface FormTitleCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -- (void)configure; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms14FormButtonCell") -@interface FormButtonCell : FormTitleCell -- (void)configure; -- (void)update; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms13FormCheckCell") -@interface FormCheckCell : FormTitleCell -- (void)configure; -- (void)update; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms13FormValueCell") -@interface FormValueCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UILabel * _Nonnull valueLabel; -- (void)configure; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms12FormDateCell") -@interface FormDateCell : FormValueCell -- (void)configure; -- (void)update; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -+ (BOOL)formRowCanBecomeFirstResponder SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_PROTOCOL("_TtP10SwiftForms12FormSelector_") -@protocol FormSelector -@property (nonatomic, strong) FormBaseCell * _Nullable formCell; -@end - -@class NSBundle; -@class UITableView; - -SWIFT_CLASS("_TtC10SwiftForms29FormOptionsSelectorController") -@interface FormOptionsSelectorController : UITableViewController -@property (nonatomic, strong) FormBaseCell * _Nullable formCell; -- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE; -- (void)viewDidLoad; -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (nonnull instancetype)initWithStyle:(UITableViewStyle)style SWIFT_UNAVAILABLE; -@end - -@class UIPickerView; - -SWIFT_CLASS("_TtC10SwiftForms14FormPickerCell") -@interface FormPickerCell : FormValueCell -- (void)configure; -- (void)update; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (NSString * _Nullable)pickerView:(UIPickerView * _Nonnull)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component SWIFT_WARN_UNUSED_RESULT; -- (void)pickerView:(UIPickerView * _Nonnull)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component; -- (NSInteger)numberOfComponentsInPickerView:(UIPickerView * _Nonnull)pickerView SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)pickerView:(UIPickerView * _Nonnull)pickerView numberOfRowsInComponent:(NSInteger)component SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UISegmentedControl; - -SWIFT_CLASS("_TtC10SwiftForms24FormSegmentedControlCell") -@interface FormSegmentedControlCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UISegmentedControl * _Nonnull segmentedControl; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - - -SWIFT_CLASS("_TtC10SwiftForms16FormSelectorCell") -@interface FormSelectorCell : FormValueCell -- (void)update; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UISlider; - -SWIFT_CLASS("_TtC10SwiftForms14FormSliderCell") -@interface FormSliderCell : FormTitleCell -@property (nonatomic, readonly, strong) UISlider * _Nonnull sliderView; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UIStepper; - -SWIFT_CLASS("_TtC10SwiftForms15FormStepperCell") -@interface FormStepperCell : FormTitleCell -@property (nonatomic, readonly, strong) UIStepper * _Nonnull stepperView; -@property (nonatomic, readonly, strong) UILabel * _Nonnull countLabel; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UISwitch; - -SWIFT_CLASS("_TtC10SwiftForms14FormSwitchCell") -@interface FormSwitchCell : FormTitleCell -@property (nonatomic, readonly, strong) UISwitch * _Nonnull switchView; -- (void)configure; -- (void)update; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UITextField; - -SWIFT_CLASS("_TtC10SwiftForms17FormTextFieldCell") -@interface FormTextFieldCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UITextField * _Nonnull textField; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -+ (BOOL)formRowCanBecomeFirstResponder SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UITextView; - -SWIFT_CLASS("_TtC10SwiftForms16FormTextViewCell") -@interface FormTextViewCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UITextView * _Nonnull textField; -+ (CGFloat)formRowCellHeight SWIFT_WARN_UNUSED_RESULT; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (void)textViewDidChange:(UITextView * _Nonnull)textView; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - - - -SWIFT_CLASS("_TtC10SwiftForms18FormViewController") -@interface FormViewController : UITableViewController -- (nonnull instancetype)init; -- (nonnull instancetype)initWithStyle:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -- (void)viewDidLoad; -- (id _Nullable)valueForTag:(NSString * _Nonnull)tag SWIFT_WARN_UNUSED_RESULT; -- (void)setValue:(id _Nonnull)value forTag:(NSString * _Nonnull)tag; -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (NSString * _Nullable)tableView:(UITableView * _Nonnull)tableView titleForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (NSString * _Nullable)tableView:(UITableView * _Nonnull)tableView titleForFooterInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForFooterInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForFooterInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -@end - -#pragma clang diagnostic pop diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Headers/SwiftForms.h b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Headers/SwiftForms.h deleted file mode 100644 index b14d579..0000000 --- a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Headers/SwiftForms.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// SwiftForms.h -// SwiftForms -// -// Created by Miguel Angel Ortuno Ortuno on 14/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -#import - -//! Project version number for SwiftForms. -FOUNDATION_EXPORT double SwiftFormsVersionNumber; - -//! Project version string for SwiftForms. -FOUNDATION_EXPORT const unsigned char SwiftFormsVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm.swiftdoc b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm.swiftdoc deleted file mode 100644 index e0d232e..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm.swiftdoc and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm.swiftmodule b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm.swiftmodule deleted file mode 100644 index 8c82d0a..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm.swiftmodule and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm64.swiftdoc b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm64.swiftdoc deleted file mode 100644 index 853d5cb..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm64.swiftdoc and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm64.swiftmodule b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm64.swiftmodule deleted file mode 100644 index 4d8b3e6..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/arm64.swiftmodule and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/i386.swiftdoc b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/i386.swiftdoc deleted file mode 100644 index 218a79b..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/i386.swiftdoc and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/i386.swiftmodule b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/i386.swiftmodule deleted file mode 100644 index 51c0909..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/i386.swiftmodule and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftdoc b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index 788715e..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftmodule b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index 83905de..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/module.modulemap b/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/module.modulemap deleted file mode 100644 index 51d6767..0000000 --- a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Modules/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module SwiftForms { - umbrella header "SwiftForms.h" - - export * - module * { export * } -} - -module SwiftForms.Swift { - header "SwiftForms-Swift.h" -} diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/SwiftForms b/My Mind/Carthage/Build/iOS/SwiftForms.framework/SwiftForms deleted file mode 100755 index 524e099..0000000 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/SwiftForms and /dev/null differ diff --git a/My Mind/Carthage/Checkouts/SwiftForms/.gitignore b/My Mind/Carthage/Checkouts/SwiftForms/.gitignore deleted file mode 100644 index 7469951..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/.gitignore +++ /dev/null @@ -1,60 +0,0 @@ -# Compiled source # -################### -*.com -*.class -*.dll -*.exe -*.o -*.so - -# Packages # -############ -# it's better to unpack these files and commit the raw source -# git has its own built in compression methods -*.7z -*.dmg -*.gz -*.iso -*.jar -*.rar -*.tar -*.zip - -# Logs and databases # -###################### -*.log -*.sql -*.sqlite - -# OS generated files # -###################### -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Pods # -######## -Pods/ - -# Xcode # -######### -build/ -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -*.xcworkspace -!default.xcworkspace -xcuserdata -profile -*.moved-aside -DerivedData -.idea/ diff --git a/My Mind/Carthage/Checkouts/SwiftForms/LICENSE b/My Mind/Carthage/Checkouts/SwiftForms/LICENSE deleted file mode 100644 index 03d0bb6..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) -Copyright (c) 2014 Miguel Ángel Ortuño ( ortuman@gmail.com ) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/My Mind/Carthage/Checkouts/SwiftForms/README.MD b/My Mind/Carthage/Checkouts/SwiftForms/README.MD deleted file mode 100644 index aa4e4a6..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/README.MD +++ /dev/null @@ -1,155 +0,0 @@ - -[![Version](https://img.shields.io/badge/pod-1.7-red.svg)](http://cocoadocs.org/docsets/SwiftForms) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) - -[![License](https://img.shields.io/badge/license-MIT-gray.svg)](http://cocoadocs.org/docsets/SwiftForms) -[![Platform](https://img.shields.io/badge/platform-iOS-lightgrey.svg)](http://cocoadocs.org/docsets/SwiftForms) - -SwiftForms -========== - -Purpose -------- -SwiftForms is a powerful and extremely flexible library written in Swift that allows to create forms by just defining them in a couple of lines. It also provides the ability to customize cells appearance, use custom cells and define your own selector controllers. - -#####Here is an screenshot from an example application using SwiftForms - -![Screenshot of Example application](SwiftFormsApplication/Example.gif) - -How to create a form --------------------- - -Creating a form using SwiftForms is pretty straightforward. All you need is to derive your controller from `FormViewController` and define a `FormDescriptor` instance along with its sections and rows. Here is an example of how to create a simple form to input an email and a user password. - -```swift - -// Create form instace -var form = FormDescriptor() -form.title = "Example form" - -// Define first section -var section1 = FormSectionDescriptor() - -var row = FormRowDescriptor(tag: "name", rowType: .Email, title: "Email") -section1.rows.append(row) - -row = FormRowDescriptor(tag: "pass", rowType: .Password, title: "Password") -section1.rows.append(row) - -// Define second section -var section2 = FormSectionDescriptor() - -row = FormRowDescriptor(tag: "button", rowType: .Button, title: "Submit") -section2.rows.append(row) - -form.sections = [section1, section2] - -self.form = form -``` -To see a more complex form definition you can take a look to the example application. - -Cell appearance ----------------------- - -Every row descriptor has a `configuration` dictionary that allows to customize cell's appearance and behavior. In order to change concrete visual aspects of a row simply set `row.configuration.cell.appearance` value to a dictionary containing custom key-value coding properties. - -Here's an example: - -```swift -row.configuration.cell.appearance = ["titleLabel.font" : UIFont.boldSystemFontOfSize(30.0), "segmentedControl.tintColor" : UIColor.redColor()] -``` - -Custom cells ------------------ - -In addition, it is possible to create 100% custom cells by deriving from `FormBaseCell` class. In that case, don't forget to override `configure` and `update` methods. First method will be called only once and after cell has been created, and the second one every time cell content should be refreshed. - -Here are the methods that help you to define custom cell behavior. -```swift -func configure() { - /// override -} - -func update() { - /// override -} - -class func formRowCellHeight() -> CGFloat { - return 44.0 -} - -class func formViewController(formViewController: FormViewController, didSelectRow: FormBaseCell) { -} -``` -Once you have defined your custom cell, and in order to use it for a concrete row, you'll have to set `FormRowDescriptor` cellClass property. - -Custom selector controllers -------------------------------------- - -In order to customize selector controller your class should conform to `FormSelector` protocol. That way you'll have access to the cell instance that pushed the controller, being able to alter its properties or setting it's row value accordingly to user interaction. - -After defining your class, don't forget to set `row.configuration.selection.controllerClass` value in the configuration dictionary to use your custom selector controller. - -Requirements ---------------------- - -* iOS 8.0 and above - -### CocoaPods - -[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. - -CocoaPods 0.36 adds supports for Swift and embedded frameworks. You can install it with the following command: - -```bash -$ gem install cocoapods -``` - -To integrate SwiftForms into your Xcode project using CocoaPods, specify it in your `Podfile`: - -```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' -use_frameworks! - -pod 'SwiftForms' -``` - -Then, run the following command: - -```bash -$ pod install -``` - -### Carthage - -Simply add the following line to your `Cartfile`: - -``` -github "ortuman/SwiftForms" -``` - -Then run: - -```bash -$ carthage update -``` - -For more information on [Carthage](https://github.com/Carthage/Carthage) see the [README](https://github.com/Carthage/Carthage/blob/master/README.md) - -Copyright ---------- - -SwiftForms is originally based on XLForm github project. (https://github.com/xmartlabs/XLForm) - -Check LICENSE file for more details. - -Contact -------- - -If you are using SwiftForms in your project and have any suggestion or question: - -Miguel Angel Ortuño, - -[@ortuman](http://twitter.com/ortuman) - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms.podspec b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms.podspec deleted file mode 100644 index bc596b7..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms.podspec +++ /dev/null @@ -1,11 +0,0 @@ -Pod::Spec.new do |s| - s.name = "SwiftForms" - s.version = "1.7" - s.summary = "A small and lightweight library written in Swift that allows you to easily create forms" - s.homepage = "https://github.com/ortuman/SwiftForms" - s.license = { :type => "MIT", :file => "LICENSE" } - s.authors = "Miguel Ángel Ortuño" - s.ios.deployment_target = "8.0" - s.source = { :git => "https://github.com/ortuman/SwiftForms.git", :tag => '1.7' } - s.source_files = 'SwiftForms/*.swift','SwiftForms/descriptors/*.swift', 'SwiftForms/cells/base/*.swift', 'SwiftForms/cells/*.swift', 'SwiftForms/controllers/*.swift' -end diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift deleted file mode 100644 index 37356e8..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/FormErrorType.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// FormErrorType.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 2/1/16. -// Copyright © 2016 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -public enum FormErrorType: Error { - case sectionOutOfIndex - case rowOutOfIndex -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/Info.plist b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/Info.plist deleted file mode 100644 index f802798..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.6.2 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/SwiftForms.h b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/SwiftForms.h deleted file mode 100644 index b14d579..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/SwiftForms.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// SwiftForms.h -// SwiftForms -// -// Created by Miguel Angel Ortuno Ortuno on 14/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -#import - -//! Project version number for SwiftForms. -FOUNDATION_EXPORT double SwiftFormsVersionNumber; - -//! Project version string for SwiftForms. -FOUNDATION_EXPORT const unsigned char SwiftFormsVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift deleted file mode 100644 index 0d3dcdb..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormButtonCell.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// FormButtonCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 21/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormButtonCell: FormTitleCell { - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - titleLabel.textAlignment = .center - } - - open override func update() { - super.update() - titleLabel.text = rowDescriptor?.title - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift deleted file mode 100644 index 818c355..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormCheckCell.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// FormCheckCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 22/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormCheckCell: FormTitleCell { - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - selectionStyle = .default - accessoryType = .none - } - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - - var rowValue: Bool - if let value = rowDescriptor?.value as? Bool { - rowValue = value - } else { - rowValue = false - rowDescriptor?.value = rowValue as AnyObject - } - - accessoryType = (rowValue) ? .checkmark : .none - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormCheckCell else { return } - row.check() - } - - // MARK: Private interface - - fileprivate func check() { - var newValue: Bool - if let value = rowDescriptor?.value as? Bool { - newValue = !value - } - else { - newValue = true - } - rowDescriptor?.value = newValue as AnyObject - update() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift deleted file mode 100644 index e9093ec..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormDateCell.swift +++ /dev/null @@ -1,97 +0,0 @@ -// -// FormDateCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 22/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormDateCell: FormValueCell { - - // MARK: Properties - - fileprivate let datePicker = UIDatePicker() - fileprivate let hiddenTextField = UITextField(frame: CGRect.zero) - - fileprivate let defaultDateFormatter = DateFormatter() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - contentView.addSubview(hiddenTextField) - hiddenTextField.inputView = datePicker - datePicker.datePickerMode = .date - datePicker.addTarget(self, action: #selector(FormDateCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - if let showsInputToolbar = rowDescriptor?.configuration.cell.showsInputToolbar , showsInputToolbar && hiddenTextField.inputAccessoryView == nil { - hiddenTextField.inputAccessoryView = inputAccesoryView() - } - - titleLabel.text = rowDescriptor?.title - - if let rowType = rowDescriptor?.type { - switch rowType { - case .date: - datePicker.datePickerMode = .date - defaultDateFormatter.dateStyle = .long - defaultDateFormatter.timeStyle = .none - case .time: - datePicker.datePickerMode = .time - defaultDateFormatter.dateStyle = .none - defaultDateFormatter.timeStyle = .short - default: - datePicker.datePickerMode = .dateAndTime - defaultDateFormatter.dateStyle = .long - defaultDateFormatter.timeStyle = .short - } - } - - if let date = rowDescriptor?.value as? Date { - datePicker.date = date - valueLabel.text = getDateFormatter().string(from: date) - } - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormDateCell else { return } - - if row.rowDescriptor?.value == nil { - let date = Date() - row.rowDescriptor?.value = date as AnyObject - row.valueLabel.text = row.getDateFormatter().string(from: date) - row.update() - } - - row.hiddenTextField.becomeFirstResponder() - } - - open override func firstResponderElement() -> UIResponder? { - return hiddenTextField - } - - open override class func formRowCanBecomeFirstResponder() -> Bool { - return true - } - - // MARK: Actions - - internal func valueChanged(_ sender: UIDatePicker) { - rowDescriptor?.value = sender.date as AnyObject - valueLabel.text = getDateFormatter().string(from: sender.date) - update() - } - - // MARK: Private interface - - fileprivate func getDateFormatter() -> DateFormatter { - guard let dateFormatter = rowDescriptor?.configuration.date.dateFormatter else { return defaultDateFormatter } - return dateFormatter - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift deleted file mode 100644 index 5104b29..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormLabelCell.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// FormTextFieldCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 20/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -class FormLabelCell: FormValueCell { - - /// MARK: FormBaseCell - - override func configure() { - super.configure() - - accessoryType = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - valueLabel.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - valueLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - valueLabel.textColor = UIColor.lightGray - valueLabel.textAlignment = .right - - contentView.addSubview(titleLabel) - contentView.addSubview(valueLabel) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - titleLabel.setContentCompressionResistancePriority(1000, for: .horizontal) - - // apply constant constraints - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - } - - override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - valueLabel.text = rowDescriptor?.configuration.cell.placeholder - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift deleted file mode 100644 index 580cea9..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormPickerCell.swift +++ /dev/null @@ -1,104 +0,0 @@ -// -// FormPickerCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 22/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormPickerCell: FormValueCell, UIPickerViewDelegate, UIPickerViewDataSource { - - // MARK: Properties - - fileprivate let picker = UIPickerView() - fileprivate let hiddenTextField = UITextField(frame: CGRect.zero) - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - accessoryType = .none - - picker.delegate = self - picker.dataSource = self - hiddenTextField.inputView = picker - - contentView.addSubview(hiddenTextField) - } - - open override func update() { - super.update() - picker.reloadAllComponents() - - if let showsInputToolbar = rowDescriptor?.configuration.cell.showsInputToolbar , showsInputToolbar && hiddenTextField.inputAccessoryView == nil { - hiddenTextField.inputAccessoryView = inputAccesoryView() - } - - titleLabel.text = rowDescriptor?.title - - if let selectedValue = rowDescriptor?.value { - valueLabel.text = rowDescriptor?.configuration.selection.optionTitleClosure?(selectedValue) - if let options = rowDescriptor?.configuration.selection.options , !options.isEmpty { - var selectedIndex: Int? - for (index, value) in options.enumerated() { - if value === selectedValue { - selectedIndex = index - break - } - } - if let index = selectedIndex { - picker.selectRow(index, inComponent: 0, animated: false) - } - } - } - } - - open override func firstResponderElement() -> UIResponder? { - return hiddenTextField - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormPickerCell else { return } - - if selectedRow.rowDescriptor?.value == nil { - guard let options = selectedRow.rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - let value = options[0] - selectedRow.rowDescriptor?.value = value - row.valueLabel.text = selectedRow.rowDescriptor?.configuration.selection.optionTitleClosure?(value) - row.hiddenTextField.becomeFirstResponder() - } else { - guard let value = selectedRow.rowDescriptor?.value else { return } - row.valueLabel.text = selectedRow.rowDescriptor?.configuration.selection.optionTitleClosure?(value) - row.hiddenTextField.becomeFirstResponder() - } - } - - // MARK: UIPickerViewDelegate - - open func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return nil } - guard row < options.count else { return nil } - return rowDescriptor?.configuration.selection.optionTitleClosure?(options[row]) - } - - open func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - guard row < options.count else { return } - let newValue = options[row] - rowDescriptor?.value = newValue - valueLabel.text = rowDescriptor?.configuration.selection.optionTitleClosure?(newValue) - } - - // MARK: UIPickerViewDataSource - - open func numberOfComponents(in pickerView: UIPickerView) -> Int { - return 1 - } - - open func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { - guard let options = rowDescriptor?.configuration.selection.options else { return 0 } - return options.count - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift deleted file mode 100644 index b3f05d7..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift +++ /dev/null @@ -1,99 +0,0 @@ -// -// FormSegmentedControlCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 21/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormSegmentedControlCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let segmentedControl = UISegmentedControl() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject] = [] - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - segmentedControl.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.setContentCompressionResistancePriority(500, for: .horizontal) - segmentedControl.setContentCompressionResistancePriority(500, for: .horizontal) - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(segmentedControl) - - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: segmentedControl, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - segmentedControl.addTarget(self, action: #selector(FormSegmentedControlCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - updateSegmentedControl() - - guard let value = rowDescriptor?.value else { return } - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - - var idx = 0 - for optionValue in options { - if optionValue === value { - segmentedControl.selectedSegmentIndex = idx - break - } - idx += 1 - } - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "segmentedControl" : segmentedControl] - } - - open override func defaultVisualConstraints() -> [String] { - if let text = titleLabel.text , text.characters.count > 0 { - return ["H:|-16-[titleLabel]-16-[segmentedControl]-16-|"] - } else { - return ["H:|-16-[segmentedControl]-16-|"] - } - } - - // MARK: Actions - - internal func valueChanged(_ sender: UISegmentedControl) { - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - let value = options[sender.selectedSegmentIndex] - rowDescriptor?.value = value - } - - // MARK: Private - - fileprivate func updateSegmentedControl() { - segmentedControl.removeAllSegments() - - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - - var idx = 0 - for value in options { - let title = rowDescriptor?.configuration.selection.optionTitleClosure?(value) - segmentedControl.insertSegment(withTitle: title, at: idx, animated: false) - idx += 1 - } - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift deleted file mode 100644 index 7906778..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSelectorCell.swift +++ /dev/null @@ -1,63 +0,0 @@ -// -// FormSelectorCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormSelectorCell: FormValueCell { - - // MARK: FormBaseCell - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - - var title: String? - if let multipleValues = rowDescriptor?.value as? [AnyObject] { - var multipleValuesTitle = "" - for (index, selectedValue) in multipleValues.enumerated() { - guard let selectedValueTitle = rowDescriptor?.configuration.selection.optionTitleClosure?(selectedValue) else { continue } - if index != 0 { - multipleValuesTitle += ", " - } - multipleValuesTitle += selectedValueTitle - } - title = multipleValuesTitle - } else if let singleValue = rowDescriptor?.value { - title = rowDescriptor?.configuration.selection.optionTitleClosure?(singleValue) - } - - if let title = title , title.characters.count > 0 { - valueLabel.text = title - valueLabel.textColor = UIColor.black - } else { - valueLabel.text = rowDescriptor?.configuration.cell.placeholder - valueLabel.textColor = UIColor.lightGray - } - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormSelectorCell else { return } - - formViewController.view.endEditing(true) - - var selectorControllerClass: UIViewController.Type - - if let controllerClass = row.rowDescriptor?.configuration.selection.controllerClass as? UIViewController.Type { - selectorControllerClass = controllerClass - } else { // fallback to default cell class - selectorControllerClass = FormOptionsSelectorController.self - } - - let selectorController = selectorControllerClass.init() - guard let formRowDescriptorViewController = selectorController as? FormSelector else { return } - - formRowDescriptorViewController.formCell = row - formViewController.navigationController?.pushViewController(selectorController, animated: true) - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift deleted file mode 100644 index 7466df0..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSliderCell.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// FormSliderCell.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 23/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -import UIKit - -open class FormSliderCell: FormTitleCell { - - // MARK: Cell views - - open let sliderView = UISlider() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - sliderView.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(sliderView) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: sliderView, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - sliderView.addTarget(self, action: #selector(FormSliderCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - if let maximumValue = rowDescriptor?.configuration.stepper.maximumValue { sliderView.maximumValue = Float(maximumValue) } - if let minimumValue = rowDescriptor?.configuration.stepper.minimumValue { sliderView.minimumValue = Float(minimumValue) } - if let continuous = rowDescriptor?.configuration.stepper.continuous { sliderView.isContinuous = continuous } - - titleLabel.text = rowDescriptor?.title - - if let value = rowDescriptor?.value as? Float { - sliderView.value = value - } else { - sliderView.value = sliderView.minimumValue - rowDescriptor?.value = sliderView.minimumValue as AnyObject - } - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "sliderView" : sliderView] - } - - open override func defaultVisualConstraints() -> [String] { - var constraints: [String] = [] - - constraints.append("V:|[titleLabel]|") - constraints.append("H:|-16-[titleLabel]-16-[sliderView]-16-|") - - return constraints - } - - // MARK: Actions - - internal func valueChanged(_: UISlider) { - rowDescriptor?.value = sliderView.value as AnyObject - update() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift deleted file mode 100644 index 16a021e..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormStepperCell.swift +++ /dev/null @@ -1,82 +0,0 @@ -// -// FormStepperCell.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 23/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -import UIKit - -open class FormStepperCell: FormTitleCell { - - // MARK: Cell views - - open let stepperView = UIStepper() - open let countLabel = UILabel() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - stepperView.translatesAutoresizingMaskIntoConstraints = false - countLabel.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - countLabel.textAlignment = .right - - contentView.addSubview(titleLabel) - contentView.addSubview(countLabel) - contentView.addSubview(stepperView) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: stepperView, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - stepperView.addTarget(self, action: #selector(FormStepperCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - if let maximumValue = rowDescriptor?.configuration.stepper.maximumValue { stepperView.maximumValue = maximumValue } - if let minimumValue = rowDescriptor?.configuration.stepper.minimumValue { stepperView.minimumValue = minimumValue } - if let steps = rowDescriptor?.configuration.stepper.steps { stepperView.stepValue = steps } - - titleLabel.text = rowDescriptor?.title - - if let value = rowDescriptor?.value as? Double { - stepperView.value = value - countLabel.text = String(value) - } else { - stepperView.value = stepperView.minimumValue - rowDescriptor?.value = stepperView.minimumValue as AnyObject - countLabel.text = String(stepperView.minimumValue) - } - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "countLabel" : countLabel, "stepperView" : stepperView] - } - - open override func defaultVisualConstraints() -> [String] { - var constraints: [String] = [] - - constraints.append("V:|[titleLabel]|") - constraints.append("V:|[countLabel]|") - - constraints.append("H:|-16-[titleLabel][countLabel]-[stepperView]-16-|") - return constraints - } - - // MARK: Actions - - internal func valueChanged(_: UISwitch) { - rowDescriptor?.value = stepperView.value as AnyObject - update() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift deleted file mode 100644 index 064eccf..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormSwitchCell.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// FormSwitchCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 21/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormSwitchCell: FormTitleCell { - - // MARK: Cell views - - open let switchView = UISwitch() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - switchView.addTarget(self, action: #selector(FormSwitchCell.valueChanged(_:)), for: .valueChanged) - accessoryView = switchView - } - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - - if let value = rowDescriptor?.value as? Bool { - switchView.isOn = value - } else { - switchView.isOn = false - rowDescriptor?.value = false as AnyObject - } - } - - // MARK: Actions - - internal func valueChanged(_: UISwitch) { - rowDescriptor?.value = switchView.isOn as AnyObject - update() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift deleted file mode 100644 index 63b4cc7..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift +++ /dev/null @@ -1,148 +0,0 @@ -// -// FormTextFieldCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormTextFieldCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let textField = UITextField() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject] = [] - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - textField.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - textField.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(textField) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - titleLabel.setContentCompressionResistancePriority(1000, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - textField.addTarget(self, action: #selector(FormTextFieldCell.editingChanged(_:)), for: .editingChanged) - } - - open override func update() { - super.update() - - if let showsInputToolbar = rowDescriptor?.configuration.cell.showsInputToolbar , showsInputToolbar && textField.inputAccessoryView == nil { - textField.inputAccessoryView = inputAccesoryView() - } - - titleLabel.text = rowDescriptor?.title - textField.text = rowDescriptor?.value as? String - textField.placeholder = rowDescriptor?.configuration.cell.placeholder - - textField.isSecureTextEntry = false - textField.clearButtonMode = .whileEditing - - if let type = rowDescriptor?.type { - switch type { - case .text: - textField.autocorrectionType = .default - textField.autocapitalizationType = .sentences - textField.keyboardType = .default - case .number: - textField.keyboardType = .numberPad - case .numbersAndPunctuation: - textField.keyboardType = .numbersAndPunctuation - case .decimal: - textField.keyboardType = .decimalPad - case .name: - textField.autocorrectionType = .no - textField.autocapitalizationType = .words - textField.keyboardType = .default - case .phone: - textField.keyboardType = .phonePad - case .namePhone: - textField.autocorrectionType = .no - textField.autocapitalizationType = .words - textField.keyboardType = .namePhonePad - case .url: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .URL - case .twitter: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .twitter - case .email: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .emailAddress - case .asciiCapable: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .asciiCapable - case .password: - textField.isSecureTextEntry = true - textField.clearsOnBeginEditing = false - default: - break - } - } - } - - open override func constraintsViews() -> [String : UIView] { - var views = ["titleLabel" : titleLabel, "textField" : textField] - if self.imageView!.image != nil { - views["imageView"] = imageView - } - return views - } - - open override func defaultVisualConstraints() -> [String] { - if self.imageView!.image != nil { - if titleLabel.text != nil && (titleLabel.text!).characters.count > 0 { - return ["H:[imageView]-[titleLabel]-[textField]-16-|"] - } else { - return ["H:[imageView]-[textField]-16-|"] - } - } else { - if titleLabel.text != nil && (titleLabel.text!).characters.count > 0 { - return ["H:|-16-[titleLabel]-[textField]-16-|"] - } else { - return ["H:|-16-[textField]-16-|"] - } - } - } - - open override func firstResponderElement() -> UIResponder? { - return textField - } - - open override class func formRowCanBecomeFirstResponder() -> Bool { - return true - } - - // MARK: Actions - - internal func editingChanged(_ sender: UITextField) { - guard let text = sender.text, text.characters.count > 0 else { rowDescriptor?.value = nil; update(); return } - rowDescriptor?.value = text as AnyObject - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift deleted file mode 100644 index 179463d..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/FormTextViewCell.swift +++ /dev/null @@ -1,96 +0,0 @@ -// -// FormTextViewCell.swift -// SwiftForms -// -// Created by Joey Padot on 12/6/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormTextViewCell : FormBaseCell, UITextViewDelegate { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let textField = UITextView() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject]! - - // MARK: Class Funcs - - open override class func formRowCellHeight() -> CGFloat { - return 110.0 - } - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - textField.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - textField.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(textField) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .top, relatedBy: .equal, toItem: contentView, attribute: .top, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .bottom, relatedBy: .equal, toItem: contentView, attribute: .bottom, multiplier: 1.0, constant: 0.0)) - - textField.delegate = self - } - - open override func update() { - - titleLabel.text = rowDescriptor?.title - textField.text = rowDescriptor?.value as? String - - textField.isSecureTextEntry = false - textField.autocorrectionType = .default - textField.autocapitalizationType = .sentences - textField.keyboardType = .default - } - - open override func constraintsViews() -> [String : UIView] { - var views = ["titleLabel" : titleLabel, "textField" : textField] - if self.imageView!.image != nil { - views["imageView"] = imageView - } - return views - } - - open override func defaultVisualConstraints() -> [String] { - if self.imageView!.image != nil { - if let text = titleLabel.text , text.characters.count > 0 { - return ["H:[imageView]-[titleLabel]-[textField]-16-|"] - } else { - return ["H:[imageView]-[textField]-16-|"] - } - } else { - if let text = titleLabel.text , text.characters.count > 0 { - return ["H:|-16-[titleLabel]-[textField]-16-|"] - } else { - return ["H:|-16-[textField]-16-|"] - } - } - } - - // MARK: UITextViewDelegate - - open func textViewDidChange(_ textView: UITextView) { - guard let text = textView.text , text.characters.count > 0 else { rowDescriptor?.value = nil; update(); return } - rowDescriptor?.value = text as AnyObject - update() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift deleted file mode 100644 index e294eb1..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift +++ /dev/null @@ -1,119 +0,0 @@ -// -// FormBaseCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormBaseCell: UITableViewCell { - - // MARK: Properties - - open var rowDescriptor: FormRowDescriptor? { - didSet { - self.update() - } - } - - open weak var formViewController: FormViewController? - - fileprivate var customConstraints: [NSLayoutConstraint] = [] - - // MARK: Init - - public required override init(style: UITableViewCellStyle, reuseIdentifier: String!) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - } - - public required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - // MARK: Public interface - - open func configure() { - /// override - } - - open func update() { - /// override - } - - open func defaultVisualConstraints() -> [String] { - /// override - return [] - } - - open func constraintsViews() -> [String : UIView] { - /// override - return [:] - } - - open func firstResponderElement() -> UIResponder? { - /// override - return nil - } - - open func inputAccesoryView() -> UIToolbar { - - let actionBar = UIToolbar() - actionBar.isTranslucent = true - actionBar.sizeToFit() - actionBar.barStyle = .default - - let doneButton = UIBarButtonItem(title: NSLocalizedString("Done", comment: ""), style: .done, target: self, action: #selector(FormBaseCell.handleDoneAction(_:))) - - let flexible = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) - actionBar.items = [flexible, doneButton] - - return actionBar - } - - internal func handleDoneAction(_: UIBarButtonItem) { - firstResponderElement()?.resignFirstResponder() - } - - open class func formRowCellHeight() -> CGFloat { - return 44.0 - } - - open class func formRowCanBecomeFirstResponder() -> Bool { - return false - } - - open class func formViewController(_ formViewController: FormViewController, didSelectRow: FormBaseCell) { - } - - // MARK: Constraints - - open override func updateConstraints() { - if customConstraints.count > 0 { - contentView.removeConstraints(customConstraints) - } - - let views = constraintsViews() - - customConstraints.removeAll() - - var visualConstraints = [String]() - - if let visualConstraintsClosure = rowDescriptor?.configuration.cell.visualConstraintsClosure { - visualConstraints = visualConstraintsClosure(self) - } else { - visualConstraints = defaultVisualConstraints() - } - - for visualConstraint in visualConstraints { - let constraints = NSLayoutConstraint.constraints(withVisualFormat: visualConstraint, options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) - for constraint in constraints { - customConstraints.append(constraint) - } - } - - contentView.addConstraints(customConstraints) - super.updateConstraints() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift deleted file mode 100644 index aefe09d..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// FormTitleCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 13/11/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormTitleCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - // apply constant constraints - contentView.addSubview(titleLabel) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel] - } - - open override func defaultVisualConstraints() -> [String] { - return ["H:|-16-[titleLabel]-16-|"] - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift deleted file mode 100644 index db28b10..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/cells/base/FormValueCell.swift +++ /dev/null @@ -1,70 +0,0 @@ -// -// FormValueCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 13/11/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormValueCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let valueLabel = UILabel() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject]! - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - accessoryType = .disclosureIndicator - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - valueLabel.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - valueLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - valueLabel.textColor = UIColor.lightGray - valueLabel.textAlignment = .right - - contentView.addSubview(titleLabel) - contentView.addSubview(valueLabel) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - titleLabel.setContentCompressionResistancePriority(1000, for: .horizontal) - - // apply constant constraints - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "valueLabel" : valueLabel] - } - - open override func defaultVisualConstraints() -> [String] { - - // apply default constraints - var rightPadding = 0 - if accessoryType == .none { - rightPadding = 16 - } - - if titleLabel.text != nil && (titleLabel.text!).characters.count > 0 { - return ["H:|-16-[titleLabel]-[valueLabel]-\(rightPadding)-|"] - } - else { - return ["H:|-16-[valueLabel]-\(rightPadding)-|"] - } - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift deleted file mode 100644 index 1146359..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift +++ /dev/null @@ -1,125 +0,0 @@ -// -// FormOptionsSelectorController.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormOptionsSelectorController: UITableViewController, FormSelector { - - // MARK: FormSelector - - open var formCell: FormBaseCell? - - // MARK: Init - - public init() { - super.init(style: .grouped) - } - - public required init(coder aDecoder: NSCoder) { - super.init(coder: aDecoder)! - } - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) - } - - open override func viewDidLoad() { - super.viewDidLoad() - self.navigationItem.title = formCell?.rowDescriptor?.title - } - - // MARK: UITableViewDataSource - - open override func numberOfSections(in tableView: UITableView) -> Int { - return 1 - } - - open override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let options = formCell?.rowDescriptor?.configuration.selection.options , !options.isEmpty else { return 0 } - return options.count - } - - open override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return 0.1 - } - - open override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - - let reuseIdentifier = NSStringFromClass(type(of: self)) - - var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) - if cell == nil { - cell = UITableViewCell(style: .default, reuseIdentifier: reuseIdentifier) - } - - let options = formCell!.rowDescriptor!.configuration.selection.options - let optionValue = options[(indexPath as NSIndexPath).row] - - cell?.textLabel?.text = formCell?.rowDescriptor?.configuration.selection.optionTitleClosure?(optionValue) - - if let selectedOptions = formCell?.rowDescriptor?.value as? [AnyObject] { - if let _ = selectedOptions.index(where: { $0 === optionValue }) { - cell?.accessoryType = .checkmark - } else { - cell?.accessoryType = .none - } - - } else if let selectedOption = formCell?.rowDescriptor?.value { - if optionValue === selectedOption { - cell?.accessoryType = .checkmark - } else { - cell?.accessoryType = .none - } - } - - return cell! - } - - // MARK: UITableViewDelegate - - open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - - let cell = tableView.cellForRow(at: indexPath) - - var allowsMultipleSelection = false - if let allowsMultipleSelectionValue = formCell?.rowDescriptor?.configuration.selection.allowsMultipleSelection { - allowsMultipleSelection = allowsMultipleSelectionValue - } - - let options = formCell!.rowDescriptor!.configuration.selection.options - let selectedOption = options[(indexPath as NSIndexPath).row] - - if allowsMultipleSelection { - if var selectedOptions = formCell?.rowDescriptor?.value as? [AnyObject] { - if let index = selectedOptions.index(where: { $0 === selectedOption }) { - selectedOptions.remove(at: index) - cell?.accessoryType = .none - } else { - selectedOptions.append(selectedOption) - cell?.accessoryType = .checkmark - } - formCell?.rowDescriptor?.value = selectedOptions as AnyObject - - } else { - formCell?.rowDescriptor?.value = [AnyObject](arrayLiteral: selectedOption) as AnyObject - cell?.accessoryType = .checkmark - } - - } else { - formCell?.rowDescriptor?.value = selectedOption - } - - formCell?.update() - - if allowsMultipleSelection { - tableView.deselectRow(at: indexPath, animated: true) - } else { - let _ = self.navigationController?.popViewController(animated: true) - } - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift deleted file mode 100644 index 0032995..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormSelector.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// FormSelector.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -@objc public protocol FormSelector: NSObjectProtocol { - var formCell: FormBaseCell? { get set } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift deleted file mode 100644 index 79c488e..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/controllers/FormViewController.swift +++ /dev/null @@ -1,225 +0,0 @@ -// -// FormViewController.swift -// SwiftForms -// -// Created by Miguel Angel Ortuño on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormViewController : UITableViewController { - - private static var __once: () = { - FormViewController.defaultCellClasses[.text] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.label] = FormLabelCell.self - FormViewController.defaultCellClasses[.number] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.numbersAndPunctuation] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.decimal] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.name] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.phone] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.url] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.twitter] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.namePhone] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.email] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.asciiCapable] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.password] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.button] = FormButtonCell.self - FormViewController.defaultCellClasses[.booleanSwitch] = FormSwitchCell.self - FormViewController.defaultCellClasses[.booleanCheck] = FormCheckCell.self - FormViewController.defaultCellClasses[.segmentedControl] = FormSegmentedControlCell.self - FormViewController.defaultCellClasses[.picker] = FormPickerCell.self - FormViewController.defaultCellClasses[.date] = FormDateCell.self - FormViewController.defaultCellClasses[.time] = FormDateCell.self - FormViewController.defaultCellClasses[.dateAndTime] = FormDateCell.self - FormViewController.defaultCellClasses[.stepper] = FormStepperCell.self - FormViewController.defaultCellClasses[.slider] = FormSliderCell.self - FormViewController.defaultCellClasses[.multipleSelector] = FormSelectorCell.self - FormViewController.defaultCellClasses[.multilineText] = FormTextViewCell.self - }() - - // MARK: Class variables - - fileprivate static var onceDefaultCellClass: Int = 0 - fileprivate static var defaultCellClasses: [FormRowDescriptor.RowType : FormBaseCell.Type] = [:] - - // MARK: Properties - - open var form = FormDescriptor() - - // MARK: Init - - public convenience init() { - self.init(style: .grouped) - } - - public convenience init(form: FormDescriptor) { - self.init(style: .grouped) - self.form = form - } - - public override init(style: UITableViewStyle) { - super.init(style: style) - } - - public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) - } - - public required init(coder aDecoder: NSCoder) { - super.init(coder: aDecoder)! - } - - // MARK: View life cycle - - open override func viewDidLoad() { - super.viewDidLoad() - navigationItem.title = form.title - } - - // MARK: Public interface - - open func valueForTag(_ tag: String) -> AnyObject? { - for section in form.sections { - for row in section.rows { - if row.tag == tag { - return row.value - } - } - } - return nil - } - - open func setValue(_ value: AnyObject, forTag tag: String) { - for (sectionIndex, section) in form.sections.enumerated() { - for (rowIndex, row) in section.rows.enumerated() { - if row.tag == tag { - form.sections[sectionIndex].rows[rowIndex].value = value - if let cell = self.tableView.cellForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) as? FormBaseCell { - cell.update() - } - return - } - } - } - } - - // MARK: UITableViewDataSource - - open override func numberOfSections(in tableView: UITableView) -> Int { - return form.sections.count - } - - open override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return form.sections[section].rows.count - } - - open override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - - let rowDescriptor = formRowDescriptorAtIndexPath(indexPath) - - let formBaseCellClass = formBaseCellClassFromRowDescriptor(rowDescriptor) - - let reuseIdentifier = NSStringFromClass(formBaseCellClass!) - - var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) as? FormBaseCell - if cell == nil { - cell = formBaseCellClass?.init(style: .default, reuseIdentifier: reuseIdentifier) - cell?.formViewController = self - cell?.configure() - } - - cell?.rowDescriptor = rowDescriptor - - // apply cell custom design - for (keyPath, value) in rowDescriptor.configuration.cell.appearance { - cell?.setValue(value, forKeyPath: keyPath) - } - return cell! - } - - open override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - return form.sections[section].headerTitle - } - - open override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? { - return form.sections[section].footerTitle - } - - open override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { - guard let headerView = form.sections[section].headerView else { return nil } - return headerView - } - - open override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - guard let footerView = form.sections[section].footerView else { return nil } - return footerView - } - - open override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - guard let headerView = form.sections[section].headerView , headerView.translatesAutoresizingMaskIntoConstraints else { - return form.sections[section].headerViewHeight - } - return headerView.frame.size.height - } - - open override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { - guard let footerView = form.sections[section].footerView , footerView.translatesAutoresizingMaskIntoConstraints else { - return form.sections[section].footerViewHeight - } - return footerView.frame.size.height - } - - // MARK: UITableViewDelegate - - open override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - - let rowDescriptor = formRowDescriptorAtIndexPath(indexPath) - - if let formBaseCellClass = formBaseCellClassFromRowDescriptor(rowDescriptor) { - return formBaseCellClass.formRowCellHeight() - } - return super.tableView(tableView, heightForRowAt: indexPath) - } - - open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - - let rowDescriptor = formRowDescriptorAtIndexPath(indexPath) - - if let selectedRow = tableView.cellForRow(at: indexPath) as? FormBaseCell { - if let formBaseCellClass = formBaseCellClassFromRowDescriptor(rowDescriptor) { - formBaseCellClass.formViewController(self, didSelectRow: selectedRow) - } - } - - if let didSelectClosure = rowDescriptor.configuration.button.didSelectClosure { - didSelectClosure(rowDescriptor) - } - - tableView.deselectRow(at: indexPath, animated: true) - } - - fileprivate class func defaultCellClassForRowType(_ rowType: FormRowDescriptor.RowType) -> FormBaseCell.Type { - _ = FormViewController.__once - return FormViewController.defaultCellClasses[rowType]! - } - - fileprivate func formRowDescriptorAtIndexPath(_ indexPath: IndexPath) -> FormRowDescriptor { - - let section = form.sections[(indexPath as NSIndexPath).section] - let rowDescriptor = section.rows[(indexPath as NSIndexPath).row] - return rowDescriptor - } - - fileprivate func formBaseCellClassFromRowDescriptor(_ rowDescriptor: FormRowDescriptor) -> FormBaseCell.Type! { - - var formBaseCellClass: FormBaseCell.Type - - if let cellClass = rowDescriptor.configuration.cell.cellClass as? FormBaseCell.Type { - formBaseCellClass = cellClass - } else { - formBaseCellClass = FormViewController.defaultCellClassForRowType(rowDescriptor.type) - } - return formBaseCellClass - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift deleted file mode 100644 index fbe7980..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// FormDescriptor.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -public final class FormDescriptor { - - // MARK: Properties - - public var title: String - public var sections: [FormSectionDescriptor] = [] - - // MARK: Init - - public init() { - self.title = "" - } - - public init(title: String) { - self.title = title - } - - // MARK: Public - - public func formValues() -> [String : AnyObject] { - - var formValues: [String : AnyObject] = [:] - - for section in sections { - for row in section.rows { - if row.type != .button { - if let value = row.value { - formValues[row.tag] = value - } else { - formValues[row.tag] = NSNull() - } - } - } - } - return formValues - } - - public func validateForm() -> FormRowDescriptor? { - for section in sections { - for row in section.rows { - if row.configuration.cell.required && row.value == nil { - return row - } - } - } - return nil - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift deleted file mode 100644 index 9760ca3..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift +++ /dev/null @@ -1,159 +0,0 @@ -// -// FormRowDescriptor.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -public final class FormRowDescriptor { - - // MARK: Types - - public enum RowType { - case unknown - case label - case text - case url - case number - case numbersAndPunctuation - case decimal - case name - case phone - case namePhone - case email - case twitter - case asciiCapable - case password - case button - case booleanSwitch - case booleanCheck - case segmentedControl - case picker - case date - case time - case dateAndTime - case stepper - case slider - case multipleSelector - case multilineText - } - - public struct CellConfiguration { - public var cellClass: AnyClass? - public var appearance: [String : AnyObject] - public var placeholder: String? - public var showsInputToolbar: Bool - public var required: Bool - public var willUpdateClosure: ((FormRowDescriptor) -> Void)? - public var didUpdateClosure: ((FormRowDescriptor) -> Void)? - public var visualConstraintsClosure: ((FormBaseCell) -> [String])? - - public init() { - cellClass = nil - appearance = [:] - placeholder = nil - showsInputToolbar = false - required = true - willUpdateClosure = nil - didUpdateClosure = nil - visualConstraintsClosure = nil - } - } - - public struct SelectionConfiguration { - public var controllerClass: AnyClass? - public var options: [AnyObject] - public var optionTitleClosure: ((AnyObject) -> String)? - public var allowsMultipleSelection: Bool - - public init() { - controllerClass = nil - options = [] - optionTitleClosure = nil - allowsMultipleSelection = false - } - } - - public struct ButtonConfiguration { - public var didSelectClosure: ((FormRowDescriptor) -> Void)? - - public init() { - didSelectClosure = nil - } - } - - public struct StepperConfiguration { - public var maximumValue: Double - public var minimumValue: Double - public var steps: Double - public var continuous: Bool - - public init() { - maximumValue = 0.0 - minimumValue = 0.0 - steps = 0.0 - continuous = false - } - } - - public struct DateConfiguration { - public var dateFormatter: DateFormatter? - } - - public struct RowConfiguration { - public var cell: CellConfiguration - public var selection: SelectionConfiguration - public var button: ButtonConfiguration - public var stepper: StepperConfiguration - public var date: DateConfiguration - public var userInfo: [String : AnyObject] - - init() { - cell = CellConfiguration() - selection = SelectionConfiguration() - button = ButtonConfiguration() - stepper = StepperConfiguration() - date = DateConfiguration() - userInfo = [:] - } - } - - // MARK: Properties - - public let tag: String - public let type: RowType - - public var title: String? - - public var value: AnyObject? { - willSet { - guard let willUpdateBlock = configuration.cell.willUpdateClosure else { return } - willUpdateBlock(self) - } - didSet { - guard let didUpdateBlock = configuration.cell.didUpdateClosure else { return } - didUpdateBlock(self) - } - } - - public var configuration: RowConfiguration - - // MARK: Init - - public init(tag: String, type: RowType, title: String, configuration: RowConfiguration) { - self.tag = tag - self.type = type - self.title = title - self.configuration = configuration - } - - public init(tag: String, type: RowType, title: String) { - self.tag = tag - self.type = type - self.title = title - self.configuration = RowConfiguration() - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift deleted file mode 100644 index 7db6681..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// FormSectionDescriptor.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -public final class FormSectionDescriptor { - - // MARK: Properties - - public var rows: [FormRowDescriptor] = [] - - public var headerTitle: String? - public var footerTitle: String? - - public var headerView: UIView? - public var footerView: UIView? - - public var headerViewHeight: CGFloat = UITableViewAutomaticDimension - public var footerViewHeight: CGFloat = UITableViewAutomaticDimension - - // MARK: Init - - public init(headerTitle: String?, footerTitle: String?) { - self.headerTitle = headerTitle - self.footerTitle = footerTitle - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication.xcodeproj/project.pbxproj b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication.xcodeproj/project.pbxproj deleted file mode 100644 index c394a40..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication.xcodeproj/project.pbxproj +++ /dev/null @@ -1,622 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 0C9D1DF31D2267EE00909941 /* FormOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C9D1DF21D2267EE00909941 /* FormOptionsViewController.swift */; }; - 0CB1F6C31C37F9B900CD2A7B /* FormErrorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB1F6C21C37F9B900CD2A7B /* FormErrorType.swift */; }; - 0CCA33DD1B04FA5A006D9666 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA33DC1B04FA5A006D9666 /* AppDelegate.swift */; }; - 0CCA33DF1B04FA5A006D9666 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA33DE1B04FA5A006D9666 /* ViewController.swift */; }; - 0CCA33E21B04FA5A006D9666 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0CCA33E01B04FA5A006D9666 /* Main.storyboard */; }; - 0CCA33E41B04FA5A006D9666 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0CCA33E31B04FA5A006D9666 /* Images.xcassets */; }; - 0CCA34141B04FAD3006D9666 /* ExampleFormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA33FC1B04FAD3006D9666 /* ExampleFormViewController.swift */; }; - 0CCA34311B04FBE0006D9666 /* SwiftForms.h in Headers */ = {isa = PBXBuildFile; fileRef = 0CCA34301B04FBE0006D9666 /* SwiftForms.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0CCA34431B04FBE0006D9666 /* SwiftForms.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0CCA342C1B04FBDF006D9666 /* SwiftForms.framework */; }; - 0CCA34441B04FBE0006D9666 /* SwiftForms.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 0CCA342C1B04FBDF006D9666 /* SwiftForms.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 0CCA34611B0502B5006D9666 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0CCA34601B0502B5006D9666 /* Launch.storyboard */; }; - 0CCA34781B050525006D9666 /* FormBaseCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34641B050525006D9666 /* FormBaseCell.swift */; }; - 0CCA34791B050525006D9666 /* FormTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34651B050525006D9666 /* FormTitleCell.swift */; }; - 0CCA347A1B050525006D9666 /* FormValueCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34661B050525006D9666 /* FormValueCell.swift */; }; - 0CCA347B1B050525006D9666 /* FormButtonCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34671B050525006D9666 /* FormButtonCell.swift */; }; - 0CCA347C1B050525006D9666 /* FormCheckCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34681B050525006D9666 /* FormCheckCell.swift */; }; - 0CCA347D1B050525006D9666 /* FormDateCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34691B050525006D9666 /* FormDateCell.swift */; }; - 0CCA347E1B050525006D9666 /* FormPickerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA346A1B050525006D9666 /* FormPickerCell.swift */; }; - 0CCA347F1B050525006D9666 /* FormSegmentedControlCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA346B1B050525006D9666 /* FormSegmentedControlCell.swift */; }; - 0CCA34801B050525006D9666 /* FormSelectorCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA346C1B050525006D9666 /* FormSelectorCell.swift */; }; - 0CCA34811B050525006D9666 /* FormSwitchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA346D1B050525006D9666 /* FormSwitchCell.swift */; }; - 0CCA34821B050525006D9666 /* FormTextFieldCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA346E1B050525006D9666 /* FormTextFieldCell.swift */; }; - 0CCA34831B050525006D9666 /* FormTextViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA346F1B050525006D9666 /* FormTextViewCell.swift */; }; - 0CCA34851B050525006D9666 /* FormSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34721B050525006D9666 /* FormSelector.swift */; }; - 0CCA34861B050525006D9666 /* FormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34731B050525006D9666 /* FormViewController.swift */; }; - 0CCA34871B050525006D9666 /* FormDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34751B050525006D9666 /* FormDescriptor.swift */; }; - 0CCA34881B050525006D9666 /* FormRowDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34761B050525006D9666 /* FormRowDescriptor.swift */; }; - 0CCA34891B050525006D9666 /* FormSectionDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CCA34771B050525006D9666 /* FormSectionDescriptor.swift */; }; - 0CDBB4F11B10699A00BE6ACF /* FormStepperCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBB4F01B10699A00BE6ACF /* FormStepperCell.swift */; }; - 0CDBB4F31B10724600BE6ACF /* FormSliderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CDBB4F21B10724600BE6ACF /* FormSliderCell.swift */; }; - BDD1087A1C925D14000EDEE5 /* FormLabelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDD108791C925D14000EDEE5 /* FormLabelCell.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 0CCA34411B04FBE0006D9666 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 0CCA33CF1B04FA5A006D9666 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 0CCA342B1B04FBDF006D9666; - remoteInfo = SwiftForms; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 0CCA34481B04FBE0006D9666 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 0CCA34441B04FBE0006D9666 /* SwiftForms.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - -/* Begin PBXFileReference section */ - 0C9D1DF21D2267EE00909941 /* FormOptionsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormOptionsViewController.swift; sourceTree = ""; }; - 0CB1F6C21C37F9B900CD2A7B /* FormErrorType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormErrorType.swift; sourceTree = ""; }; - 0CCA33D71B04FA5A006D9666 /* SwiftFormsApplication.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftFormsApplication.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 0CCA33DB1B04FA5A006D9666 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0CCA33DC1B04FA5A006D9666 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 0CCA33DE1B04FA5A006D9666 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - 0CCA33E11B04FA5A006D9666 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 0CCA33E31B04FA5A006D9666 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; - 0CCA33FC1B04FAD3006D9666 /* ExampleFormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExampleFormViewController.swift; sourceTree = ""; }; - 0CCA342C1B04FBDF006D9666 /* SwiftForms.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftForms.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 0CCA342F1B04FBE0006D9666 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0CCA34301B04FBE0006D9666 /* SwiftForms.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SwiftForms.h; sourceTree = ""; }; - 0CCA343E1B04FBE0006D9666 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 0CCA343F1B04FBE0006D9666 /* SwiftFormsTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftFormsTests.swift; sourceTree = ""; }; - 0CCA34601B0502B5006D9666 /* Launch.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Launch.storyboard; sourceTree = ""; }; - 0CCA34641B050525006D9666 /* FormBaseCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormBaseCell.swift; sourceTree = ""; }; - 0CCA34651B050525006D9666 /* FormTitleCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormTitleCell.swift; sourceTree = ""; }; - 0CCA34661B050525006D9666 /* FormValueCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormValueCell.swift; sourceTree = ""; }; - 0CCA34671B050525006D9666 /* FormButtonCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormButtonCell.swift; sourceTree = ""; }; - 0CCA34681B050525006D9666 /* FormCheckCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormCheckCell.swift; sourceTree = ""; }; - 0CCA34691B050525006D9666 /* FormDateCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormDateCell.swift; sourceTree = ""; }; - 0CCA346A1B050525006D9666 /* FormPickerCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormPickerCell.swift; sourceTree = ""; }; - 0CCA346B1B050525006D9666 /* FormSegmentedControlCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSegmentedControlCell.swift; sourceTree = ""; }; - 0CCA346C1B050525006D9666 /* FormSelectorCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSelectorCell.swift; sourceTree = ""; }; - 0CCA346D1B050525006D9666 /* FormSwitchCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSwitchCell.swift; sourceTree = ""; }; - 0CCA346E1B050525006D9666 /* FormTextFieldCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormTextFieldCell.swift; sourceTree = ""; }; - 0CCA346F1B050525006D9666 /* FormTextViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormTextViewCell.swift; sourceTree = ""; }; - 0CCA34721B050525006D9666 /* FormSelector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSelector.swift; sourceTree = ""; }; - 0CCA34731B050525006D9666 /* FormViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormViewController.swift; sourceTree = ""; }; - 0CCA34751B050525006D9666 /* FormDescriptor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormDescriptor.swift; sourceTree = ""; }; - 0CCA34761B050525006D9666 /* FormRowDescriptor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormRowDescriptor.swift; sourceTree = ""; }; - 0CCA34771B050525006D9666 /* FormSectionDescriptor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSectionDescriptor.swift; sourceTree = ""; }; - 0CDBB4F01B10699A00BE6ACF /* FormStepperCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormStepperCell.swift; sourceTree = ""; }; - 0CDBB4F21B10724600BE6ACF /* FormSliderCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormSliderCell.swift; sourceTree = ""; }; - BDD108791C925D14000EDEE5 /* FormLabelCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FormLabelCell.swift; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 0CCA33D41B04FA5A006D9666 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CCA34431B04FBE0006D9666 /* SwiftForms.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0CCA34281B04FBDF006D9666 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 0CCA33CE1B04FA5A006D9666 = { - isa = PBXGroup; - children = ( - 0CCA33D91B04FA5A006D9666 /* SwiftFormsApplication */, - 0CCA342D1B04FBE0006D9666 /* SwiftForms */, - 0CCA343C1B04FBE0006D9666 /* SwiftFormsTests */, - 0CCA33D81B04FA5A006D9666 /* Products */, - ); - sourceTree = ""; - }; - 0CCA33D81B04FA5A006D9666 /* Products */ = { - isa = PBXGroup; - children = ( - 0CCA33D71B04FA5A006D9666 /* SwiftFormsApplication.app */, - 0CCA342C1B04FBDF006D9666 /* SwiftForms.framework */, - ); - name = Products; - sourceTree = ""; - }; - 0CCA33D91B04FA5A006D9666 /* SwiftFormsApplication */ = { - isa = PBXGroup; - children = ( - 0CCA33FC1B04FAD3006D9666 /* ExampleFormViewController.swift */, - 0CCA33DC1B04FA5A006D9666 /* AppDelegate.swift */, - 0CCA33DE1B04FA5A006D9666 /* ViewController.swift */, - 0CCA33E01B04FA5A006D9666 /* Main.storyboard */, - 0CCA33E31B04FA5A006D9666 /* Images.xcassets */, - 0CCA33DA1B04FA5A006D9666 /* Supporting Files */, - 0CCA34601B0502B5006D9666 /* Launch.storyboard */, - ); - path = SwiftFormsApplication; - sourceTree = ""; - }; - 0CCA33DA1B04FA5A006D9666 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 0CCA33DB1B04FA5A006D9666 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 0CCA342D1B04FBE0006D9666 /* SwiftForms */ = { - isa = PBXGroup; - children = ( - 0CCA34621B050525006D9666 /* cells */, - 0CCA34701B050525006D9666 /* controllers */, - 0CCA34741B050525006D9666 /* descriptors */, - 0CB1F6C21C37F9B900CD2A7B /* FormErrorType.swift */, - 0CCA34301B04FBE0006D9666 /* SwiftForms.h */, - 0CCA342E1B04FBE0006D9666 /* Supporting Files */, - ); - path = SwiftForms; - sourceTree = ""; - }; - 0CCA342E1B04FBE0006D9666 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 0CCA342F1B04FBE0006D9666 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 0CCA343C1B04FBE0006D9666 /* SwiftFormsTests */ = { - isa = PBXGroup; - children = ( - 0CCA343F1B04FBE0006D9666 /* SwiftFormsTests.swift */, - 0CCA343D1B04FBE0006D9666 /* Supporting Files */, - ); - path = SwiftFormsTests; - sourceTree = ""; - }; - 0CCA343D1B04FBE0006D9666 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 0CCA343E1B04FBE0006D9666 /* Info.plist */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - 0CCA34621B050525006D9666 /* cells */ = { - isa = PBXGroup; - children = ( - 0CCA34631B050525006D9666 /* base */, - 0CCA34671B050525006D9666 /* FormButtonCell.swift */, - BDD108791C925D14000EDEE5 /* FormLabelCell.swift */, - 0CCA34681B050525006D9666 /* FormCheckCell.swift */, - 0CCA34691B050525006D9666 /* FormDateCell.swift */, - 0CCA346A1B050525006D9666 /* FormPickerCell.swift */, - 0CCA346B1B050525006D9666 /* FormSegmentedControlCell.swift */, - 0CCA346C1B050525006D9666 /* FormSelectorCell.swift */, - 0CCA346D1B050525006D9666 /* FormSwitchCell.swift */, - 0CCA346E1B050525006D9666 /* FormTextFieldCell.swift */, - 0CCA346F1B050525006D9666 /* FormTextViewCell.swift */, - 0CDBB4F01B10699A00BE6ACF /* FormStepperCell.swift */, - 0CDBB4F21B10724600BE6ACF /* FormSliderCell.swift */, - ); - path = cells; - sourceTree = ""; - }; - 0CCA34631B050525006D9666 /* base */ = { - isa = PBXGroup; - children = ( - 0CCA34641B050525006D9666 /* FormBaseCell.swift */, - 0CCA34651B050525006D9666 /* FormTitleCell.swift */, - 0CCA34661B050525006D9666 /* FormValueCell.swift */, - ); - path = base; - sourceTree = ""; - }; - 0CCA34701B050525006D9666 /* controllers */ = { - isa = PBXGroup; - children = ( - 0CCA34721B050525006D9666 /* FormSelector.swift */, - 0CCA34731B050525006D9666 /* FormViewController.swift */, - 0C9D1DF21D2267EE00909941 /* FormOptionsViewController.swift */, - ); - path = controllers; - sourceTree = ""; - }; - 0CCA34741B050525006D9666 /* descriptors */ = { - isa = PBXGroup; - children = ( - 0CCA34751B050525006D9666 /* FormDescriptor.swift */, - 0CCA34761B050525006D9666 /* FormRowDescriptor.swift */, - 0CCA34771B050525006D9666 /* FormSectionDescriptor.swift */, - ); - path = descriptors; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 0CCA34291B04FBDF006D9666 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CCA34311B04FBE0006D9666 /* SwiftForms.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 0CCA33D61B04FA5A006D9666 /* SwiftFormsApplication */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0CCA33F61B04FA5A006D9666 /* Build configuration list for PBXNativeTarget "SwiftFormsApplication" */; - buildPhases = ( - 0CCA33D31B04FA5A006D9666 /* Sources */, - 0CCA33D41B04FA5A006D9666 /* Frameworks */, - 0CCA33D51B04FA5A006D9666 /* Resources */, - 0CCA34481B04FBE0006D9666 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - 0CCA34421B04FBE0006D9666 /* PBXTargetDependency */, - ); - name = SwiftFormsApplication; - productName = SwiftFormsApplication; - productReference = 0CCA33D71B04FA5A006D9666 /* SwiftFormsApplication.app */; - productType = "com.apple.product-type.application"; - }; - 0CCA342B1B04FBDF006D9666 /* SwiftForms */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0CCA34451B04FBE0006D9666 /* Build configuration list for PBXNativeTarget "SwiftForms" */; - buildPhases = ( - 0CCA34271B04FBDF006D9666 /* Sources */, - 0CCA34281B04FBDF006D9666 /* Frameworks */, - 0CCA34291B04FBDF006D9666 /* Headers */, - 0CCA342A1B04FBDF006D9666 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SwiftForms; - productName = SwiftForms; - productReference = 0CCA342C1B04FBDF006D9666 /* SwiftForms.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 0CCA33CF1B04FA5A006D9666 /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftMigration = 0700; - LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0800; - ORGANIZATIONNAME = "Miguel Angel Ortuno Ortuno"; - TargetAttributes = { - 0CCA33D61B04FA5A006D9666 = { - CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0800; - }; - 0CCA342B1B04FBDF006D9666 = { - CreatedOnToolsVersion = 6.3.1; - LastSwiftMigration = 0800; - }; - }; - }; - buildConfigurationList = 0CCA33D21B04FA5A006D9666 /* Build configuration list for PBXProject "SwiftFormsApplication" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 0CCA33CE1B04FA5A006D9666; - productRefGroup = 0CCA33D81B04FA5A006D9666 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 0CCA33D61B04FA5A006D9666 /* SwiftFormsApplication */, - 0CCA342B1B04FBDF006D9666 /* SwiftForms */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 0CCA33D51B04FA5A006D9666 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CCA33E21B04FA5A006D9666 /* Main.storyboard in Resources */, - 0CCA34611B0502B5006D9666 /* Launch.storyboard in Resources */, - 0CCA33E41B04FA5A006D9666 /* Images.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0CCA342A1B04FBDF006D9666 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 0CCA33D31B04FA5A006D9666 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CCA33DF1B04FA5A006D9666 /* ViewController.swift in Sources */, - 0CCA34141B04FAD3006D9666 /* ExampleFormViewController.swift in Sources */, - 0CCA33DD1B04FA5A006D9666 /* AppDelegate.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 0CCA34271B04FBDF006D9666 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0CCA34851B050525006D9666 /* FormSelector.swift in Sources */, - 0CCA34791B050525006D9666 /* FormTitleCell.swift in Sources */, - 0CDBB4F31B10724600BE6ACF /* FormSliderCell.swift in Sources */, - 0CCA34891B050525006D9666 /* FormSectionDescriptor.swift in Sources */, - 0CCA34871B050525006D9666 /* FormDescriptor.swift in Sources */, - 0CCA34781B050525006D9666 /* FormBaseCell.swift in Sources */, - BDD1087A1C925D14000EDEE5 /* FormLabelCell.swift in Sources */, - 0CCA34831B050525006D9666 /* FormTextViewCell.swift in Sources */, - 0CB1F6C31C37F9B900CD2A7B /* FormErrorType.swift in Sources */, - 0CCA34861B050525006D9666 /* FormViewController.swift in Sources */, - 0CCA347B1B050525006D9666 /* FormButtonCell.swift in Sources */, - 0CDBB4F11B10699A00BE6ACF /* FormStepperCell.swift in Sources */, - 0CCA34801B050525006D9666 /* FormSelectorCell.swift in Sources */, - 0CCA34811B050525006D9666 /* FormSwitchCell.swift in Sources */, - 0CCA347C1B050525006D9666 /* FormCheckCell.swift in Sources */, - 0CCA347A1B050525006D9666 /* FormValueCell.swift in Sources */, - 0CCA347F1B050525006D9666 /* FormSegmentedControlCell.swift in Sources */, - 0CCA34821B050525006D9666 /* FormTextFieldCell.swift in Sources */, - 0CCA347E1B050525006D9666 /* FormPickerCell.swift in Sources */, - 0C9D1DF31D2267EE00909941 /* FormOptionsViewController.swift in Sources */, - 0CCA347D1B050525006D9666 /* FormDateCell.swift in Sources */, - 0CCA34881B050525006D9666 /* FormRowDescriptor.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 0CCA34421B04FBE0006D9666 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 0CCA342B1B04FBDF006D9666 /* SwiftForms */; - targetProxy = 0CCA34411B04FBE0006D9666 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin PBXVariantGroup section */ - 0CCA33E01B04FA5A006D9666 /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 0CCA33E11B04FA5A006D9666 /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 0CCA33F41B04FA5A006D9666 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_NO_COMMON_BLOCKS = YES; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 0CCA33F51B04FA5A006D9666 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 0CCA33F71B04FA5A006D9666 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = SwiftFormsApplication/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.ortulabs.SwiftFormsApplication; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Debug; - }; - 0CCA33F81B04FA5A006D9666 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = SwiftFormsApplication/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.ortulabs.SwiftFormsApplication; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; - }; - name = Release; - }; - 0CCA34461B04FBE0006D9666 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = SwiftForms/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.ortulabs.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 0CCA34471B04FBE0006D9666 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = SwiftForms/Info.plist; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.ortulabs.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 0CCA33D21B04FA5A006D9666 /* Build configuration list for PBXProject "SwiftFormsApplication" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0CCA33F41B04FA5A006D9666 /* Debug */, - 0CCA33F51B04FA5A006D9666 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0CCA33F61B04FA5A006D9666 /* Build configuration list for PBXNativeTarget "SwiftFormsApplication" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0CCA33F71B04FA5A006D9666 /* Debug */, - 0CCA33F81B04FA5A006D9666 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 0CCA34451B04FBE0006D9666 /* Build configuration list for PBXNativeTarget "SwiftForms" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 0CCA34461B04FBE0006D9666 /* Debug */, - 0CCA34471B04FBE0006D9666 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = 0CCA33CF1B04FA5A006D9666 /* Project object */; -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication.xcodeproj/xcshareddata/xcschemes/SwiftForms.xcscheme b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication.xcodeproj/xcshareddata/xcschemes/SwiftForms.xcscheme deleted file mode 100644 index 57f8f84..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication.xcodeproj/xcshareddata/xcschemes/SwiftForms.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/AppDelegate.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/AppDelegate.swift deleted file mode 100644 index 3326be9..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/AppDelegate.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// AppDelegate.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -@UIApplicationMain -class AppDelegate: UIResponder, UIApplicationDelegate { - - var window: UIWindow? - - private func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : Any]?) -> Bool { - return true - } - - func applicationWillResignActive(_ application: UIApplication) { - } - - func applicationDidEnterBackground(_ application: UIApplication) { - } - - func applicationWillEnterForeground(_ application: UIApplication) { - } - - func applicationDidBecomeActive(_ application: UIApplication) { - } - - func applicationWillTerminate(_ application: UIApplication) { - } -} - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Base.lproj/Main.storyboard b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Base.lproj/Main.storyboard deleted file mode 100644 index 6fcfd4c..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Base.lproj/Main.storyboard +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Example.gif b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Example.gif deleted file mode 100644 index 1ccfd34..0000000 Binary files a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Example.gif and /dev/null differ diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/ExampleFormViewController.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/ExampleFormViewController.swift deleted file mode 100644 index 4bcd5ea..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/ExampleFormViewController.swift +++ /dev/null @@ -1,211 +0,0 @@ -// -// ExampleFormViewController.swift -// SwiftForms -//® -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit -import SwiftForms - -class ExampleFormViewController: FormViewController { - - struct Static { - static let nameTag = "name" - static let passwordTag = "password" - static let lastNameTag = "lastName" - static let jobTag = "job" - static let emailTag = "email" - static let URLTag = "url" - static let phoneTag = "phone" - static let enabled = "enabled" - static let check = "check" - static let segmented = "segmented" - static let picker = "picker" - static let birthday = "birthday" - static let categories = "categories" - static let button = "button" - static let stepper = "stepper" - static let slider = "slider" - static let textView = "textview" - } - - required init(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - self.loadForm() - } - - override func viewDidLoad() { - super.viewDidLoad() - self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Submit", style: .plain, target: self, action: #selector(ExampleFormViewController.submit(_:))) - } - - // MARK: Actions - - func submit(_: UIBarButtonItem!) { - - let message = self.form.formValues().description - - let alertController = UIAlertController(title: "Form output", message: message, preferredStyle: .alert) - - let cancel = UIAlertAction(title: "OK", style: .cancel) { (action) in - } - - alertController.addAction(cancel) - - self.present(alertController, animated: true, completion: nil) - } - - // MARK: Private interface - - fileprivate func loadForm() { - - let form = FormDescriptor(title: "Example Form") - - let section1 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - var row = FormRowDescriptor(tag: Static.emailTag, type: .email, title: "Email") - row.configuration.cell.appearance = ["textField.placeholder" : "john@gmail.com" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section1.rows.append(row) - - row = FormRowDescriptor(tag: Static.passwordTag, type: .password, title: "Password") - row.configuration.cell.appearance = ["textField.placeholder" : "Enter password" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section1.rows.append(row) - - let section2 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.nameTag, type: .name, title: "First Name") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. Miguel Ángel" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section2.rows.append(row) - - row = FormRowDescriptor(tag: Static.lastNameTag, type: .name, title: "Last Name") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. Ortuño" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section2.rows.append(row) - - row = FormRowDescriptor(tag: Static.jobTag, type: .text, title: "Job") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. Entrepreneur" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section2.rows.append(row) - - let section3 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.URLTag, type: .url, title: "URL") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. gethooksapp.com" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section3.rows.append(row) - - row = FormRowDescriptor(tag: Static.phoneTag, type: .phone, title: "Phone") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. 0034666777999" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section3.rows.append(row) - - let section4 = FormSectionDescriptor(headerTitle: "An example header title", footerTitle: "An example footer title") - - row = FormRowDescriptor(tag: Static.enabled, type: .booleanSwitch, title: "Enable") - section4.rows.append(row) - - row = FormRowDescriptor(tag: Static.check, type: .booleanCheck, title: "Doable") - section4.rows.append(row) - - row = FormRowDescriptor(tag: Static.segmented, type: .segmentedControl, title: "Priority") - row.configuration.selection.options = ([0, 1, 2, 3] as [Int]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? Int else { return "" } - switch option { - case 0: - return "None" - case 1: - return "!" - case 2: - return "!!" - case 3: - return "!!!" - default: - return "" - } - } - - row.configuration.cell.appearance = ["titleLabel.font" : UIFont.boldSystemFont(ofSize: 30.0), "segmentedControl.tintColor" : UIColor.red] - - section4.rows.append(row) - - let section5 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.picker, type: .picker, title: "Gender") - row.configuration.cell.showsInputToolbar = true - row.configuration.selection.options = (["F", "M", "U"] as [String]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? String else { return "" } - switch option { - case "F": - return "Female" - case "M": - return "Male" - case "U": - return "I'd rather not to say" - default: - return "" - } - } - - row.value = "M" as AnyObject - - section5.rows.append(row) - - row = FormRowDescriptor(tag: Static.birthday, type: .date, title: "Birthday") - row.configuration.cell.showsInputToolbar = true - section5.rows.append(row) - - row = FormRowDescriptor(tag: Static.categories, type: .multipleSelector, title: "Categories") - row.configuration.selection.options = ([0, 1, 2, 3, 4] as [Int]) as [AnyObject] - row.configuration.selection.allowsMultipleSelection = true - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? Int else { return "" } - switch option { - case 0: - return "Restaurant" - case 1: - return "Pub" - case 2: - return "Shop" - case 3: - return "Hotel" - case 4: - return "Camping" - default: - return "" - } - } - - section5.rows.append(row) - - let section6 = FormSectionDescriptor(headerTitle: "Stepper & Slider", footerTitle: nil) - - row = FormRowDescriptor(tag: Static.stepper, type: .stepper, title: "Step count") - row.configuration.stepper.maximumValue = 200.0 - row.configuration.stepper.minimumValue = 20.0 - row.configuration.stepper.steps = 2.0 - section6.rows.append(row) - - row = FormRowDescriptor(tag: Static.slider, type: .slider, title: "Slider") - row.configuration.stepper.maximumValue = 200.0 - row.configuration.stepper.minimumValue = 20.0 - row.configuration.stepper.steps = 2.0 - row.value = 0.5 as AnyObject - section6.rows.append(row) - - let section7 = FormSectionDescriptor(headerTitle: "Multiline TextView", footerTitle: nil) - row = FormRowDescriptor(tag: Static.textView, type: .multilineText, title: "Notes") - section7.rows.append(row) - - let section8 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.button, type: .button, title: "Dismiss") - row.configuration.button.didSelectClosure = { _ in - self.view.endEditing(true) - } - section8.rows.append(row) - - form.sections = [section1, section2, section3, section4, section5, section6, section7, section8] - - self.form = form - } -} diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/AppIcon.appiconset/Contents.json b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/AppIcon.appiconset/Contents.json deleted file mode 100644 index 36d2c80..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/AppIcon.appiconset/Contents.json +++ /dev/null @@ -1,68 +0,0 @@ -{ - "images" : [ - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "29x29", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "40x40", - "scale" : "3x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "2x" - }, - { - "idiom" : "iphone", - "size" : "60x60", - "scale" : "3x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "29x29", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "40x40", - "scale" : "2x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "1x" - }, - { - "idiom" : "ipad", - "size" : "76x76", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/LaunchImage.launchimage/Contents.json b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/LaunchImage.launchimage/Contents.json deleted file mode 100644 index cd2f7b1..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/LaunchImage.launchimage/Contents.json +++ /dev/null @@ -1,143 +0,0 @@ -{ - "images" : [ - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "8.0", - "subtype" : "736h", - "scale" : "3x" - }, - { - "orientation" : "landscape", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "8.0", - "subtype" : "736h", - "scale" : "3x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "8.0", - "subtype" : "667h", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "extent" : "full-screen", - "idiom" : "iphone", - "subtype" : "retina4", - "filename" : "iphone5_splash.png", - "minimum-system-version" : "7.0", - "orientation" : "portrait", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "minimum-system-version" : "7.0", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "iphone", - "extent" : "full-screen", - "subtype" : "retina4", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "1x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "scale" : "1x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "portrait", - "idiom" : "ipad", - "extent" : "full-screen", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "to-status-bar", - "scale" : "2x" - }, - { - "orientation" : "landscape", - "idiom" : "ipad", - "extent" : "full-screen", - "scale" : "2x" - } - ], - "info" : { - "version" : 1, - "author" : "xcode" - } -} \ No newline at end of file diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/LaunchImage.launchimage/iphone5_splash.png b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/LaunchImage.launchimage/iphone5_splash.png deleted file mode 100644 index 1f80f40..0000000 Binary files a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Images.xcassets/LaunchImage.launchimage/iphone5_splash.png and /dev/null differ diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Info.plist b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Info.plist deleted file mode 100644 index 073f648..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Info.plist +++ /dev/null @@ -1,38 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - LSRequiresIPhoneOS - - UILaunchStoryboardName - Launch - UIMainStoryboardFile - Main - UIRequiredDeviceCapabilities - - armv7 - - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - - - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Launch.storyboard b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Launch.storyboard deleted file mode 100644 index 0b061a3..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Launch.storyboard +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Screenshot.png b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Screenshot.png deleted file mode 100644 index ee051ec..0000000 Binary files a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/Screenshot.png and /dev/null differ diff --git a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/ViewController.swift b/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/ViewController.swift deleted file mode 100644 index f4efe22..0000000 --- a/My Mind/Carthage/Checkouts/SwiftForms/SwiftFormsApplication/ViewController.swift +++ /dev/null @@ -1,23 +0,0 @@ -// -// ViewController.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 14/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -import UIKit - -class ViewController: UIViewController { - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } -} - diff --git a/My Mind/My Mind.xcodeproj/project.pbxproj b/My Mind/My Mind.xcodeproj/project.pbxproj index 94e2af4..b38a413 100644 --- a/My Mind/My Mind.xcodeproj/project.pbxproj +++ b/My Mind/My Mind.xcodeproj/project.pbxproj @@ -3,55 +3,74 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 48; objects = { /* Begin PBXBuildFile section */ - 5F28BC9A1E920172000BA78E /* SwiftForms.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F28BC991E920172000BA78E /* SwiftForms.framework */; }; - 5FCEBEBA1E91A00900BA379D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEB91E91A00900BA379D /* AppDelegate.swift */; }; - 5FCEBEC11E91A00900BA379D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5FCEBEC01E91A00900BA379D /* Assets.xcassets */; }; - 5FCEBEC41E91A00900BA379D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5FCEBEC21E91A00900BA379D /* LaunchScreen.storyboard */; }; - 5FCEBECF1E91A00900BA379D /* My_MindTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBECE1E91A00900BA379D /* My_MindTests.swift */; }; - 5FCEBEDA1E91A00900BA379D /* My_MindUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBED91E91A00900BA379D /* My_MindUITests.swift */; }; - 5FCEBEEA1E91A0B800BA379D /* OnBoard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5FCEBEE91E91A0B800BA379D /* OnBoard.storyboard */; }; - 5FCEBEEC1E91A20100BA379D /* OnBoardingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEEB1E91A20100BA379D /* OnBoardingController.swift */; }; - 5FCEBEF11E91A25200BA379D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5FCEBEF01E91A25200BA379D /* Main.storyboard */; }; - 5FCEBEF31E91A25900BA379D /* Login.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5FCEBEF21E91A25900BA379D /* Login.storyboard */; }; - 5FCEBEF51E91A27B00BA379D /* LoginViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEF41E91A27B00BA379D /* LoginViews.swift */; }; - 5FCEBEF71E91A28800BA379D /* ForumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEF61E91A28800BA379D /* ForumView.swift */; }; - 5FCEBEF91E91A29D00BA379D /* ReferralViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEF81E91A29D00BA379D /* ReferralViews.swift */; }; - 5FCEBEFB1E91A2A400BA379D /* AppointmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEFA1E91A2A400BA379D /* AppointmentView.swift */; }; - 5FCEBEFD1E91A2B200BA379D /* SettingsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEFC1E91A2B200BA379D /* SettingsView.swift */; }; - 5FCEBEFF1E91A2BB00BA379D /* EmergencyView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBEFE1E91A2BB00BA379D /* EmergencyView.swift */; }; - 5FCEBF011E91A74100BA379D /* SignUpViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBF001E91A74100BA379D /* SignUpViews.swift */; }; - 5FCEBF051E91A81000BA379D /* WelcomeScreenViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FCEBF041E91A81000BA379D /* WelcomeScreenViews.swift */; }; - 5FE993361E92C3D4002B0FF6 /* OnlineViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FE993351E92C3D4002B0FF6 /* OnlineViews.swift */; }; + 5F3156141E8EE8670010FE7D /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D6F1E8DB2F100BCE63D /* libsqlite3.tbd */; }; + 5F3156151E8EE8670010FE7D /* libz.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D701E8DB2F100BCE63D /* libz.tbd */; }; + 5F5A1D291E8DB0F300BCE63D /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A1D281E8DB0F300BCE63D /* AppDelegate.swift */; }; + 5F5A1D2E1E8DB0F300BCE63D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A1D2C1E8DB0F300BCE63D /* Main.storyboard */; }; + 5F5A1D301E8DB0F300BCE63D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A1D2F1E8DB0F300BCE63D /* Assets.xcassets */; }; + 5F5A1D331E8DB0F300BCE63D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A1D311E8DB0F300BCE63D /* LaunchScreen.storyboard */; }; + 5F5A1D3E1E8DB0F300BCE63D /* My_MindTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A1D3D1E8DB0F300BCE63D /* My_MindTests.swift */; }; + 5F5A1D491E8DB0F300BCE63D /* My_MindUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A1D481E8DB0F300BCE63D /* My_MindUITests.swift */; }; + 5F5A1D571E8DB24C00BCE63D /* Sdk in Resources */ = {isa = PBXBuildFile; fileRef = 5F5A1D561E8DB24C00BCE63D /* Sdk */; }; + 5F5A1D5D1E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D581E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework */; }; + 5F5A1D5E1E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D581E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5F5A1D5F1E8DB26200BCE63D /* AWSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D591E8DB26200BCE63D /* AWSCore.framework */; }; + 5F5A1D601E8DB26200BCE63D /* AWSCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D591E8DB26200BCE63D /* AWSCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5F5A1D611E8DB26200BCE63D /* AWSPinpoint.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D5A1E8DB26200BCE63D /* AWSPinpoint.framework */; }; + 5F5A1D621E8DB26200BCE63D /* AWSPinpoint.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D5A1E8DB26200BCE63D /* AWSPinpoint.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5F5A1D631E8DB26200BCE63D /* AWSS3.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D5B1E8DB26200BCE63D /* AWSS3.framework */; }; + 5F5A1D641E8DB26200BCE63D /* AWSS3.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D5B1E8DB26200BCE63D /* AWSS3.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 5F5A1D6B1E8DB2A300BCE63D /* AWSConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A1D681E8DB2A300BCE63D /* AWSConfiguration.swift */; }; + 5F5A1D6C1E8DB2A300BCE63D /* AWSMobileClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F5A1D691E8DB2A300BCE63D /* AWSMobileClient.swift */; }; + 5F5A1D6D1E8DB2A300BCE63D /* AWSMobileHubHelper.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F5A1D6A1E8DB2A300BCE63D /* AWSMobileHubHelper.framework */; }; + 5FDAA1351E946EDE00FF80D4 /* TabBarController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FDAA1341E946EDE00FF80D4 /* TabBarController.swift */; }; + 5FF72FEF1E8DDECA00FFD64D /* SignInViewControllerExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF72FE81E8DDECA00FFD64D /* SignInViewControllerExtensions.swift */; }; + 5FF72FF01E8DDECA00FFD64D /* UserPoolForgotPasswordViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF72FE91E8DDECA00FFD64D /* UserPoolForgotPasswordViewController.swift */; }; + 5FF72FF11E8DDECA00FFD64D /* UserPoolMFAViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF72FEA1E8DDECA00FFD64D /* UserPoolMFAViewController.swift */; }; + 5FF72FF21E8DDECA00FFD64D /* UserPoolNewPasswordViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF72FEB1E8DDECA00FFD64D /* UserPoolNewPasswordViewController.swift */; }; + 5FF72FF41E8DDECA00FFD64D /* UserPoolSignUpConfirmationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF72FED1E8DDECA00FFD64D /* UserPoolSignUpConfirmationViewController.swift */; }; + 5FF72FF51E8DDECA00FFD64D /* UserPoolSignUpViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF72FEE1E8DDECA00FFD64D /* UserPoolSignUpViewController.swift */; }; + 5FF9721B1E8DBA98007AE280 /* OnBoardingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF9721A1E8DBA98007AE280 /* OnBoardingController.swift */; }; + 5FF9721E1E8DBAC3007AE280 /* WelcomeScreenOne.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF9721D1E8DBAC3007AE280 /* WelcomeScreenOne.swift */; }; + 5FF972201E8DBAD9007AE280 /* WelcomeScreenTwo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF9721F1E8DBAD9007AE280 /* WelcomeScreenTwo.swift */; }; + 5FF972221E8DBAE1007AE280 /* WelcomeScreenThree.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF972211E8DBAE1007AE280 /* WelcomeScreenThree.swift */; }; + 5FF972281E8DC9F3007AE280 /* ForumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF972271E8DC9F3007AE280 /* ForumView.swift */; }; + 5FF9722A1E8DCE83007AE280 /* UserViews.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF972291E8DCE83007AE280 /* UserViews.swift */; }; + 5FF9722D1E8DCEA7007AE280 /* SignUpView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5FF9722C1E8DCEA7007AE280 /* SignUpView.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 5FCEBECB1E91A00900BA379D /* PBXContainerItemProxy */ = { + 5F5A1D3A1E8DB0F300BCE63D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 5FCEBEAE1E91A00900BA379D /* Project object */; + containerPortal = 5F5A1D1D1E8DB0F300BCE63D /* Project object */; proxyType = 1; - remoteGlobalIDString = 5FCEBEB51E91A00900BA379D; + remoteGlobalIDString = 5F5A1D241E8DB0F300BCE63D; remoteInfo = "My Mind"; }; - 5FCEBED61E91A00900BA379D /* PBXContainerItemProxy */ = { + 5F5A1D451E8DB0F300BCE63D /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 5FCEBEAE1E91A00900BA379D /* Project object */; + containerPortal = 5F5A1D1D1E8DB0F300BCE63D /* Project object */; proxyType = 1; - remoteGlobalIDString = 5FCEBEB51E91A00900BA379D; + remoteGlobalIDString = 5F5A1D241E8DB0F300BCE63D; remoteInfo = "My Mind"; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 5FA02E161E91F52C00C6F0A5 /* Embed Frameworks */ = { + 5F5A1D651E8DB26200BCE63D /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( + 5F5A1D641E8DB26200BCE63D /* AWSS3.framework in Embed Frameworks */, + 5F5A1D5E1E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework in Embed Frameworks */, + 5F5A1D601E8DB26200BCE63D /* AWSCore.framework in Embed Frameworks */, + 5F5A1D621E8DB26200BCE63D /* AWSPinpoint.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -59,56 +78,69 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 4D61387F6D0645AD417E6994 /* Pods_My_Mind.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_My_Mind.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4EB7D250E5F6F6ED4ECEE61D /* Pods-My Mind.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-My Mind.release.xcconfig"; path = "Pods/Target Support Files/Pods-My Mind/Pods-My Mind.release.xcconfig"; sourceTree = ""; }; - 5F28BC991E920172000BA78E /* SwiftForms.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SwiftForms.framework; sourceTree = ""; }; - 5FCEBEB61E91A00900BA379D /* My Mind.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "My Mind.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5FCEBEB91E91A00900BA379D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; - 5FCEBEC01E91A00900BA379D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 5FCEBEC31E91A00900BA379D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 5FCEBEC51E91A00900BA379D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5FCEBECA1E91A00900BA379D /* My MindTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "My MindTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5FCEBECE1E91A00900BA379D /* My_MindTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = My_MindTests.swift; sourceTree = ""; }; - 5FCEBED01E91A00900BA379D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5FCEBED51E91A00900BA379D /* My MindUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "My MindUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5FCEBED91E91A00900BA379D /* My_MindUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = My_MindUITests.swift; sourceTree = ""; }; - 5FCEBEDB1E91A00900BA379D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 5FCEBEE91E91A0B800BA379D /* OnBoard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = OnBoard.storyboard; path = ../OnBoard.storyboard; sourceTree = ""; }; - 5FCEBEEB1E91A20100BA379D /* OnBoardingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = OnBoardingController.swift; path = ../OnBoardingController.swift; sourceTree = ""; }; - 5FCEBEF01E91A25200BA379D /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; - 5FCEBEF21E91A25900BA379D /* Login.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Login.storyboard; sourceTree = ""; }; - 5FCEBEF41E91A27B00BA379D /* LoginViews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LoginViews.swift; sourceTree = ""; }; - 5FCEBEF61E91A28800BA379D /* ForumView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ForumView.swift; sourceTree = ""; }; - 5FCEBEF81E91A29D00BA379D /* ReferralViews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ReferralViews.swift; sourceTree = ""; }; - 5FCEBEFA1E91A2A400BA379D /* AppointmentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppointmentView.swift; sourceTree = ""; }; - 5FCEBEFC1E91A2B200BA379D /* SettingsView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SettingsView.swift; sourceTree = ""; }; - 5FCEBEFE1E91A2BB00BA379D /* EmergencyView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EmergencyView.swift; sourceTree = ""; }; - 5FCEBF001E91A74100BA379D /* SignUpViews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpViews.swift; sourceTree = ""; }; - 5FCEBF041E91A81000BA379D /* WelcomeScreenViews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeScreenViews.swift; sourceTree = ""; }; - 5FCEBF061E91D95D00BA379D /* My Mind.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "My Mind.entitlements"; sourceTree = ""; }; - 5FE993351E92C3D4002B0FF6 /* OnlineViews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnlineViews.swift; sourceTree = ""; }; - 706096029E2D8926F6A27630 /* Pods-My Mind.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-My Mind.debug.xcconfig"; path = "Pods/Target Support Files/Pods-My Mind/Pods-My Mind.debug.xcconfig"; sourceTree = ""; }; - D801D285CF8D71FD32F6DC0E /* Pods_My_MindTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_My_MindTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - F44006E7B7F6F6FB9AB0F4C6 /* Pods_My_MindUITests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_My_MindUITests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F5A1D251E8DB0F300BCE63D /* My Mind.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "My Mind.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F5A1D281E8DB0F300BCE63D /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 5F5A1D2D1E8DB0F300BCE63D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 5F5A1D2F1E8DB0F300BCE63D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 5F5A1D321E8DB0F300BCE63D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 5F5A1D341E8DB0F300BCE63D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5F5A1D391E8DB0F300BCE63D /* My MindTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "My MindTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F5A1D3D1E8DB0F300BCE63D /* My_MindTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = My_MindTests.swift; sourceTree = ""; }; + 5F5A1D3F1E8DB0F300BCE63D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5F5A1D441E8DB0F300BCE63D /* My MindUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "My MindUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + 5F5A1D481E8DB0F300BCE63D /* My_MindUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = My_MindUITests.swift; sourceTree = ""; }; + 5F5A1D4A1E8DB0F400BCE63D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 5F5A1D561E8DB24C00BCE63D /* Sdk */ = {isa = PBXFileReference; lastKnownFileType = folder; path = Sdk; sourceTree = ""; }; + 5F5A1D581E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AWSCognitoIdentityProvider.framework; path = "My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework"; sourceTree = ""; }; + 5F5A1D591E8DB26200BCE63D /* AWSCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AWSCore.framework; path = "My Mind/Sdk/Aws/AWSCore.framework"; sourceTree = ""; }; + 5F5A1D5A1E8DB26200BCE63D /* AWSPinpoint.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AWSPinpoint.framework; path = "My Mind/Sdk/Aws/AWSPinpoint.framework"; sourceTree = ""; }; + 5F5A1D5B1E8DB26200BCE63D /* AWSS3.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AWSS3.framework; path = "My Mind/Sdk/Aws/AWSS3.framework"; sourceTree = ""; }; + 5F5A1D5C1E8DB26200BCE63D /* extras */ = {isa = PBXFileReference; lastKnownFileType = folder; name = extras; path = "My Mind/Sdk/Aws/extras"; sourceTree = ""; }; + 5F5A1D681E8DB2A300BCE63D /* AWSConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AWSConfiguration.swift; sourceTree = ""; }; + 5F5A1D691E8DB2A300BCE63D /* AWSMobileClient.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AWSMobileClient.swift; sourceTree = ""; }; + 5F5A1D6A1E8DB2A300BCE63D /* AWSMobileHubHelper.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = AWSMobileHubHelper.framework; sourceTree = ""; }; + 5F5A1D6F1E8DB2F100BCE63D /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; + 5F5A1D701E8DB2F100BCE63D /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; }; + 5FB1172E1E8DE5C800BB1B9B /* My Mind.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "My Mind.entitlements"; sourceTree = ""; }; + 5FDAA1341E946EDE00FF80D4 /* TabBarController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabBarController.swift; sourceTree = ""; }; + 5FF72FE81E8DDECA00FFD64D /* SignInViewControllerExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignInViewControllerExtensions.swift; sourceTree = ""; }; + 5FF72FE91E8DDECA00FFD64D /* UserPoolForgotPasswordViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserPoolForgotPasswordViewController.swift; sourceTree = ""; }; + 5FF72FEA1E8DDECA00FFD64D /* UserPoolMFAViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserPoolMFAViewController.swift; sourceTree = ""; }; + 5FF72FEB1E8DDECA00FFD64D /* UserPoolNewPasswordViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserPoolNewPasswordViewController.swift; sourceTree = ""; }; + 5FF72FED1E8DDECA00FFD64D /* UserPoolSignUpConfirmationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserPoolSignUpConfirmationViewController.swift; sourceTree = ""; }; + 5FF72FEE1E8DDECA00FFD64D /* UserPoolSignUpViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserPoolSignUpViewController.swift; sourceTree = ""; }; + 5FF9721A1E8DBA98007AE280 /* OnBoardingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OnBoardingController.swift; sourceTree = ""; }; + 5FF9721D1E8DBAC3007AE280 /* WelcomeScreenOne.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeScreenOne.swift; sourceTree = ""; }; + 5FF9721F1E8DBAD9007AE280 /* WelcomeScreenTwo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeScreenTwo.swift; sourceTree = ""; }; + 5FF972211E8DBAE1007AE280 /* WelcomeScreenThree.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeScreenThree.swift; sourceTree = ""; }; + 5FF972271E8DC9F3007AE280 /* ForumView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ForumView.swift; sourceTree = ""; }; + 5FF972291E8DCE83007AE280 /* UserViews.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = UserViews.swift; sourceTree = ""; }; + 5FF9722C1E8DCEA7007AE280 /* SignUpView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SignUpView.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 5FCEBEB31E91A00900BA379D /* Frameworks */ = { + 5F5A1D221E8DB0F300BCE63D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 5F28BC9A1E920172000BA78E /* SwiftForms.framework in Frameworks */, + 5F3156141E8EE8670010FE7D /* libsqlite3.tbd in Frameworks */, + 5F3156151E8EE8670010FE7D /* libz.tbd in Frameworks */, + 5F5A1D6D1E8DB2A300BCE63D /* AWSMobileHubHelper.framework in Frameworks */, + 5F5A1D631E8DB26200BCE63D /* AWSS3.framework in Frameworks */, + 5F5A1D5D1E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework in Frameworks */, + 5F5A1D5F1E8DB26200BCE63D /* AWSCore.framework in Frameworks */, + 5F5A1D611E8DB26200BCE63D /* AWSPinpoint.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5FCEBEC71E91A00900BA379D /* Frameworks */ = { + 5F5A1D361E8DB0F300BCE63D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5FCEBED21E91A00900BA379D /* Frameworks */ = { + 5F5A1D411E8DB0F300BCE63D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( @@ -118,129 +150,154 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 2678CCB1C2283411544C78DB /* Frameworks */ = { + 5F5A1D1C1E8DB0F300BCE63D = { isa = PBXGroup; children = ( - 5F28BC991E920172000BA78E /* SwiftForms.framework */, - 4D61387F6D0645AD417E6994 /* Pods_My_Mind.framework */, - D801D285CF8D71FD32F6DC0E /* Pods_My_MindTests.framework */, - F44006E7B7F6F6FB9AB0F4C6 /* Pods_My_MindUITests.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - 5FCEBEAD1E91A00900BA379D = { - isa = PBXGroup; - children = ( - 5FCEBEB81E91A00900BA379D /* My Mind */, - 5FCEBECD1E91A00900BA379D /* My MindTests */, - 5FCEBED81E91A00900BA379D /* My MindUITests */, - 5FCEBEB71E91A00900BA379D /* Products */, - A5B37CCAF9726F0EEDFD6142 /* Pods */, - 2678CCB1C2283411544C78DB /* Frameworks */, + 5F5A1D581E8DB26200BCE63D /* AWSCognitoIdentityProvider.framework */, + 5F5A1D591E8DB26200BCE63D /* AWSCore.framework */, + 5F5A1D5A1E8DB26200BCE63D /* AWSPinpoint.framework */, + 5F5A1D5B1E8DB26200BCE63D /* AWSS3.framework */, + 5F5A1D5C1E8DB26200BCE63D /* extras */, + 5F5A1D271E8DB0F300BCE63D /* My Mind */, + 5F5A1D3C1E8DB0F300BCE63D /* My MindTests */, + 5F5A1D471E8DB0F300BCE63D /* My MindUITests */, + 5F5A1D261E8DB0F300BCE63D /* Products */, + 5F5A1D6E1E8DB2F000BCE63D /* Frameworks */, ); sourceTree = ""; }; - 5FCEBEB71E91A00900BA379D /* Products */ = { + 5F5A1D261E8DB0F300BCE63D /* Products */ = { isa = PBXGroup; children = ( - 5FCEBEB61E91A00900BA379D /* My Mind.app */, - 5FCEBECA1E91A00900BA379D /* My MindTests.xctest */, - 5FCEBED51E91A00900BA379D /* My MindUITests.xctest */, + 5F5A1D251E8DB0F300BCE63D /* My Mind.app */, + 5F5A1D391E8DB0F300BCE63D /* My MindTests.xctest */, + 5F5A1D441E8DB0F300BCE63D /* My MindUITests.xctest */, ); name = Products; sourceTree = ""; }; - 5FCEBEB81E91A00900BA379D /* My Mind */ = { + 5F5A1D271E8DB0F300BCE63D /* My Mind */ = { isa = PBXGroup; children = ( - 5FCEBF061E91D95D00BA379D /* My Mind.entitlements */, - 5FCEBEC51E91A00900BA379D /* Info.plist */, - 5FCEBEB91E91A00900BA379D /* AppDelegate.swift */, - 5FCEBEC01E91A00900BA379D /* Assets.xcassets */, - 5FCEBEC21E91A00900BA379D /* LaunchScreen.storyboard */, - 5FCEBEEE1E91A21900BA379D /* Login Sequences */, - 5FCEBEEF1E91A22800BA379D /* Main Sequences */, - 5FCEBEED1E91A20D00BA379D /* OnBoarding Sequences */, + 5F5A1D561E8DB24C00BCE63D /* Sdk */, + 5FB1172E1E8DE5C800BB1B9B /* My Mind.entitlements */, + 5F5A1D341E8DB0F300BCE63D /* Info.plist */, + 5F5A1D281E8DB0F300BCE63D /* AppDelegate.swift */, + 5F5A1D2F1E8DB0F300BCE63D /* Assets.xcassets */, + 5FDAA1361E9483B200FF80D4 /* Classes */, + 5F5A1D311E8DB0F300BCE63D /* LaunchScreen.storyboard */, + 5F5A1D2C1E8DB0F300BCE63D /* Main.storyboard */, ); path = "My Mind"; sourceTree = ""; }; - 5FCEBECD1E91A00900BA379D /* My MindTests */ = { + 5F5A1D3C1E8DB0F300BCE63D /* My MindTests */ = { isa = PBXGroup; children = ( - 5FCEBECE1E91A00900BA379D /* My_MindTests.swift */, - 5FCEBED01E91A00900BA379D /* Info.plist */, + 5F5A1D3D1E8DB0F300BCE63D /* My_MindTests.swift */, + 5F5A1D3F1E8DB0F300BCE63D /* Info.plist */, ); path = "My MindTests"; sourceTree = ""; }; - 5FCEBED81E91A00900BA379D /* My MindUITests */ = { + 5F5A1D471E8DB0F300BCE63D /* My MindUITests */ = { isa = PBXGroup; children = ( - 5FCEBED91E91A00900BA379D /* My_MindUITests.swift */, - 5FCEBEDB1E91A00900BA379D /* Info.plist */, + 5F5A1D481E8DB0F300BCE63D /* My_MindUITests.swift */, + 5F5A1D4A1E8DB0F400BCE63D /* Info.plist */, ); path = "My MindUITests"; sourceTree = ""; }; - 5FCEBEED1E91A20D00BA379D /* OnBoarding Sequences */ = { + 5F5A1D671E8DB2A300BCE63D /* AmazonAws */ = { isa = PBXGroup; children = ( - 5FCEBEE91E91A0B800BA379D /* OnBoard.storyboard */, - 5FCEBEEB1E91A20100BA379D /* OnBoardingController.swift */, - 5FCEBF041E91A81000BA379D /* WelcomeScreenViews.swift */, + 5F5A1D681E8DB2A300BCE63D /* AWSConfiguration.swift */, + 5F5A1D691E8DB2A300BCE63D /* AWSMobileClient.swift */, + 5F5A1D6A1E8DB2A300BCE63D /* AWSMobileHubHelper.framework */, ); - name = "OnBoarding Sequences"; + name = AmazonAws; sourceTree = ""; }; - 5FCEBEEE1E91A21900BA379D /* Login Sequences */ = { + 5F5A1D6E1E8DB2F000BCE63D /* Frameworks */ = { isa = PBXGroup; children = ( - 5FCEBEF21E91A25900BA379D /* Login.storyboard */, - 5FCEBEF41E91A27B00BA379D /* LoginViews.swift */, - 5FCEBF001E91A74100BA379D /* SignUpViews.swift */, - 5FE993351E92C3D4002B0FF6 /* OnlineViews.swift */, + 5F5A1D6F1E8DB2F100BCE63D /* libsqlite3.tbd */, + 5F5A1D701E8DB2F100BCE63D /* libz.tbd */, ); - name = "Login Sequences"; + name = Frameworks; sourceTree = ""; }; - 5FCEBEEF1E91A22800BA379D /* Main Sequences */ = { + 5FDAA1361E9483B200FF80D4 /* Classes */ = { isa = PBXGroup; children = ( - 5FCEBEF01E91A25200BA379D /* Main.storyboard */, - 5FCEBEFA1E91A2A400BA379D /* AppointmentView.swift */, - 5FCEBEFE1E91A2BB00BA379D /* EmergencyView.swift */, - 5FCEBEF61E91A28800BA379D /* ForumView.swift */, - 5FCEBEF81E91A29D00BA379D /* ReferralViews.swift */, - 5FCEBEFC1E91A2B200BA379D /* SettingsView.swift */, + 5F5A1D671E8DB2A300BCE63D /* AmazonAws */, + 5FF972191E8DBA65007AE280 /* User Controller Group */, + 5FF972181E8DBA4C007AE280 /* Main Controller Group */, + 5FF9721C1E8DBAA6007AE280 /* OnBoarding Controller Group */, ); - name = "Main Sequences"; + name = Classes; + path = AmazonAws; sourceTree = ""; }; - A5B37CCAF9726F0EEDFD6142 /* Pods */ = { + 5FF72FE71E8DDECA00FFD64D /* UserPools */ = { isa = PBXGroup; children = ( - 706096029E2D8926F6A27630 /* Pods-My Mind.debug.xcconfig */, - 4EB7D250E5F6F6ED4ECEE61D /* Pods-My Mind.release.xcconfig */, + 5FF72FE81E8DDECA00FFD64D /* SignInViewControllerExtensions.swift */, + 5FF72FE91E8DDECA00FFD64D /* UserPoolForgotPasswordViewController.swift */, + 5FF72FEA1E8DDECA00FFD64D /* UserPoolMFAViewController.swift */, + 5FF72FEB1E8DDECA00FFD64D /* UserPoolNewPasswordViewController.swift */, + 5FF72FED1E8DDECA00FFD64D /* UserPoolSignUpConfirmationViewController.swift */, + 5FF72FEE1E8DDECA00FFD64D /* UserPoolSignUpViewController.swift */, ); - name = Pods; + path = UserPools; + sourceTree = ""; + }; + 5FF972181E8DBA4C007AE280 /* Main Controller Group */ = { + isa = PBXGroup; + children = ( + 5FF972271E8DC9F3007AE280 /* ForumView.swift */, + 5FDAA1341E946EDE00FF80D4 /* TabBarController.swift */, + ); + name = "Main Controller Group"; + path = ..; + sourceTree = ""; + }; + 5FF972191E8DBA65007AE280 /* User Controller Group */ = { + isa = PBXGroup; + children = ( + 5FF972291E8DCE83007AE280 /* UserViews.swift */, + 5FF9722C1E8DCEA7007AE280 /* SignUpView.swift */, + 5FF72FE71E8DDECA00FFD64D /* UserPools */, + ); + name = "User Controller Group"; + path = ..; + sourceTree = ""; + }; + 5FF9721C1E8DBAA6007AE280 /* OnBoarding Controller Group */ = { + isa = PBXGroup; + children = ( + 5FF9721A1E8DBA98007AE280 /* OnBoardingController.swift */, + 5FF9721D1E8DBAC3007AE280 /* WelcomeScreenOne.swift */, + 5FF9721F1E8DBAD9007AE280 /* WelcomeScreenTwo.swift */, + 5FF972211E8DBAE1007AE280 /* WelcomeScreenThree.swift */, + ); + name = "OnBoarding Controller Group"; + path = ..; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 5FCEBEB51E91A00900BA379D /* My Mind */ = { + 5F5A1D241E8DB0F300BCE63D /* My Mind */ = { isa = PBXNativeTarget; - buildConfigurationList = 5FCEBEDE1E91A00900BA379D /* Build configuration list for PBXNativeTarget "My Mind" */; + buildConfigurationList = 5F5A1D4D1E8DB0F400BCE63D /* Build configuration list for PBXNativeTarget "My Mind" */; buildPhases = ( - C7C5637EC49A098E10C2ABE0 /* [CP] Check Pods Manifest.lock */, - 5FCEBEB21E91A00900BA379D /* Sources */, - 5FCEBEB31E91A00900BA379D /* Frameworks */, - 5FCEBEB41E91A00900BA379D /* Resources */, - 5FA02E161E91F52C00C6F0A5 /* Embed Frameworks */, - 72970A95DE21C41243D290B0 /* [CP] Embed Pods Frameworks */, - E3E2E445B46619A044835673 /* [CP] Copy Pods Resources */, + 5F5A1D211E8DB0F300BCE63D /* Sources */, + 5F5A1D221E8DB0F300BCE63D /* Frameworks */, + 5F5A1D231E8DB0F300BCE63D /* Resources */, + 5F5A1D651E8DB26200BCE63D /* Embed Frameworks */, + 5F5A1D661E8DB27100BCE63D /* ShellScript */, ); buildRules = ( ); @@ -248,58 +305,57 @@ ); name = "My Mind"; productName = "My Mind"; - productReference = 5FCEBEB61E91A00900BA379D /* My Mind.app */; + productReference = 5F5A1D251E8DB0F300BCE63D /* My Mind.app */; productType = "com.apple.product-type.application"; }; - 5FCEBEC91E91A00900BA379D /* My MindTests */ = { + 5F5A1D381E8DB0F300BCE63D /* My MindTests */ = { isa = PBXNativeTarget; - buildConfigurationList = 5FCEBEE11E91A00900BA379D /* Build configuration list for PBXNativeTarget "My MindTests" */; + buildConfigurationList = 5F5A1D501E8DB0F400BCE63D /* Build configuration list for PBXNativeTarget "My MindTests" */; buildPhases = ( - 5FCEBEC61E91A00900BA379D /* Sources */, - 5FCEBEC71E91A00900BA379D /* Frameworks */, - 5FCEBEC81E91A00900BA379D /* Resources */, + 5F5A1D351E8DB0F300BCE63D /* Sources */, + 5F5A1D361E8DB0F300BCE63D /* Frameworks */, + 5F5A1D371E8DB0F300BCE63D /* Resources */, ); buildRules = ( ); dependencies = ( - 5FCEBECC1E91A00900BA379D /* PBXTargetDependency */, + 5F5A1D3B1E8DB0F300BCE63D /* PBXTargetDependency */, ); name = "My MindTests"; productName = "My MindTests"; - productReference = 5FCEBECA1E91A00900BA379D /* My MindTests.xctest */; + productReference = 5F5A1D391E8DB0F300BCE63D /* My MindTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 5FCEBED41E91A00900BA379D /* My MindUITests */ = { + 5F5A1D431E8DB0F300BCE63D /* My MindUITests */ = { isa = PBXNativeTarget; - buildConfigurationList = 5FCEBEE41E91A00900BA379D /* Build configuration list for PBXNativeTarget "My MindUITests" */; + buildConfigurationList = 5F5A1D531E8DB0F400BCE63D /* Build configuration list for PBXNativeTarget "My MindUITests" */; buildPhases = ( - 5FCEBED11E91A00900BA379D /* Sources */, - 5FCEBED21E91A00900BA379D /* Frameworks */, - 5FCEBED31E91A00900BA379D /* Resources */, + 5F5A1D401E8DB0F300BCE63D /* Sources */, + 5F5A1D411E8DB0F300BCE63D /* Frameworks */, + 5F5A1D421E8DB0F300BCE63D /* Resources */, ); buildRules = ( ); dependencies = ( - 5FCEBED71E91A00900BA379D /* PBXTargetDependency */, + 5F5A1D461E8DB0F300BCE63D /* PBXTargetDependency */, ); name = "My MindUITests"; productName = "My MindUITests"; - productReference = 5FCEBED51E91A00900BA379D /* My MindUITests.xctest */; + productReference = 5F5A1D441E8DB0F300BCE63D /* My MindUITests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - 5FCEBEAE1E91A00900BA379D /* Project object */ = { + 5F5A1D1D1E8DB0F300BCE63D /* Project object */ = { isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0830; LastUpgradeCheck = 0830; ORGANIZATIONNAME = "Alexander Davis"; TargetAttributes = { - 5FCEBEB51E91A00900BA379D = { + 5F5A1D241E8DB0F300BCE63D = { CreatedOnToolsVersion = 8.3; - DevelopmentTeam = 28CC8SCVUN; ProvisioningStyle = Automatic; SystemCapabilities = { com.apple.BackgroundModes = { @@ -313,61 +369,60 @@ }; }; }; - 5FCEBEC91E91A00900BA379D = { + 5F5A1D381E8DB0F300BCE63D = { CreatedOnToolsVersion = 8.3; DevelopmentTeam = 28CC8SCVUN; ProvisioningStyle = Automatic; - TestTargetID = 5FCEBEB51E91A00900BA379D; + TestTargetID = 5F5A1D241E8DB0F300BCE63D; }; - 5FCEBED41E91A00900BA379D = { + 5F5A1D431E8DB0F300BCE63D = { CreatedOnToolsVersion = 8.3; DevelopmentTeam = 28CC8SCVUN; ProvisioningStyle = Automatic; - TestTargetID = 5FCEBEB51E91A00900BA379D; + TestTargetID = 5F5A1D241E8DB0F300BCE63D; }; }; }; - buildConfigurationList = 5FCEBEB11E91A00900BA379D /* Build configuration list for PBXProject "My Mind" */; - compatibilityVersion = "Xcode 3.2"; + buildConfigurationList = 5F5A1D201E8DB0F300BCE63D /* Build configuration list for PBXProject "My Mind" */; + compatibilityVersion = "Xcode 8.0"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); - mainGroup = 5FCEBEAD1E91A00900BA379D; - productRefGroup = 5FCEBEB71E91A00900BA379D /* Products */; + mainGroup = 5F5A1D1C1E8DB0F300BCE63D; + productRefGroup = 5F5A1D261E8DB0F300BCE63D /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 5FCEBEB51E91A00900BA379D /* My Mind */, - 5FCEBEC91E91A00900BA379D /* My MindTests */, - 5FCEBED41E91A00900BA379D /* My MindUITests */, + 5F5A1D241E8DB0F300BCE63D /* My Mind */, + 5F5A1D381E8DB0F300BCE63D /* My MindTests */, + 5F5A1D431E8DB0F300BCE63D /* My MindUITests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 5FCEBEB41E91A00900BA379D /* Resources */ = { + 5F5A1D231E8DB0F300BCE63D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FCEBEEA1E91A0B800BA379D /* OnBoard.storyboard in Resources */, - 5FCEBEC41E91A00900BA379D /* LaunchScreen.storyboard in Resources */, - 5FCEBEC11E91A00900BA379D /* Assets.xcassets in Resources */, - 5FCEBEF31E91A25900BA379D /* Login.storyboard in Resources */, - 5FCEBEF11E91A25200BA379D /* Main.storyboard in Resources */, + 5F5A1D331E8DB0F300BCE63D /* LaunchScreen.storyboard in Resources */, + 5F5A1D571E8DB24C00BCE63D /* Sdk in Resources */, + 5F5A1D301E8DB0F300BCE63D /* Assets.xcassets in Resources */, + 5F5A1D2E1E8DB0F300BCE63D /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5FCEBEC81E91A00900BA379D /* Resources */ = { + 5F5A1D371E8DB0F300BCE63D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - 5FCEBED31E91A00900BA379D /* Resources */ = { + 5F5A1D421E8DB0F300BCE63D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -377,108 +432,90 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 72970A95DE21C41243D290B0 /* [CP] Embed Pods Frameworks */ = { + 5F5A1D661E8DB27100BCE63D /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputPaths = ( ); - name = "[CP] Embed Pods Frameworks"; outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - C7C5637EC49A098E10C2ABE0 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - E3E2E445B46619A044835673 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-resources.sh\"\n"; - showEnvVarsInLog = 0; + shellScript = "bash \"${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/AWSCore.framework/strip-frameworks.sh\""; }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 5FCEBEB21E91A00900BA379D /* Sources */ = { + 5F5A1D211E8DB0F300BCE63D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FCEBEFF1E91A2BB00BA379D /* EmergencyView.swift in Sources */, - 5FCEBEFD1E91A2B200BA379D /* SettingsView.swift in Sources */, - 5FCEBEEC1E91A20100BA379D /* OnBoardingController.swift in Sources */, - 5FCEBEBA1E91A00900BA379D /* AppDelegate.swift in Sources */, - 5FCEBEF91E91A29D00BA379D /* ReferralViews.swift in Sources */, - 5FCEBF051E91A81000BA379D /* WelcomeScreenViews.swift in Sources */, - 5FCEBEF71E91A28800BA379D /* ForumView.swift in Sources */, - 5FCEBEFB1E91A2A400BA379D /* AppointmentView.swift in Sources */, - 5FCEBF011E91A74100BA379D /* SignUpViews.swift in Sources */, - 5FE993361E92C3D4002B0FF6 /* OnlineViews.swift in Sources */, - 5FCEBEF51E91A27B00BA379D /* LoginViews.swift in Sources */, + 5FF9721B1E8DBA98007AE280 /* OnBoardingController.swift in Sources */, + 5FF9721E1E8DBAC3007AE280 /* WelcomeScreenOne.swift in Sources */, + 5FF972221E8DBAE1007AE280 /* WelcomeScreenThree.swift in Sources */, + 5FF9722A1E8DCE83007AE280 /* UserViews.swift in Sources */, + 5FF72FEF1E8DDECA00FFD64D /* SignInViewControllerExtensions.swift in Sources */, + 5FF72FF21E8DDECA00FFD64D /* UserPoolNewPasswordViewController.swift in Sources */, + 5FDAA1351E946EDE00FF80D4 /* TabBarController.swift in Sources */, + 5FF72FF01E8DDECA00FFD64D /* UserPoolForgotPasswordViewController.swift in Sources */, + 5FF72FF51E8DDECA00FFD64D /* UserPoolSignUpViewController.swift in Sources */, + 5FF72FF11E8DDECA00FFD64D /* UserPoolMFAViewController.swift in Sources */, + 5F5A1D6B1E8DB2A300BCE63D /* AWSConfiguration.swift in Sources */, + 5FF72FF41E8DDECA00FFD64D /* UserPoolSignUpConfirmationViewController.swift in Sources */, + 5F5A1D6C1E8DB2A300BCE63D /* AWSMobileClient.swift in Sources */, + 5FF9722D1E8DCEA7007AE280 /* SignUpView.swift in Sources */, + 5F5A1D291E8DB0F300BCE63D /* AppDelegate.swift in Sources */, + 5FF972281E8DC9F3007AE280 /* ForumView.swift in Sources */, + 5FF972201E8DBAD9007AE280 /* WelcomeScreenTwo.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5FCEBEC61E91A00900BA379D /* Sources */ = { + 5F5A1D351E8DB0F300BCE63D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FCEBECF1E91A00900BA379D /* My_MindTests.swift in Sources */, + 5F5A1D3E1E8DB0F300BCE63D /* My_MindTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5FCEBED11E91A00900BA379D /* Sources */ = { + 5F5A1D401E8DB0F300BCE63D /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FCEBEDA1E91A00900BA379D /* My_MindUITests.swift in Sources */, + 5F5A1D491E8DB0F300BCE63D /* My_MindUITests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 5FCEBECC1E91A00900BA379D /* PBXTargetDependency */ = { + 5F5A1D3B1E8DB0F300BCE63D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 5FCEBEB51E91A00900BA379D /* My Mind */; - targetProxy = 5FCEBECB1E91A00900BA379D /* PBXContainerItemProxy */; + target = 5F5A1D241E8DB0F300BCE63D /* My Mind */; + targetProxy = 5F5A1D3A1E8DB0F300BCE63D /* PBXContainerItemProxy */; }; - 5FCEBED71E91A00900BA379D /* PBXTargetDependency */ = { + 5F5A1D461E8DB0F300BCE63D /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 5FCEBEB51E91A00900BA379D /* My Mind */; - targetProxy = 5FCEBED61E91A00900BA379D /* PBXContainerItemProxy */; + target = 5F5A1D241E8DB0F300BCE63D /* My Mind */; + targetProxy = 5F5A1D451E8DB0F300BCE63D /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - 5FCEBEC21E91A00900BA379D /* LaunchScreen.storyboard */ = { + 5F5A1D2C1E8DB0F300BCE63D /* Main.storyboard */ = { isa = PBXVariantGroup; children = ( - 5FCEBEC31E91A00900BA379D /* Base */, + 5F5A1D2D1E8DB0F300BCE63D /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 5F5A1D311E8DB0F300BCE63D /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 5F5A1D321E8DB0F300BCE63D /* Base */, ); name = LaunchScreen.storyboard; sourceTree = ""; @@ -486,7 +523,7 @@ /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ - 5FCEBEDC1E91A00900BA379D /* Debug */ = { + 5F5A1D4B1E8DB0F400BCE63D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -536,7 +573,7 @@ }; name = Debug; }; - 5FCEBEDD1E91A00900BA379D /* Release */ = { + 5F5A1D4C1E8DB0F400BCE63D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -579,58 +616,57 @@ }; name = Release; }; - 5FCEBEDF1E91A00900BA379D /* Debug */ = { + 5F5A1D4E1E8DB0F400BCE63D /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 706096029E2D8926F6A27630 /* Pods-My Mind.debug.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "My Mind/My Mind.entitlements"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEVELOPMENT_TEAM = 28CC8SCVUN; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/Pods", - "$(PROJECT_DIR)", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/AmazonAws", + "$(SRCROOT)/**", ); INFOPLIST_FILE = "My Mind/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_BUNDLE_IDENTIFIER = "ADCMNetworks.My-Mind"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; }; name = Debug; }; - 5FCEBEE01E91A00900BA379D /* Release */ = { + 5F5A1D4F1E8DB0F400BCE63D /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4EB7D250E5F6F6ED4ECEE61D /* Pods-My Mind.release.xcconfig */; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_ENTITLEMENTS = "My Mind/My Mind.entitlements"; - CODE_SIGN_IDENTITY = "iPhone Developer: Alexander Davis (6S4KYV4QU7)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEVELOPMENT_TEAM = 28CC8SCVUN; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/My\\ Mind", - "$(PROJECT_DIR)/Pods", - "$(PROJECT_DIR)", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/Sdk/Aws", + "$(PROJECT_DIR)/My\\ Mind/AmazonAws", + "$(SRCROOT)/**", ); INFOPLIST_FILE = "My Mind/Info.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_BUNDLE_IDENTIFIER = "ADCMNetworks.My-Mind"; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; }; name = Release; }; - 5FCEBEE21E91A00900BA379D /* Debug */ = { + 5F5A1D511E8DB0F400BCE63D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -645,7 +681,7 @@ }; name = Debug; }; - 5FCEBEE31E91A00900BA379D /* Release */ = { + 5F5A1D521E8DB0F400BCE63D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -660,7 +696,7 @@ }; name = Release; }; - 5FCEBEE51E91A00900BA379D /* Debug */ = { + 5F5A1D541E8DB0F400BCE63D /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -674,7 +710,7 @@ }; name = Debug; }; - 5FCEBEE61E91A00900BA379D /* Release */ = { + 5F5A1D551E8DB0F400BCE63D /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; @@ -691,43 +727,43 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 5FCEBEB11E91A00900BA379D /* Build configuration list for PBXProject "My Mind" */ = { + 5F5A1D201E8DB0F300BCE63D /* Build configuration list for PBXProject "My Mind" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5FCEBEDC1E91A00900BA379D /* Debug */, - 5FCEBEDD1E91A00900BA379D /* Release */, + 5F5A1D4B1E8DB0F400BCE63D /* Debug */, + 5F5A1D4C1E8DB0F400BCE63D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5FCEBEDE1E91A00900BA379D /* Build configuration list for PBXNativeTarget "My Mind" */ = { + 5F5A1D4D1E8DB0F400BCE63D /* Build configuration list for PBXNativeTarget "My Mind" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5FCEBEDF1E91A00900BA379D /* Debug */, - 5FCEBEE01E91A00900BA379D /* Release */, + 5F5A1D4E1E8DB0F400BCE63D /* Debug */, + 5F5A1D4F1E8DB0F400BCE63D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5FCEBEE11E91A00900BA379D /* Build configuration list for PBXNativeTarget "My MindTests" */ = { + 5F5A1D501E8DB0F400BCE63D /* Build configuration list for PBXNativeTarget "My MindTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5FCEBEE21E91A00900BA379D /* Debug */, - 5FCEBEE31E91A00900BA379D /* Release */, + 5F5A1D511E8DB0F400BCE63D /* Debug */, + 5F5A1D521E8DB0F400BCE63D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 5FCEBEE41E91A00900BA379D /* Build configuration list for PBXNativeTarget "My MindUITests" */ = { + 5F5A1D531E8DB0F400BCE63D /* Build configuration list for PBXNativeTarget "My MindUITests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 5FCEBEE51E91A00900BA379D /* Debug */, - 5FCEBEE61E91A00900BA379D /* Release */, + 5F5A1D541E8DB0F400BCE63D /* Debug */, + 5F5A1D551E8DB0F400BCE63D /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = 5FCEBEAE1E91A00900BA379D /* Project object */; + rootObject = 5F5A1D1D1E8DB0F300BCE63D /* Project object */; } diff --git a/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate b/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate index f3a9414..af4dba1 100644 Binary files a/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate and b/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/WorkspaceSettings.xcsettings b/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..dd7403b --- /dev/null +++ b/My Mind/My Mind.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/WorkspaceSettings.xcsettings @@ -0,0 +1,16 @@ + + + + + BuildLocationStyle + UseAppPreferences + CustomBuildLocationType + RelativeToDerivedData + DerivedDataLocationStyle + Default + IssueFilterStyle + ShowActiveSchemeOnly + LiveSourceIssuesEnabled + + + diff --git a/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..8f94031 --- /dev/null +++ b/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,17 @@ + + + + + + + + + diff --git a/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/My Mind.xcscheme b/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/My Mind.xcscheme index 540a058..d824e95 100644 --- a/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/My Mind.xcscheme +++ b/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/My Mind.xcscheme @@ -14,7 +14,7 @@ buildForAnalyzing = "YES"> @@ -32,7 +32,7 @@ skipped = "NO"> @@ -42,7 +42,7 @@ skipped = "NO"> @@ -52,7 +52,7 @@ @@ -75,7 +75,7 @@ runnableDebuggingMode = "0"> @@ -94,7 +94,7 @@ runnableDebuggingMode = "0"> diff --git a/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist b/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist index a4e4417..e73e3c3 100644 --- a/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/My Mind/My Mind.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist @@ -12,17 +12,17 @@ SuppressBuildableAutocreation - 5FCEBEB51E91A00900BA379D + 5F5A1D241E8DB0F300BCE63D primary - 5FCEBEC91E91A00900BA379D + 5F5A1D381E8DB0F300BCE63D primary - 5FCEBED41E91A00900BA379D + 5F5A1D431E8DB0F300BCE63D primary diff --git a/My Mind/My Mind.xcworkspace/contents.xcworkspacedata b/My Mind/My Mind.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index c8f0afd..0000000 --- a/My Mind/My Mind.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - diff --git a/My Mind/My Mind.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate b/My Mind/My Mind.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 0d73bcc..0000000 Binary files a/My Mind/My Mind.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/My Mind/My Mind/AmazonAws/AWSConfiguration.swift b/My Mind/My Mind/AmazonAws/AWSConfiguration.swift new file mode 100755 index 0000000..3bae96e --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSConfiguration.swift @@ -0,0 +1,29 @@ +// +// AWSConfiguration.swift +// My Mind +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from Amazon Mobile Hub +// +// + +import AWSCore + +let ServiceKey: String = "Prod"; + +// Cognito User Pools Identity Id +let AWSCognitoUserPoolId: String = "eu-west-2_GyTxJ1kUG" + +// Cognito User Pools App Client Id +let AWSCognitoUserPoolAppClientId: String = "2qlv4rkq1ea4sg0v6loen29lph" + +// Cognito User Pools Region +let AWSCognitoUserPoolRegion: AWSRegionType = .EUWest2 + +// Cognito User Pools Client Secret +let AWSCognitoUserPoolClientSecret: String = "19uu3s8skbcoqcdn4dhj6q180q31laf8cr4bopd4k36t8k01jn3j" diff --git a/My Mind/My Mind/AmazonAws/AWSMobileClient.swift b/My Mind/My Mind/AmazonAws/AWSMobileClient.swift new file mode 100755 index 0000000..fbc8d9b --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileClient.swift @@ -0,0 +1,110 @@ +// +// AWSMobileClient.swift +// My Mind +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from Amazon Mobile Hub +// +// + +import Foundation +import UIKit +import AWSCore +import AWSMobileHubHelper +import AWSPinpoint + +/** + * AWSMobileClient is a singleton that bootstraps the app. It creates an identity manager to establish the user identity with Amazon Cognito. + */ +class AWSMobileClient: NSObject { + + // Shared instance of this class + static let sharedInstance = AWSMobileClient() + fileprivate var isInitialized: Bool + //Used for checking whether Push Notification is enabled in Amazon Pinpoint + static let remoteNotificationKey = "RemoteNotification" + fileprivate override init() { + isInitialized = false + super.init() + } + + deinit { + // Should never be called + print("Mobile Client deinitialized. This should not happen.") + } + + /** + * Configure third-party services from application delegate with url, application + * that called this provider, and any annotation info. + * + * - parameter application: instance from application delegate. + * - parameter url: called from application delegate. + * - parameter sourceApplication: that triggered this call. + * - parameter annotation: from application delegate. + * - returns: true if call was handled by this component + */ + func withApplication(_ application: UIApplication, withURL url: URL, withSourceApplication sourceApplication: String?, withAnnotation annotation: Any) -> Bool { + print("withApplication:withURL") + AWSIdentityManager.default().interceptApplication(application, open: url, sourceApplication: sourceApplication, annotation: annotation) + + if (!isInitialized) { + isInitialized = true + } + + return false; + } + + /** + * Performs any additional activation steps required of the third party services + * e.g. Facebook + * + * - parameter application: from application delegate. + */ + func applicationDidBecomeActive(_ application: UIApplication) { + print("applicationDidBecomeActive:") + } + + + /** + * Configures all the enabled AWS services from application delegate with options. + * + * - parameter application: instance from application delegate. + * - parameter launchOptions: from application delegate. + */ + func didFinishLaunching(_ application: UIApplication, withOptions launchOptions: [AnyHashable: Any]?) -> Bool { + print("didFinishLaunching:") + + // Register the sign in provider instances with their unique identifier + + // set up cognito user pool + setupUserPool() + + + let didFinishLaunching: Bool = AWSIdentityManager.default().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions) + + if (!isInitialized) { + AWSIdentityManager.default().resumeSession(completionHandler: { (result: Any?, error: Error?) in + print("Result: \(String(describing: result)) \n Error:\(String(describing: error))") + }) // If you get an EXC_BAD_ACCESS here in iOS Simulator, then do Simulator -> "Reset Content and Settings..." + // This will clear bad auth tokens stored by other apps with the same bundle ID. + isInitialized = true + } + + return didFinishLaunching + } + + func setupUserPool() { + // register your user pool configuration + AWSCognitoUserPoolsSignInProvider.setupUserPool(withId: AWSCognitoUserPoolId, cognitoIdentityUserPoolAppClientId: AWSCognitoUserPoolAppClientId, cognitoIdentityUserPoolAppClientSecret: AWSCognitoUserPoolClientSecret, region: AWSCognitoUserPoolRegion) + + AWSSignInProviderFactory.sharedInstance().register(signInProvider: AWSCognitoUserPoolsSignInProvider.sharedInstance(), forKey:AWSCognitoUserPoolsSignInProviderKey) + + } + + +} diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/AWSMobileHubHelper b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/AWSMobileHubHelper new file mode 100755 index 0000000..58280f7 Binary files /dev/null and b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/AWSMobileHubHelper differ diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSAuthorizationManager.h new file mode 100755 index 0000000..02c39db --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSAuthorizationManager.h @@ -0,0 +1,77 @@ +// +// AWSAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import +#import + +extern NSString * _Nonnull const AWSAuthorizationManagerErrorDomain; + +typedef NS_ENUM(NSUInteger, AWSAuthorizationManagerError) { + AWSAuthorizationErrorUserCancelledFlow, + AWSAuthorizationErrorConnectionError, + AWSAuthorizationErrorFailedToRetrieveAccessToken, + AWSAuthorizationErrorMissingRequiredParameter, +}; + +@interface AWSAuthorizationManager : NSObject + +/** + * Singleton used to authorize user during OAuth1.0, 2.0, other flows. + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Utility method that constructs form encoded portion of url + * i.e. @{@"grant": @"code", @"client_id": @"abc123"} -> @"grant=code&client_id=abc123&" + * + * @return the string representation of a form + */ ++ (NSString * _Nonnull)constructURIWithParameters:(NSDictionary * _Nonnull)params; + +/** + * Utility method that constructs dictionary from simple form encoded url + * i.e. @"grant=code&client_id=abc123" -> @{@"grant": @"code", @"client_id": @"abc123"} + * + * @return the dictionary representation of a url encoded form + */ ++ (NSDictionary * _Nonnull)constructParametersWithURI:(NSString * _Nonnull)formString; + +/** + * Starts the authorization flow. Should be called from main thread. + * + * @param authorizeViewController The view controller that user sees right before they should see a login screen. + * @param completionHandler The code that will follow after receiving successful login. Executes BEFORE login screen is dismissed. + */ +- (void)authorizeWithView:(UIViewController * _Nonnull)authorizeViewController completionHandler:(void (^ _Nullable)(id _Nullable result, NSError * _Nullable error)) completionHandler; + +/** + * This method should be placed in the AppDelegate to listen for the redirect URI. + * + * - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation + * + * @param url The url that the authorization flow gives back. + * @return YES if the url matches an expected response, NO if it is not expected. + */ +- (BOOL)handleURL:(NSURL * _Nullable)url; + +/** + * @return the accessToken used for API calls + */ +- (NSString * _Nullable)getAccessToken; + +/** + * Starts the logout flow. Should be called from main thread. + * + * @param logoutViewController The view controller that user sees right before they should see a logout indication. + * @param completionHandler The code that will follow after receiving successful login. Executes BEFORE login screen is dismissed. + */ +- (void)logout:(UIViewController * _Nonnull)logoutViewController completionHandler:(void (^ _Nullable)(id _Nullable result, NSError * _Nullable error)) completionHandler; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSCloudLogic.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSCloudLogic.h new file mode 100755 index 0000000..4a07bdf --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSCloudLogic.h @@ -0,0 +1,140 @@ +// +// AWSCloudLogic.h +// +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * Cloud logic helper singleton class that provides convenient interface to invoke + * AWS Lambda functions and handle the results asynchronously. + * Requires the AWSLambda framework of AWSiOSSDK. + */ +@interface AWSCloudLogic : NSObject + +/** + Returns the default Cloud Logic singleton instance configured using the information provided in `Info.plist` file. + + *Swift* + + let cloudLogic = AWSCloudLogic.default() + + *Objective-C* + + AWSCloudLogic *cloudLogic = [AWSCloudLogic defaultCloudLogic]; + + */ ++ (instancetype)defaultCloudLogic; + +/** + Creates a helper client for `AWSCloud` for specified configuration with mentioned key. + Use this method only if you require a helper client with specific configuration. + + For example, set the configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + + AWSCloudLogic.register(with: configuration, forKey: "USWest2CloudLogic") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + [AWSCloudLogic registerCloudLogicWithConfiguration:configuration + forKey:@"USWest2CloudLogic"]; + + Then call the following to get the helper client: + + *Swift* + + let cloudLogic = AWSCloudLogic(forKey: "USWest2CloudLogic") + + *Objective-C* + + AWSCloudLogic *cloudLogic = [AWSCloudLogic cloudLogicForKey:@"USWest2CloudLogic"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param serviceConfiguration AWSServiceConfiguration object for the cloud logic. + @param key A string to identify the helper client. + */ ++ (void)registerCloudLogicWithConfiguration:(AWSServiceConfiguration *)serviceConfiguration + forKey:(NSString *)key; + +/** + Retrieves the helper client associated with the key. You need to call `+ registercloudLogicWithConfiguration:` before invoking this method. If `+ registercloudLogicWithConfiguration:` has not been called in advance or the key does not exist, this method returns `nil`. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + + AWSCloudLogic.registercloudLogicWithConfiguration(configuration, forKey: "USWest2cloudLogic") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + [AWSCloudLogic registercloudLogicWithConfiguration:configuration + forKey:@"USWest2cloudLogic"]; + + Then call the following to get the helper client: + + *Swift* + + let CloudLogic = AWSCloudLogic(forKey: "USWest2cloudLogic") + + *Objective-C* + + AWSCloudLogic *CloudLogic = [AWSCloudLogic CloudLogicForKey:@"USWest2cloudLogic"]; + + @param key A string to identify the helper client. + @return An instance of AWSCloudLogic for specified key. + */ ++ (instancetype)CloudLogicForKey:(NSString *)key; + +/** + Removes the helper client associated with the key and release it. + + *Swift* + + AWSCloudLogic.remove(forKey: "USWest2CloudLogic") + + *Objective-C* + + [AWSCloudLogic removeCloudLogicForKey:@"USWest2CloudLogic"]; + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the helper client. + */ ++ (void)removeCloudLogicForKey:(NSString *)key; + +/** + Invokes the specified AWS Lambda function and passes the results and possible error back to the application asynchronously. + + @param name AWS Lambda function name, e.g., hello-world + @param parameters The object from which to generate JSON request data. Can be `nil`. + @param completionBlock handler for results from the function + */ +- (void)invokeFunction:(NSString *)name + withParameters:(nullable id)parameters + completionBlock:(void (^)(id _Nullable result, NSError * _Nullable error))completionBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSCognitoUserPoolsSignInProvider.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSCognitoUserPoolsSignInProvider.h new file mode 100755 index 0000000..6aa6ff0 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSCognitoUserPoolsSignInProvider.h @@ -0,0 +1,86 @@ +// +// AWSCognitoUserPoolsSignInProvider.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +#import +#import "AWSSignInProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSCognitoUserPoolsSignInProviderKey; + +@protocol AWSCognitoUserPoolsSignInHandler + +/** + * This method is called when `loginWithSignInProvider` is called by `AWSIdentityManager`. + * This method should handle the input from the user and set the `taskCompletionSournce` result required by Cognito Idp SDK. + */ +- (void)handleUserPoolSignInFlowStart; + +@end + +/** + * `AWSCognitoUserPoolsSignInProvider` adopts the `AWSSignInProvider` protocol. + * + * It works with the AWS Cognito User Pools SDK internally. + */ +@interface AWSCognitoUserPoolsSignInProvider : NSObject + +/** + * Registers the cognito pool with specified configuration. The pool object can be accessed by using the `CognitoIdentityUserPoolForKey:` method using `AWSCognitoUserPoolsSignInProviderKey` as the identifier key. + * + * @param cognitoIdentityUserPoolId The Cognito Identity User Pool Id + * @param cognitoIdentityUserPoolAppClientId The Cognito Identity User Pool Client Id + * @param cognitoIdentityUserPoolAppClientSecret The Cognito Identity User Pool Client Secret + * @param region The Cognito Identity User Pool Service Region + */ ++ (void)setupUserPoolWithId:(NSString *)cognitoIdentityUserPoolId +cognitoIdentityUserPoolAppClientId:(NSString *)cognitoIdentityUserPoolAppClientId +cognitoIdentityUserPoolAppClientSecret:(NSString *)cognitoIdentityUserPoolAppClientSecret + region:(AWSRegionType)region; + +/** + Fetches the shared instance for AWSCognitoUserPoolsSignInProvider. The method `setupUserPoolWithId:cognitoIdentityUserPoolAppClientId:cognitoIdentityUserPoolAppClientSecret:region` has to be called once before accessing the shared instance. + + @return the single instance of AWSCognitoUserPoolsSignInProvider + */ ++ (instancetype)sharedInstance; + +/** + * Set the instance of the class adopting the `AWSCognitoIdentityInteractiveAuthenticationDelegate` protocol of Cognito Idp SDK. + * + * @param interactiveAuthDelegate A class adopting the `AWSCognitoIdentityInteractiveAuthenticationDelegate` protocol + */ +- (void)setInteractiveAuthDelegate:(id)interactiveAuthDelegate; + +/** + * Returns the status of the current user pool user. + * + * @return `YES` if the user is signed in. + */ +- (BOOL)isLoggedIn; + +/** + * Sets the userName value of the signed-in user into a persistent store. + * Should be called on a successful login to set the user name which is used by `AWSIdentityManager`. + * + * @param userName the user name of the signed-in user + */ +- (void)setUserName:(NSString *)userName; + +/** + * Sets the imageURL value of the signed-in user into a persistent store. + * Should be called on a successful login to set the user name which is used by `AWSIdentityManager`. + * + * @param imageURL the image URL for a picture of the signed-in user + */ +- (void)setImageURL:(NSURL *)imageURL; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSContentManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSContentManager.h new file mode 100755 index 0000000..55dfcb6 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSContentManager.h @@ -0,0 +1,601 @@ +// +// AWSContentManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + * The error domain for `AWSContentManager`. + */ +FOUNDATION_EXPORT NSString *const AWSContentManagerErrorDomain; + +/** + * The error codes for `AWSContentManager`. + */ +typedef NS_ENUM(NSInteger, AWSContentManagerErrorType){ + /** + * Generic error. + */ + AWSContentManagerErrorTypeUnknown, + /** + * Initiated a transfer on a content that is already running. + */ + AWSContentManagerErrorTypeTransferAlreadyInProgress, + /** + * Initiated a transfer on a directory. Directories cannot be downloaded. + */ + AWSContentManagerErrorTypeDirectoryCannotBeDownloaded, + /** + * A server returned a client exception (e.g. HTTP status code 4xx). + */ + AWSContentManagerErrorTypeClientException, + /** + * A server returned a service exception (e.g. HTTP status code 5xx). + */ + AWSContentManagerErrorTypeServiceException, +}; + +@class AWSContent; +@class AWSContentManagerConfiguration; + +/** + * The Content Manager manages caching and transfer of files from Amazon S3 and/or + * Amazon CloudFront. It lists files directly using S3, regardless of whether + * Amazon CloudFront is in use. It maintains a size-limited cache for files stored + * on the local device and provides operations to set the cache size limit and + * clear files from the local cache. It serves as the application's interface into + * the Content Delivery feature. Content Manager instances are also used internally + * for the User Files feature. + * Requires the AWSS3 framework of AWSiOSSDK. + */ +@interface AWSContentManager : NSObject + +/** + * Local cache size limit in bytes. + */ +@property (nonatomic, assign) NSUInteger maxCacheSize; + +/** + * Local cache bytes used. + */ +@property (nonatomic, readonly) NSUInteger cachedUsedSize; + +/** + * Number of bytes pinned in the cache. Pinned items do not count towards the + * cache size limit. + */ +@property (nonatomic, readonly) NSUInteger pinnedSize; + +/** + Returns the default Content Manager singleton instance configured using the information provided in `Info.plist` file. + + *Swift* + + let contentManager = AWSContentManager.default() + + *Objective-C* + + AWSContentManager *contentManager = [AWSContentManager defaultContentManager]; + + */ ++ (instancetype)defaultContentManager; + +/** + Creates a helper client for AWSContentManager for specified configuration with mentioned key. + Use this method only if you require a helper client with specific configuration. + + For example, set the configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + let contentManagerConfiguration = AWSContentManagerConfiguration(bucketName: "myBucket") + + AWSContentManager.register(with: contentManagerConfiguration, forKey: "defaultManager") + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSContentManagerConfiguration *contentManagerConfiguration = [[AWSContentManager alloc] initWithBucketName:@"myBucketName"]; + [AWSContentManager registerUserFileManagerWithConfiguration:contentManagerConfiguration + forKey:@"defaultManager"]; + return YES; + } + + Then call the following to get the helper client: + + *Swift* + + let contentManager = AWSContentManager(forKey: "defaultManager") + + *Objective-C* + + AWSContentManager *contentManager = [AWSContentManager contentManagerForKey:@"defaultManager"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param contentManagerConfiguration AWSContentManagerConfiguration object for the manager. + @param key A string to identify the helper client. + */ ++ (void)registerContentManagerWithConfiguration:(AWSContentManagerConfiguration *)contentManagerConfiguration + forKey:(NSString *)key; + +/** + Retrieves the helper client associated with the key. You need to call `+ registerContentManagerWithConfiguration:forKey:` before invoking this method. If `+ registerContentManagerWithConfiguration:forKey:` has not been called in advance or the key does not exist, this method returns `nil`. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + let contentManagerConfiguration = AWSContentManagerConfiguration(bucketName: "myBucket") + + AWSContentManager.register(with: contentManagerConfiguration, forKey: "defaultManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSContentManagerConfiguration *contentManagerConfiguration = [[AWSContentManager alloc] initWithBucketName:@"myBucketName"]; + [AWSContentManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"defaultManager"]; + + Then call the following to get the helper client: + + *Swift* + + let ContentManager = AWSContentManager(forKey: "defaultManager") + + *Objective-C* + + AWSContentManager *ContentManager = [AWSContentManager ContentManagerForKey:@"defaultManager"]; + + @param key A string to identify the helper client. + @return An instance of AWSUserFileManager for specified key. + */ ++ (instancetype)ContentManagerForKey:(NSString *)key; + +/** + Removes the helper client associated with the key and release it. + + *Swift* + + AWSContentManager.remove(forKey: "defaultManager") + + *Objective-C* + + [AWSContentManager removeContentManagerForKey:@"defaultManager"]; + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the helper client. + */ ++ (void)removeContentManagerForKey:(NSString *)key; + +/** + Loads the list of available files in the Amazon S3 bucket under the folder specified by the prefix parameter. Results are paged with page size of 100 files. The marker parameter value returned from a call should be passed to a subsequent call, in order to page through the list of files. + + *Swift* + + let contentManager = AWSContentManager(forKey: "defaultManager") + manager.listAvailableContents(withPrefix: "prefix", marker: marker, completionHandler: {(contents: [AWSContent]?, nextMarker: String?, error: Error?) -> Void in + if let error = error { + print("Failed to load the list of contents. \(error)") + // handle content load failure here + } + if let contents = contents, contents.count > 0 { + // Use marker and contents here + } + // handle successful result here + }) + + *Objective-C* + + AWSContentManager *contentManager = [AWSContentManager contentManagerForKey:@"defaultManager"]; + [contentManager + listAvailableContentsWithPrefix:@"prefix" + marker:marker + completionHandler:^(NSArray *contents, NSString *nextMarker, NSError *error) { + if (error) { + NSLog(@"Failed to load the list of contents. %@", error); + // handle content load failure here + } + if (contents.count > 0) { + // Use marker and contents here + } + // handle successful result here + }]; + + @param prefix Limits the response to keys that begin with the specified prefix. + @param marker The key to start with when listing objects in a bucket. It loads object metadata from the S3 bucket in alphabetical order, starting with the key after the marker in order. + @param completionHandler The completion handler that returns the results and error. + */ +- (void)listAvailableContentsWithPrefix:(nullable NSString *)prefix + marker:(nullable NSString *)marker + completionHandler:(void (^)(NSArray * _Nullable contents, NSString * _Nullable marker, NSError * _Nullable error))completionHandler; + +/** + Returns a list of contents that fit in the available cache. The list is sorted by last modified date on the S3 bucket, the most recently modified one first. + + *Swift* + + let contentManager = AWSContentManager(forKey: "defaultManager") + contentManager.listRecentContents(withPrefix: "prefix", completionHandler: {(result: [AWSContent]?, error: Error?) -> Void in + if let error = error { + print("Failed to load the list of recent contents. \(error)") + // Handle error here + } + if let downloadResult: [AWSContent] = result { + // Handle successful result here + for content: AWSContent in downloadResult { + // Handle each of the item in the result + } + } + }) + + *Objective-C* + + AWSContentManager *contentManager = [AWSContentManager contentManagerForKey:@"defaultManager"]; + [contentManager listRecentContentsWithPrefix:@"prefix" + completionHandler:^(NSArray * result, NSError *error) { + if (error) { + NSLog(@"%@", error.description); + } + for (AWSContent *content in result) { + // Handle each of the item in result + } + }]; + + + @param prefix Limits the response to keys that begin with the specified prefix. + @param completionHandler The completion handler that returns the result and error. + */ +- (void)listRecentContentsWithPrefix:(nullable NSString *)prefix + completionHandler:(void (^)(NSArray * _Nullable result, NSError * _Nullable error))completionHandler; + +/** + * Removes all cached contents. It does not modify the remote objects. + */ +- (void)clearCache; + +/** + Returns an instance of `AWSContent` for a given key. You can use this method to download content without first load its metadata using `- loadContentMetadataWithPrefix:marker:completionHandler:`. + + @param key The key of the content. + + @return An instance of `AWSContent`. + */ +- (AWSContent *)contentWithKey:(NSString *)key; + +@end + +/** + * Status of content item download. + */ +typedef NS_ENUM(NSInteger, AWSContentStatusType){ + /** + * Unknown status. This should not happen. + */ + AWSContentStatusTypeUnknown, + /** + * Has been created but has not started running yet. + */ + AWSContentStatusTypeNotStarted, + /** + * Is running and transferring data from/to the remote server. + */ + AWSContentStatusTypeRunning, + /** + * Has completed transferring data from/to the remote server. + */ + AWSContentStatusTypeCompleted, + /** + * Has failed to transfer data from/to the remote server. + */ + AWSContentStatusTypeFailed, +}; + +/** + * Policy to use when downloading a file. + */ +typedef NS_ENUM(NSInteger, AWSContentDownloadType){ + /** + * Downalods a file if not cached locally. + */ + AWSContentDownloadTypeIfNotCached, + /** + * Downloads a file if not cached locally or the remote version is newer than the locally cached version. + */ + AWSContentDownloadTypeIfNewerExists, + /** + * Downloads a file and overwrite it if the local cache exists. + */ + AWSContentDownloadTypeAlways, +}; + +/** + * The content object that holds the cached data and its metadata. + */ +@interface AWSContent : NSObject + +/** + * The Amazon S3 key associated with the content. + */ +@property (nonatomic, readonly) NSString *key; + +/** + * Shows if the content is a directory. + */ +@property (nonatomic, readonly, getter=isDirectory) BOOL directory; + +/** + * The status of the content. + */ +@property (nonatomic, readonly) AWSContentStatusType status; + +/** + * The transfer progress. + */ +@property (nonatomic, readonly) NSProgress *progress; + +/** + * The last known size reported by the Amazon S3. May be different from the actual size if the file was modified on the server. + */ +@property (nonatomic, readonly) NSUInteger knownRemoteByteCount; + +/** + * The last known last modified date reported by the Amazon S3. May be different from the actual last modified date if the file was modified on the server. + */ +@property (nonatomic, readonly) NSDate * _Nullable knownRemoteLastModifiedDate; + +/** + * The cached data object. + */ +@property (nonatomic, readonly) NSData *cachedData; + +/** + * The cached data size. + */ +@property (nonatomic, readonly) NSUInteger fileSize; + +/** + * The date the cached data was downloaded. + */ +@property (nonatomic, readonly) NSDate * _Nullable downloadedDate; + +/** + * Wheather the content is locally cached. + */ +@property (nonatomic, readonly, getter=isCached) BOOL cached; + +/** + * Weather the content is pinned. Pinned objects are not subject to the content cache limit. + */ +@property (nonatomic, readonly, getter=isPinned) BOOL pinned; + +/** + Downloads a file from the remote server. + + *Swift* + + func downloadContent(content: AWSContent, pinOnCompletion: Bool) { + content.download(with: .ifNewerExists, pinOnCompletion: pinOnCompletion, progressBlock: { (content: AWSContent, content: Progress) in + // Handle progress feedback + }, completionHandler: { (content: AWSContent?, data: Data?, error: Error?) in + if let error = error { + print("Failed to download a content from a server.)") + // Handle error here + return + } + // Handle successful download here + }) + } + + *Objective-C* + + - (void)downloadContent:(AWSContent *)content + pinOnCompletion:(BOOL)pinOnCompletion { + [content downloadWithDownloadType:AWSContentDownloadTypeIfNewerExists + pinOnCompletion:pinOnCompletion + progressBlock:^(AWSContent *content, NSProgress *progress) { + // Handle progress feedback + } + completionHandler:^(AWSContent *content, NSData *data, NSError *error) { + if (error) { + NSLog(@"Failed to download a content from a server. %@", error); + // Handle error here + return; + } + // Handle successful download here + }]; + } + + @param loadingType Specifies the loading behavior for downloading data. + @param pinOnCompletion When set to `YES`, it pins the content on completion. You can download a content that does not fit in the content cache by setting it to `YES`. + @param progressBlock The progress feedback block. + @param completionHandler The completion handler block. + */ +- (void)downloadWithDownloadType:(AWSContentDownloadType)loadingType + pinOnCompletion:(BOOL)pinOnCompletion + progressBlock:(void(^ _Nullable)(AWSContent *content, NSProgress *progress))progressBlock + completionHandler:(void(^)(AWSContent * _Nullable content, NSData * _Nullable data, NSError * _Nullable error))completionHandler; + +/** + Gets Presigned URL or the Cloud Front URL for the file. + + *Swift* + + func getContentURL(content: AWSContent) { + content.getRemoteFileURLWithCompletionHandler({ (url: URL?, error: Error?) -> Void in + guard let url = url else { + NSLog("Error getting URL for file. \(error)") + return + } + // Handle successfully generated URL here + }) + } + + *Objective-C* + + - (void)getContentURL:(AWSContent *)content { + [content getRemoteFileURLWithCompletionHandler:^(NSURL *url, NSError *error) { + if (error) { + NSLog(@"Failed to get a valid URL from a server. %@", error); + } + // handle successfully generated URL here + }]; + } + + @param completionHandler The completion handler block. + */ +- (void)getRemoteFileURLWithCompletionHandler:(void(^)(NSURL * _Nullable url, NSError * _Nullable error))completionHandler; + +/** + * Pins the locally cached object. Pinned objects are not subject to the content cache limit. + */ +- (void)pin; + +/** + * Unpins the pinned object. It may purge the content cache if the content cache does not have enough available space to fit the unpinned data. + */ +- (void)unPin; + +/** + * Removes locally cached data regardless of the pinning status. + */ +- (void)removeLocal; + +@end + +/** + * `AWSContentManagerConfiguration` is the configuration object for `AWSContentManager` class. + */ +@interface AWSContentManagerConfiguration: NSObject + +@property (nonatomic, readonly) AWSServiceConfiguration *serviceConfiguration; +@property (nonatomic, readonly) NSString *bucketName; +@property (nonatomic, readonly, nullable) NSString *cloudFrontURL; + + +/** + Returns an instance of `AWSContentManagerConfiguration` using the default service configuration and specified bucket name. Use this as the configuration object for AWSContentManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + let contentManagerConfiguration = AWSContentManagerConfiguration(bucketName: "myBucket") + + AWSContentManager.register(with: contentManagerConfiguration, forKey: "defaultManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSContentManagerConfiguration *contentManagerConfiguration = [[AWSContentManager alloc] initWithBucketName:@"myBucketName"]; + [AWSContentManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"defaultManager"]; + + + @param bucketName Name of the bucket for manager + @return an instance of AWSUserFileManagerConfiguration + */ +- (instancetype)initWithBucketName:(NSString *)bucketName; + +/** + Returns an instance of`AWSContentManagerConfiguration` using the specified bucket name, CloudFront URL and the default service configuration. Use this as the configuration object for AWSContentManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration; + + let contentManagerConfiguration = AWSContentManagerConfiguration(bucketName: "myBucket", cloudFrontURL: "https:/a.b.myurl") + + AWSContentManager.register(with: contentManagerConfiguration, forKey: "defaultManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSContentManagerConfiguration *contentManagerConfiguration = [[AWSContentManager alloc] initWithBucketName:@"myBucketName" + cloudFrontURL:@"https:/a.b.myurl"]; + [AWSContentManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"defaultManager"]; + + + @param bucketName Name of the bucket for manager + @param cloudFrontURL CloudFront URL for the bucket if enabled; nil otherwise + @return an instance of AWSUserFileManagerConfiguration + */ +- (instancetype)initWithBucketName:(NSString *)bucketName + cloudFrontURL:(nullable NSString *)cloudFrontURL; + + +/** + Returns an instance of `AWSContentManagerConfiguration` using the specified bucket name, CloudFront URL and service configuration. Use this as the configuration object for AWSContentManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + + let contentManagerConfiguration = AWSContentManagerConfiguration(bucketName: "myBucket", cloudFrontURL: "https:/a.b.myurl", serviceConfiguration: configuration) + + AWSContentManager.register(with: contentManagerConfiguration, forKey: "USWest2BucketContentManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSContentManagerConfiguration *contentManagerConfiguration = [[AWSContentManager alloc] initWithBucketName:@"myBucketName" + cloudFrontURL:@"https:/a.b.myurl" + serviceConfiguration:configuration]; + [AWSContentManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"USWest2BucketContentManager"]; + + + @param bucketName Name of the bucket for manager + @param cloudFrontURL CloudFront URL for the bucket if enabled; nil otherwise + @param serviceConfiguration AWSServiceConfiguration for the bucket; nil for default configuration + @return an instance of AWSUserFileManagerConfiguration + */ +- (instancetype)initWithBucketName:(NSString *)bucketName + cloudFrontURL:(nullable NSString *)cloudFrontURL + serviceConfiguration:(nullable AWSServiceConfiguration *)serviceConfiguration; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSFacebookSignInProvider.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSFacebookSignInProvider.h new file mode 100755 index 0000000..14c48b0 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSFacebookSignInProvider.h @@ -0,0 +1,55 @@ +// +// AWSFacebookSignInProvider.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import +#import "AWSSignInProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSFacebookSignInProviderKey; + +/** + * `AWSFacebookSignInProvider` adopts the `AWSSignInProvider` protocol. + * + * It works with the FacebookLoginSDK internally and uses the Facebook App ID specified in the info.plist file. + */ +@interface AWSFacebookSignInProvider : NSObject + +/** + Fetches the singleton instance of AWSFacebookSignInProvider. + + @return the singleton instance of AWSFacebookSignInProvider + */ ++ (instancetype)sharedInstance; + +/** + Sets the login behavior of the Facebook SignIn SDK. + Choices are listed in enum FBSDKLoginBehavior. + Default behaviors for iOS: + 9+ SFSafariViewController used. + 8 WebViewController used. + @loginBehavior a FBSDKLoginBehavior enum entry + */ +- (void)setLoginBehavior:(NSUInteger)loginBehavior; + +/** + Sets the permissions requested during login. + Default behavior is no permissions are required. + */ +- (void)setPermissions:(NSArray *)permissions; + +/** + Sets the ViewController used for Facebook SignIn. + Defaults to nil and handled by Facebook SDK. + */ +- (void)setViewControllerForFacebookSignIn:(UIViewController *)signInViewController; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSGoogleSignInProvider.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSGoogleSignInProvider.h new file mode 100755 index 0000000..4c78cbb --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSGoogleSignInProvider.h @@ -0,0 +1,44 @@ +// +// AWSGoogleSignInProvider.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +#import +#import "AWSSignInProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSGoogleSignInProviderKey; + +/** + * `AWSGoogleSignInProvider` adopts the `AWSSignInProvider` protocol. + * + * It works with the Google Sign In SDK internally and requires the Google Client ID provided by Google. + */ +@interface AWSGoogleSignInProvider : NSObject + +/** + Fetches the shared instance for AWSGoogleSignInProvider. + + @return the single instance of AWSGoogleSignInProvider + */ ++ (instancetype)sharedInstance; + +/** + Sets the scopes required by the app during login. + Defaults are openid and profile. + */ +- (void)setScopes:(NSArray *)scopes; + +/** + Sets the ViewController used for Google SignIn. + Defaults to rootViewController in keyWindow during signin. + */ +- (void)setViewControllerForGoogleSignIn:(UIViewController *)signInViewController; + +@end + +NS_ASSUME_NONNULL_END \ No newline at end of file diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSHubspotAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSHubspotAuthorizationManager.h new file mode 100755 index 0000000..b50ac37 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSHubspotAuthorizationManager.h @@ -0,0 +1,57 @@ +// +// AWSHubspotAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSAuthorizationManager.h" + +@interface AWSHubspotAuthorizationManager : AWSAuthorizationManager + +/** + * Singleton used to authorize user during OAuth2.0 + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Customize the flow. + * + * @param clientID The client ID provided by Hubspot + * @param portalID The portal ID provided by Hubspot + * @param redirectURI The redirect URI that your app has registered + * i.e. https://mysampleapp.amazonaws.com/hubspot/success + */ +- (void)configureWithClientID:(NSString * _Nonnull)clientID + portalID:(NSString * _Nonnull)portalID + redirectURI:(NSString * _Nonnull)redirectURI; + +/** + * Offline Access offline This application can make API requests on behalf of the user when + * the user is offline (not actively using the app). You will receive + * a refresh token when the user authenticates that you can store to + * gain access to a new, valid access token programtically using the + * refresh token method. + * Contacts Read/Write contacts-rw This application reads your contact information, as well as creates + * new contacts, contact lists, and contact properties. It can also + * modify existing contacts, properties, and contact lists. + * Contacts Read-Only contacts-ro This application can read your contact information, as well as + * information about your contact properties and contact lists. + * Blog Read/Write blog-rw This application can read your blog data, including posts and + * comments, as well as create new blog posts and comments. + * Blog Read-Only blog-ro This application can read your blog data, including posts and comments. + * Events Read/Write events-rw This application can read your marketing events, as well as post + * new ones into your HubSpot account. + * Keywords Read/Write keyword-rw This application can read your keyword data, as well as insert new + * ones into your HubSpot account. + * + * @param scope Specify the amount of access the user would like. + * i.e. @"contacts-rw" + * @"contacts-rw+blog-rw" + */ +- (void)setScope:(NSString * _Nonnull)scope; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSIdentityManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSIdentityManager.h new file mode 100755 index 0000000..6876f41 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSIdentityManager.h @@ -0,0 +1,118 @@ +// +// AWSIdentityManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +#import +#import +#import +#import "AWSSignInProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSIdentityManagerDidSignInNotification; +FOUNDATION_EXPORT NSString *const AWSIdentityManagerDidSignOutNotification; + +@interface AWSIdentityManager : NSObject + +/** + * Indicates whether the user is signed-in or not. + * @return true if user is signed-in + */ +@property (nonatomic, readonly, getter=isLoggedIn) BOOL loggedIn; + +/** + * URL for the user's image, if user is signed-in with a third party identity provider, + * like Facebook or Google. + * @return url of image file, if user is signed-in + */ +@property (nonatomic, readonly, nullable) NSURL * imageURL; + +/** + * User name acquired from third party identity provider, such as Facebook or Google. + * @return user name, if user is signed-in + */ +@property (nonatomic, readonly, nullable) NSString * userName; + +/** + * Amazon Cognito User Identity ID. This uniquely identifies the user, regardless of + * whether or not the user is signed-in, if User Sign-in is enabled in the project. + * @return unique user identifier + */ +@property (nonatomic, readonly, nullable) NSString *identityId; + +/** + * Amazon Cognito Credentials Provider. This is the credential provider used by the Identity Manager. + * + * @return the cognito credentials provider + */ +@property (nonatomic, readonly, strong) AWSCognitoCredentialsProvider *credentialsProvider; + +/** + Returns the Identity Manager singleton instance configured using the information provided in `Info.plist` file. + + *Swift* + + let identityManager = AWSIdentityManager.default() + + *Objective-C* + + AWSIdentityManager *identityManager = [AWSIdentityManager defaultIdentityManager]; + */ ++ (instancetype)defaultIdentityManager; + +/** + * Signs the user out of whatever third party identity provider they used to sign in. + * @param completionHandler used to callback application with async operation results + */ +- (void)logoutWithCompletionHandler:(void (^)(id _Nullable result, NSError * _Nullable error))completionHandler; + +/** + * Signs the user in with an identity provider. Note that even if User Sign-in is not + * enabled in the project, the user is still signed-in with the Guest type provider. + * @param signInProviderType provider type + * @param completionHandler used to callback application with async operation results + */ +- (void)loginWithSignInProvider:(id)signInProvider + completionHandler:(void (^)(id _Nullable result, NSError * _Nullable error))completionHandler NS_SWIFT_NAME(login(signInProvider:completionHandler:)); + +/** + * Attempts to resume session with the previous sign-in provider. + * @param completionHandler used to callback application with async operation results + */ +- (void)resumeSessionWithCompletionHandler:(void (^)(id _Nullable result, NSError * _Nullable error))completionHandler; + +/** + * Passes parameters used to launch the application to the current identity provider. For some + * third party providers, this completes the User Sign-in call flow, which used a browser to + * get information from the user, directly. The current sign-in provider will be set to nil if + * the sign-in provider is not registered using `registerAWSSignInProvider:forKey` method of + * `AWSSignInProviderFactory` class. + * @param application application + * @param launchOptions options used to launch the application + * @return true if this call handled the operation + */ +- (BOOL)interceptApplication:(UIApplication *)application +didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions; + +/** + * Passes parameters used to launch the application to the current identity provider. For some + * third party providers, this completes the User Sign-in call flow, which used a browser to + * get information from the user, directly. + * @param application application + * @param url url used to open the application + * @param sourceApplication source application + * @param annotation annotation + * @return true if this call handled the operation + */ +- (BOOL)interceptApplication:(UIApplication *)application + openURL:(NSURL *)url + sourceApplication:(nullable NSString *)sourceApplication + annotation:(id)annotation; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMSDynamicsAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMSDynamicsAuthorizationManager.h new file mode 100755 index 0000000..a756ff5 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMSDynamicsAuthorizationManager.h @@ -0,0 +1,55 @@ +// +// AWSMSDynamicsAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSAuthorizationManager.h" + +@interface AWSMSDynamicsAuthorizationManager : AWSAuthorizationManager + +/** + * Singleton used to authorize user during OAuth2.0 + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Customize the flow. + * + * @param clientID The client ID provided by Microsoft Dynamics + * @param redirectURI The redirect URI you provided Microsoft Dynamics + * i.e. https://mysampleapp.amazonaws.com/msdynamics/success + * @param resource The URL of the resource you will access + */ +- (void)configureWithClientID:(NSString * _Nonnull)clientID + redirectURI:(NSString * _Nonnull)redirectURI + resource:(NSString * _Nonnull)resource; +/** + * @param The version of Microsoft Dynamics API you are using. + * The default value is "v8.0" + */ +- (void)setAPIVersion:(NSString * _Nonnull)apiVersion; + +/** + * @return The token type. Available after user authorizes app. + * i.e. Bearer + */ +- (NSString * _Nullable)getTokenType; + +/** + * @return The resource you will access in Microsoft Dynamics + * with the API version attached to the end + * i.e. https://emhawsapps.crm.dynamics.com + */ +- (NSString * _Nullable)getResourceURL; + +/** + * @return the accessToken used for API calls + */ +- (NSString * _Nullable)getAccessToken; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMarketoAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMarketoAuthorizationManager.h new file mode 100755 index 0000000..34d4dfa --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMarketoAuthorizationManager.h @@ -0,0 +1,59 @@ +// +// AWSMarketoAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSAuthorizationManager.h" + +@interface AWSMarketoAuthorizationManager : AWSAuthorizationManager + +/** + * Singleton used to authorize user for Marketo + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Customize the flow. + * + * @param clientID Client ID provided by Salesforce. + * @param redirectURI Should be you're bundle ID or universal URL + * i.e. com.amazonaws.mysampleapp://salesforce/success + * https://mysampleapp.amazonaws.com/success + * @return the singleton + */ +- (void)configureWithIdentityURI:(NSString * _Nonnull)identityURI + restApiURI:(NSString * _Nonnull)restApiURI; + +/** + * @param clientID Specify the Client ID provided by Marketo. + * i.e. @"abc123...-abc123...-..." + */ +- (void)setClientID:(NSString * _Nonnull)clientID; + +/** + * @param clientSecret Specify the Client Secret provided by Marketo. + * i.e. @"aBc123..." + */ +- (void)setClientSecret:(NSString * _Nonnull)clientSecret; + +/** + * @return The access token used for API calls + */ +- (NSString * _Nullable)getAccessToken; + +/** + * @return The identity URI used during authorization and API calls + */ +- (NSString * _Nullable)getIdentityURI; + +/** + * @return The REST API URI used during authorization and API calls + */ +- (NSString * _Nullable)getRestApiURI; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMobileHubHelper.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMobileHubHelper.h new file mode 100755 index 0000000..6cf6f98 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSMobileHubHelper.h @@ -0,0 +1,26 @@ +// +// AWSMobileHubHelper.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSContentManager.h" +#import "AWSCloudLogic.h" +#import "AWSIdentityManager.h" +#import "AWSPushManager.h" +#import "AWSFacebookSignInProvider.h" +#import "AWSGoogleSignInProvider.h" +#import "AWSUserFileManager.h" +#import "AWSSignInProviderFactory.h" +#import "AWSSAMLSignInProvider.h" +#import "AWSCognitoUserPoolsSignInProvider.h" +#import "AWSAuthorizationManager.h" +#import "AWSSalesforceAuthorizationManager.h" +#import "AWSZendeskAuthorizationManager.h" +#import "AWSMSDynamicsAuthorizationManager.h" +#import "AWSQuickbooksAuthorizationManager.h" +#import "AWSHubspotAuthorizationManager.h" +#import "AWSMarketoAuthorizationManager.h" \ No newline at end of file diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSPushManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSPushManager.h new file mode 100755 index 0000000..2dae907 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSPushManager.h @@ -0,0 +1,500 @@ +// +// AWSPushManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +/** + The error domain for `PushManager`. + */ +FOUNDATION_EXPORT NSString *const AWSPushManagerErrorDomain; + +/** + The error code for `AWSPushManagerErrorDomain`. + */ +typedef NS_ENUM(NSInteger, AWSPushManagerErrorType){ + /** + An unknown error. This should not happen. + */ + AWSPushManagerErrorTypeUnknown, + /** + The device token returned by the OS is invalid and cannot be processed. + */ + AWSPushManagerErrorTypeInvalidDeviceToken, + /** + Unsubscribe requests failed while disabling `PushManager`. + */ + AWSPushManagerErrorTypeUnsubscribeFailed, +}; + +@class AWSPushManager; +@class AWSPushTopic; +@class AWSPushManagerConfiguration; + +@protocol AWSPushManagerDelegate; +@protocol AWSPushTopicDelegate; + +/** + The Push Manager registers the app on the device with Apple Push Notification Service (APNS) and registers the resulting device token in Amazon SNS. The result of this registration process is an Amazon SNS Endpoint ARN, which can be used to send push notifications directly to a specific device. The Push Manager also manages Amazon SNS topic subscriptions, allowing the app to subscribe to Amazon SNS topics, which let you target groups of devices with push notifications. Requires the AWSSNS framework of AWSiOSSDK. + */ +@interface AWSPushManager : NSObject + +/** + Indicates if `PushManager` is enabled or disabled. + */ +@property (nonatomic, readonly, getter=isEnabled) BOOL enabled; + +/** + The device token returned by iOS. + */ +@property (nonatomic, readonly, nullable) NSString *deviceToken; + +/** + The application platform endpoint ARN for Amazon SNS. + */ +@property (nonatomic, readonly, nullable) NSString *endpointARN; + +/** + The application platform ARN for the app. + */ +@property (nonatomic, readonly, nullable) NSString *platformARN; + +/** + A list of topic ARNs selected during project configuraiton on AWS Mobile Hub from the `Info.plist` file. + If a custom helper client is used, it would contain the topic ARNs specified in AWSPushManagerConfiguration object. + */ +@property (nonatomic, readonly, nullable) NSArray * topicARNs; + +/** + The list of `PushTopic`. + */ +@property (nonatomic, readonly) NSArray *topics; + +/** + The delegate for receiving `PushManager` and `PushTopic` events. + */ +@property (nonatomic, weak) id delegate; + +/** + Returns the default Push Manager singleton instance configured using the information provided in `Info.plist` file. + + *Swift* + + let pushManager = AWSPushManager.default() + + *Objective-C* + + AWSPushManager *pushManager = [AWSPushManager defaultPushManager]; + */ ++ (instancetype)defaultPushManager; + +/** + Creates a helper client for `AWSPushManager` for specified configuration with mentioned key. + Use this method only if you require a helper client with specific configuration. + + For example, set the configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + let pushManagerConfiguration = AWSPushManagerConfiguration(snsPlatformARN: "SNS_PLATFORM_ARN") + + AWSPushManager.register(with: pushManagerConfiguration, forKey: "defaultPushManager") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSPushManagerConfiguration *pushManagerConfiguration = [[AWSPushManager alloc] initWithSNSPlatformARN:@"SNS_PLATFORM_ARN"]; + [AWSPushManager registerPushManagerWithConfiguration:pushManagerConfiguration + forKey:@"defaultPushManager"]; + + return YES; + } + + Then call the following to get the helper client: + + *Swift* + + let pushmanager = AWSPushManager(forKey: "defaultPushManager") + + *Objective-C* + + AWSPushManager *pushmanager = [AWSPushManager pushManagerForKey:@"defaultPushManager"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param pushManagerConfiguration AWSPushManagerConfiguration object for the manager. + @param key A string to identify the helper client. + */ ++ (void)registerPushManagerWithConfiguration:(AWSPushManagerConfiguration *)pushManagerConfiguration + forKey:(NSString *)key; + +/** + Retrieves the helper client associated with the key. You need to call `+ registerPushManagerWithConfiguration:forKey:` before invoking this method. If `+ registerPushManagerWithConfiguration:forKey:` has not been called in advance or the key does not exist, this method returns `nil`. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + let pushManagerConfiguration = AWSPushManagerConfiguration(snsPlatformARN: "SNS_PLATFORM_ARN") + + AWSPushManager.register(with: pushManagerConfiguration, forKey: "defaultPushManager") + + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSPushManagerConfiguration *pushManagerConfiguration = [[AWSPushManager alloc] initWithSNSPlatformARN:@"SNS_PLATFORM_ARN"]; + [AWSPushManager registerPushManagerWithConfiguration:pushManagerConfiguration + forKey:@"defaultPushManager"]; + + Then call the following to get the helper client: + + *Swift* + + let Pushmanager = AWSPushManager(forKey: "defaultPushManager") + + *Objective-C* + + AWSPushManager *Pushmanager = [AWSPushManager PushManagerForKey:@"defaultPushManager"]; + + @param key A string to identify the helper client. + @return An instance of AWSPushManager for specified key. + */ ++ (instancetype)PushManagerForKey:(NSString *)key; + +/** + Removes the helper client associated with the key and release it. + + *Swift* + + AWSPushManager.remove(forKey: "USWest2PushManager") + + *Objective-C* + + [AWSPushManager removePushManagerForKey:@"USWest2PushManager"]; + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the helper client. + */ ++ (void)removePushManagerForKey:(NSString *)key; + +/** + Initializes `PushManager` with the list of topic ARNs. + + @param topicARNs A list of topic ARNs from Amazon SNS. It needs to be an `NSArray` containing only `NSString`. + */ +- (void)registerTopicARNs:(NSArray *)topicARNs; + +/** + Returns a topic associated with the specified topic ARN. + + @param topicARN A topic ARN from Amazon SNS. + + @return The topic with the specified topic ARN. + */ +- (AWSPushTopic *)topicForTopicARN:(NSString *)topicARN; + +/** + Initiates the process to enable Push Notifications. + When called for the first time, it asks the user for the permission to enable Push Notifications. If the user decline it, it fails to enable Push Notifications. + + On success, it calls `- pushManagerDidRegister:` from `AWSPushManagerDelegate`. + On failure, it calls `- pushManager:didFailToRegisterWithError:` from `AWSPushManagerDelegate`. + */ +- (void)registerForPushNotifications; + +/** + Unsubscribes from all subscribed topics, then marks `PushManager` as disabled. + + On success, it calls `- pushManagerDidDisable:` from `AWSPushManagerDelegate`. + On failure, it calls `- pushManager:didFailToDisableWithError:` from `AWSPushManagerDelegate`. + */ +- (void)disablePushNotifications; + +/** + Intercepts the `- application:didFinishLaunchingWithOptions:` application delegate. + + @param application Your singleton app object. + @param launchOptions A dictionary indicating the reason the app was launched (if any). The contents of this dictionary may be empty in situations where the user launched the app directly. For information about the possible keys in this dictionary and how to handle them, see Launch Options Keys. + */ +- (BOOL)interceptApplication:(UIApplication *)application +didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions; + +/** + Intercepts the `- application:didRegisterForRemoteNotificationsWithDeviceToken:` application delegate. + + @param application The app object that initiated the remote-notification registration process. + @param deviceToken A token that identifies the device to APNs. + */ +- (void)interceptApplication:(UIApplication *)application +didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken; + +/** + Intercepts the `- application:didFailToRegisterForRemoteNotificationsWithError:` application delegate. + + @param application The app object that initiated the remote-notification registration process. + @param error An `NSError` object that encapsulates information why registration did not succeed. + */ +- (void)interceptApplication:(UIApplication *)application +didFailToRegisterForRemoteNotificationsWithError:(nullable NSError *)error; + +/** + Intercepts the `- application:didReceiveRemoteNotification:` application delegate. + + @param application The app object that received the remote notification. + @param userInfo A dictionary that contains information related to the remote notification, potentially including a badge number for the app icon, an alert sound, an alert message to display to the user, a notification identifier, and custom data. The provider originates it as a JSON-defined dictionary that iOS converts to an `NSDictionary` object; the dictionary may contain only property-list objects plus `NSNull`. + */ +- (void)interceptApplication:(UIApplication *)application +didReceiveRemoteNotification:(nullable NSDictionary *)userInfo; + +@end + +/** + A topic object. + */ +@interface AWSPushTopic : NSObject + +/** + Initializes the topic object with a given topic ARN. + + @param topicARN A topic ARN from Amazon SNS. + + @return An initialized instance of `PushTopic`. + */ +- (instancetype)initWithTopicARN:(NSString *)topicARN + pushManager:(AWSPushManager *)pushManager; + +/** + The topic ARN. + */ +@property (nonatomic, readonly) NSString *topicARN; + +/** + The topic name. + */ +@property (nonatomic, readonly) NSString *topicName; + +/** + Indicates if the device is registered for the topic. + */ +@property (nonatomic, readonly, getter=isSubscribed) BOOL subscribed; + +/** + The subscription ARN from Amazon SNS. + */ +@property (nonatomic, readonly, nullable) NSString *subscriptionARN; + +/** + Subscribes the device to the topic. + + On success, it calls `- topicDidSubscribe:` from `AWSPushTopicDelegate`. + On failure, it calls `topic:didFailToSubscribeWithError:` from `AWSPushTopicDelegate`. + */ +- (void)subscribe; + +/** + Unsubscribes the device from the topic. + + On success, it calls `- topicDidUnsubscribe:` from `AWSPushTopicDelegate`. + On failure, it calls `topic:didFailToUnsubscribeWithError:` from `AWSPushTopicDelegate`. + */ +- (void)unsubscribe; + +@end + + +/** + A delegate for receiving `PushManager` events. + */ +@protocol AWSPushManagerDelegate + +@required + +/** + Indicates the success of the `- registerForPushNotifications` call. + + @param pushManager An instance of `PushManager`. + */ +- (void)pushManagerDidRegister:(AWSPushManager *)pushManager; + +/** + Indicates the failure of the `- registerForPushNotifications` call. + + @param pushManager An instance of `PushManager`. + @param error An `NSError` object that encapsulates information why registration did not succeed. + */ +- (void)pushManager:(AWSPushManager *)pushManager +didFailToRegisterWithError:(NSError *)error; + +/** + Indicates the device received a Push Notifiation. + + @param userInfo A dictionary that contains information related to the remote notification, potentially including a badge number for the app icon, an alert sound, an alert message to display to the user, a notification identifier, and custom data. The provider originates it as a JSON-defined dictionary that iOS converts to an `NSDictionary` object; the dictionary may contain only property-list objects plus `NSNull`. + */ +- (void)pushManager:(AWSPushManager *)pushManager +didReceivePushNotification:(NSDictionary *)userInfo; + +/** + Indicates the success of the `- disablePushNotifications` call. + + @param pushManager An instance of `PushManager`. + */ +- (void)pushManagerDidDisable:(AWSPushManager *)pushManager; + +/** + Indicates the failure of the `- disablePushNotifications` call. + + @param pushManager An instance of `PushManager`. + @param error An `NSError` object that encapsulates information why disable did not succeed. + */ +- (void)pushManager:(AWSPushManager *)pushManager +didFailToDisableWithError:(NSError *)error; + +@end + +/** + A delegate for receiving `PushTopic` events. + */ +@protocol AWSPushTopicDelegate + +@required + +/** + Indicates the subscribe succeeded. + + @param topic The topic object. + */ +- (void)topicDidSubscribe:(AWSPushTopic *)topic; + +/** + Indicates the subscribe failed. + + @param topic The topic object. + @param error An `NSError` object that encapsulates information why subscribe did not succeed. + */ +- (void)topic:(AWSPushTopic *)topic +didFailToSubscribeWithError:(NSError *)error; + +/** + Indicates the unsubscribe succeeded. + + @param topic The topic object. + */ +- (void)topicDidUnsubscribe:(AWSPushTopic *)topic; + +/** + Indicates the unsubscribe failed. + + @param topic The topic object. + @param error An `NSError` object that encapsulates information why unsubscribe did not succeed. + */ +- (void)topic:(AWSPushTopic *)topic +didFailToUnsubscribeWithError:(NSError *)error; + +@end + +/** + * `AWSPushManagerConfiguration` is the configuration object for `AWSPushManager` class. + */ +@interface AWSPushManagerConfiguration : NSObject + +@property (nonatomic, readonly, nullable) AWSServiceConfiguration *serviceConfiguration; +@property (nonatomic, readonly) NSString *platformARN; +@property (nonatomic, readonly, nullable) NSArray *topicARNs; + +/** + Returns an instance of `AWSPushManagerConfiguration`. Use this as the configuration object for AWSPushManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + let pushManagerConfiguration = AWSPushManagerConfiguration(snsPlatformARN: "SNS_PLATFORM_ARN") + + AWSPushManager.register(with: pushManagerConfiguration, forKey: "defaultPushManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSPushManagerConfiguration *pushManagerConfiguration = [[AWSPushManager alloc] initWithSNSPlatformARN:@"SNS_PLATFORM_ARN"]; + [AWSPushManager registerPushManagerWithConfiguration:pushManagerConfiguration + forKey:@"defaultPushManager"]; + + @param snsPlatformARN The SNS Platform ARN + + @return an instance of `AWSPushManagerConfiguration` + */ +- (instancetype)initWithPlatformARN:(NSString *)platformARN; + +/** + Returns an instance of `AWSPushManagerConfiguration`. Use this as the configuration object for AWSPushManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + + let pushManagerConfiguration = AWSPushManagerConfiguration(snsPlatformARN: "SNS_PLATFORM_ARN", topicARNs: nil, serviceConfiguration: configuration) + + AWSPushManager.register(with: pushManagerConfiguration, forKey: "defaultPushManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + + AWSPushManagerConfiguration *pushManagerConfiguration = [[AWSPushManager alloc] initWithSNSPlatformARN:@"SNS_PLATFORM_ARN" + topicARNs:nil + serviceConfiguration:configuration]; + [AWSPushManager registerPushManagerWithConfiguration:pushManagerConfiguration + forKey:@"defaultPushManager"]; + + @param platformARN The SNS Platform ARN + @param topicARN The list of SNS topics that could be registered + @param serviceConfiguration AWSServiceConfiguration object; nil for default configuration + @return an instance of `AWSPushManagerConfiguration` + */ +- (instancetype)initWithPlatformARN:(NSString *)platformARN + topicARNs:(nullable NSArray *)topicARNs + serviceConfiguration:(nullable AWSServiceConfiguration *)serviceConfiguration; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSQuickbooksAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSQuickbooksAuthorizationManager.h new file mode 100755 index 0000000..a02007f --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSQuickbooksAuthorizationManager.h @@ -0,0 +1,64 @@ +// +// AWSQuickbooksAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSAuthorizationManager.h" + +@interface AWSQuickbooksAuthorizationManager : AWSAuthorizationManager + +/** + * Singleton used to authorize user during OAuth1.0 + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Customize the flow. + * + * @param key The API key provided by Quickbooks + * @param redirectURI The redirect URI you provided Zendesk + * i.e. https://mysampleapp.amazonaws.com/zendesk/success + */ +- (void)configureWithAPIKey:(NSString * _Nonnull)key + redirectURI:(NSString * _Nonnull)redirectURI; + +/** + * The secret must be set before attempting to authorize. + * It is recommended that this secret be securely passed to this point. + * + * @param secret The API secret provided by Quickbooks + * i.e. @"abc123" + */ +- (void)setAPISecret:(NSString * _Nonnull)secret; + +/** + * @return The API secret used to authorize + */ +- (NSString * _Nullable)getAPIKey; + +/** + * @return The API secret used to authorize + */ +- (NSString * _Nullable)getAPISecret; + +/** + * @return The access token, available after authorization + */ +- (NSString * _Nullable)getAccessToken; + +/** + * @return The token secret, available after authorization + */ +- (NSString * _Nullable)getAccessTokenSecret; + +/** + * @return The realm ID, available after authorization + */ +- (NSString * _Nullable)getRealmID; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSAMLSignInProvider.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSAMLSignInProvider.h new file mode 100755 index 0000000..5598e2c --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSAMLSignInProvider.h @@ -0,0 +1,167 @@ +// +// AWSSAMLSignInProvider.h +// AWSMobileHubHelper +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSSignInProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + * Any class over-riding the `AWSSAMLSignInProvider` class for implemeting `SAML` as a sign-in provider, + * should also adopt the `AWSSAMLSignInProviderInstance` protocol. + */ +@protocol AWSSAMLSignInProviderInstance + +/** + * The shared instance of the class implementing `SAML` as a sign-in provider. + * + * @return the shared instance of the class implementing `SAML` as a sign-in provider. + */ ++ (id)sharedInstance; + +@end + +@interface AWSSAMLSignInProvider : NSObject + +#pragma mark - Initializer + +/* + The only initializer for AWSSAMLSignInProvider. This initializer has to be used by the class over-riding AWSSAMLSignInProvider. + @param uniqueIdentifier The unique identifier string for the SAML Sign In Provider + @param identityProviderName The identifier provider name for SAML provider (the Identity Provider ARN for SAML) + @return instance of AWSSAMLSignInProvider + */ +- (instancetype)initWithIdentifier:(NSString *)uniqueIdentifier + identityProviderName:(NSString *)identityProviderName; + +#pragma mark - Mandatory Override Methods + +// The user is expected to over the methods in this pragma mark + +/** + * This method will be called when `loginWithSignInProvider` is invoked from `AWSIdentityManager`. + * Developer is expected to call `setResult` on `taskCompletionSource` with the SAML login token on a successful login, + * or `setError` when the login is cancelled or encounters an error. + * + * The token internally is stored in the keychain store, and a flag is set in `NSUserDefaults` indicating the user is logged in using this `SAML` sign-in provider. + * + * ** Objective-C *** + * - (void)handleLoginWithTaskCompletionSource:(AWSTaskCompletionSource *)taskCompletionSource { + * // handle login logic + * if(loginSuccessful) { + * [taskCompletionSource setResult:@"SuccessfullyGeneratedToken"]; + * } else { + * [taskCompletionSource setError:error]; + * } + * } + * + * ** Swift ** + * func handleLogicWithTaskCompletionSource(taskCompletionSource: AWSTaskCompletionSource) { + * if(loginSuccessful) { + * taskCompletionSource.setResult("SuccessfullyGeneratedToken") + * } else { + * taskCompletionSource.setError(error) + * } + * } + * + * @param taskCompletionSource the `AWSTaskCompletionSource` object which is used to call `setResult` or `setError` + */ +- (void)handleLoginWithTaskCompletionSource:(AWSTaskCompletionSource *)taskCompletionSource; + +/** + * This method is called whenver the cognito credentials are refreshed or when app is loaded from background state / closed state. + * The previous saved token can be fetched using `fetchStoredToken`, and if it is valid the same can be returned without refreshing. + * + * @return an instance of `AWSTask`. `task.result` should contain the valid token in case of successful token fetch, or `task.error` should be set + */ +- (AWSTask*)fetchLatestToken; + +#pragma mark - Optional Override Methods + +/** + * Passes parameters used to launch the application to the current identity provider. + * It can be used to complete the user sign-in call flow, which uses a browser to + * get information from the user, directly. The current sign-in provider will be set to nil if + * the sign-in provider is not registered using `registerAWSSignInProvider:forKey` method of + * `AWSSignInProviderFactory` class. + * + * @param application application + * @param launchOptions options used to launch the application + * @return true if this call handled the operation + */ +- (BOOL)interceptApplication:(UIApplication *)application +didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions; + +/** + * Passes parameters used to launch the application to the current identity provider. + * It can be used to complete the user sign-in call flow, which uses a browser to + * get information from the user, directly. The developer should store a reference to + * the `taskCompletionSource` instance provided by the `handleLoginWithTaskCompletionSouce` + * method to set the result with successfully retrieved token. + * + * @param application application + * @param url url used to open the application + * @param sourceApplication source application + * @param annotation annotation + * @return true if this call handled the operation + */ +- (BOOL)interceptApplication:(UIApplication *)application + openURL:(NSURL *)url + sourceApplication:(nullable NSString *)sourceApplication + annotation:(id)annotation; + +#pragma mark - Instance Methods + +/** + * Sets the userName value of the signed-in user into a persistent store. + * Should be called on a successful login to set the user name which is used by `AWSIdentityManager`. + * + * @param userName the user name of the signed-in user + */ +- (void)setUserName:(NSString *)userName; + +/** + * Sets the imageURL value of the signed-in user into a persistent store. + * Should be called on a successful login to set the user name which is used by `AWSIdentityManager`. + * + * @param imageURL the image URL for a picture of the signed-in user + */ +- (void)setImageURL:(NSURL *)imageURL; + +/** + * Can be used to store a reference of teh view controller from which `loginWithSignInProvider` is invoked by `AWSIdentityManager` + * + * @param signInViewController the signInViewController object whose reference needs to be stored + */ +- (void)setViewControllerForSignIn:(UIViewController *)signInViewController; + +/** + * This method returns the view controller whose reference was stored using `setViewControllerForSignIn` + * + * @return the stored view controller if set, else `nil` + */ +- (UIViewController *)getViewControllerForSignIn; + +/** + * Returns the token stored in keychain as-is (without refreshing) + * + * @return the token if available in keychain, else `nil` + */ +- (NSString *)fetchStoredToken; + +/** + * Determines if the user is logged in based on the token available in keychain and if the login flag is set internally. + * + * @return `YES` if the user is logged in using `SAML` sign-in provider instance + */ +- (BOOL)isLoggedIn; + +@end + +NS_ASSUME_NONNULL_END \ No newline at end of file diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSalesforceAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSalesforceAuthorizationManager.h new file mode 100755 index 0000000..b8822c9 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSalesforceAuthorizationManager.h @@ -0,0 +1,43 @@ +// +// AWSSalesforceAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSAuthorizationManager.h" + +@interface AWSSalesforceAuthorizationManager : AWSAuthorizationManager + +/** + * Singleton used to authorize user during OAuth2.0 + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Customize the flow. + * + * @param clientID Client ID provided by Salesforce. + * @param redirectURI Should be you're bundle ID or universal URL + * i.e. com.amazonaws.mysampleapp://salesforce/success + * https://mysampleapp.amazonaws.com/success + * @return the singleton + */ +- (void)configureWithClientID:(NSString * _Nonnull)clientID redirectURI:(NSString * _Nonnull)redirectURI; + +/** + * @return The token type. Available after user authorizes app. + * i.e. Bearer + */ +- (NSString * _Nullable)getTokenType; + +/** + * @return The instance Salesforce has assigned you. Available after user authorizes app. + * i.e. https://na15.salesforce.com/ + */ +- (NSString * _Nullable)getInstanceURL; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSignInProvider.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSignInProvider.h new file mode 100755 index 0000000..c64fdb9 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSignInProvider.h @@ -0,0 +1,84 @@ +// +// AWSSignInProvider.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@class AWSIdentityManager; + +/** + * `AWSSignInProvider` protocol defines a list of methods and properties which a Sign-In Provider should implement. + * + * The AWSSignInProvider is implemented by difference Sign-In Providers like FacbookSignInProvider, GoogleSignInProvider, etc. + * + */ +@protocol AWSSignInProvider + +/** + Determines if a user is logged in. + */ +@property (nonatomic, readonly, getter=isLoggedIn) BOOL loggedIn; + +/** + The URL for profile image of a user. + */ +@property (nonatomic, readonly, nullable) NSURL *imageURL; + +/** + The User Name of a user. + */ +@property (nonatomic, readonly, nullable) NSString *userName; + +/** + The login handler method for the Sign-In Provider. + The completionHandler will bubble back errors to the developers. + */ +- (void)login:(void (^)(id _Nullable result, NSError * _Nullable error))completionHandler; + +/** + The logout handler method for the Sign-In Provider. + */ +- (void)logout; + +/** + * Call this method on a successful login. This method should store a flag in persistent storage which determines if the user has signed-in using this sign-in provider. + * This method is called by AWSIdentityManager on `interceptApplication:didFinishLaunchingWithOptions` method to set the current sign-in provider. + */ +- (void)setCachedLoginFlag; + +/** + * Clears the cached login flag. This method should be called during `logout` to clear the stored flag. + */ +- (void)clearCachedLoginFlag; + +/** + * Fetches the status of the cached login flag set using `setCachedLoginFlag`. + * + * @return `YES` if the setCachedLoginFlag is set. + */ +- (BOOL)isCachedLoginFlagSet; + +/** + The handler method for managing the session reload for the Sign-In Provider. + */ +- (void)reloadSession; + +- (BOOL)interceptApplication:(UIApplication *)application +didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions; + +- (BOOL)interceptApplication:(UIApplication *)application + openURL:(NSURL *)url + sourceApplication:(nullable NSString *)sourceApplication + annotation:(id)annotation; + +@end + +NS_ASSUME_NONNULL_END \ No newline at end of file diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSignInProviderFactory.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSignInProviderFactory.h new file mode 100755 index 0000000..18a8d8c --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSSignInProviderFactory.h @@ -0,0 +1,44 @@ +// +// AWSSignInProviderFactory.h +// AWSMobileHubHelper +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import +#import "AWSSignInProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +/* + `AWSSignInProviderFactory` stores the instances of the sign in providers implemented using the protocol `AWSSignInProvider`. The instances registered with `AWSSignInProviderFactory` are fetched by `AWSIdentityManager` when `interceptApplication:didFinishLaunchingWithOptions` is called from `AWSMobileClient`. + */ +@interface AWSSignInProviderFactory : NSObject + +// Fetches the shared instance of `AWSSignInProviderFactory`. ++(instancetype)sharedInstance; + +/** + Registers the shared instance of sign in provider implementing `AWSSignInProvider` with specified key. + + @param signInProvider The shared instance of sign in provider implementing `AWSSignInProvider` protocol. + @param key A string to identify the signInProvider. + **/ +-(void)registerAWSSignInProvider:(id)signInProvider + forKey:(NSString *)key NS_SWIFT_NAME(register(signInProvider:forKey:)); + +/** + Fetches the shared instance of sign in provider implementing `AWSSignInProvider` with specified key. + + @param key A string to identify the signInProvider. + + @return The shared instance of sign in provider implementing `AWSSignInProvider` registered with specified key. + **/ +-(id)signInProviderForKey:(NSString *)key; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSUserFileManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSUserFileManager.h new file mode 100755 index 0000000..c5a4b92 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSUserFileManager.h @@ -0,0 +1,358 @@ +// +// AWSUserFileManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +#import +#import "AWSContentManager.h" + +@class AWSLocalContent; +@class AWSUserFileManagerConfiguration; + +NS_ASSUME_NONNULL_BEGIN + +/** + * `AWSUserFileManager` inherits from `AWSContentManager` and adds the upload capabilities. + * + * The User File Manager uploads and downloads files from Amazon S3. It caches downloaded + * files locally on the device in a size-limited cache. Downloaded files may be pinned + * to the cache, so that they are not automatically removed when the cache size limit + * is exceeded. The User File Manager provides access to two folders in the Amazon S3 bucket, + * one called "public/" for public files, which are accessible to any user of the app, + * and one called "private/" which contains a sub-folder for each Amazon Cognito + * identified user. Files in the user's private folder can only be accessed by that user. + * The User File Manager serves as the application's interface into the file-related + * functionality of the User Data Storage feature. + * Requires the AWSS3 framework of AWSiOSSDK. + */ +@interface AWSUserFileManager : AWSContentManager + +/** + * The list of currently uploading contents. + */ +@property (nonatomic, readonly) NSArray *uploadingContents; + +/** + Returns the default User File Manager singleton instance configured using the information provided in `Info.plist` file. + + *Swift* + + let userFileManager = AWSUserFileManager.defaultUserFileManager() + + *Objective-C* + + AWSUserFileManager *userFileManager = [AWSUserFileManager defaultUserFileManager]; + + */ ++ (instancetype)defaultUserFileManager NS_SWIFT_NAME(defaultUserFileManager()); + +/** + Creates a helper client for AWSUserFileManager for specified configuration with mentioned key. + Use this method only if you require a helper client with specific configuration. + + For example, set the configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + let userFileManagerConfiguration = AWSUserFileManagerConfiguration(bucketName: "myBucket", serviceConfiguration: configuration) + AWSUserFileManager.register(with: userFileManagerConfiguration, forKey: "USWest2BucketManager") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSUserFileManagerConfiguration *userFileManagerConfiguration = [[AWSUserFileManager alloc] initWithBucketName:@"myBucketName" + serviceConfiguration:configuration]; + [AWSUserFileManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"USWest2BucketManager"]; + + return YES; + } + + Then call the following to get the helper client: + + *Swift* + + let userFilemanager = AWSUserFileManager(forKey: "USWest2BucketManager") + + *Objective-C* + + AWSUserFileManager *userFileManager = [AWSUserFileManager userFileManagerForKey:@"USWest2BucketManager"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param userFileManagerConfiguration AWSUserFileManagerConfiguration object for the manager. + @param key A string to identify the helper client. + */ ++ (void)registerUserFileManagerWithConfiguration:(AWSUserFileManagerConfiguration *)userFileManagerConfiguration + forKey:(NSString *)key; + +/** + Retrieves the helper client associated with the key. You need to call `+ registerUserFileManagerWithConfiguration:forKey:` before invoking this method. If `+ registerUserFileManagerWithConfiguration:forKey:` has not been called in advance or the key does not exist, this method returns `nil`. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + let userFileManagerConfiguration = AWSUserFileManagerConfiguration(bucketName: "myBucket", serviceConfiguration: configuration) + AWSUserFileManager.register(with: userFileManagerConfiguration, forKey: "USWest2BucketManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSUserFileManagerConfiguration *userFileManagerConfiguration = [[AWSUserFileManager alloc] initWithBucketName:@"myBucketName" + serviceConfiguration:configuration]; + [AWSUserFileManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"USWest2BucketManager"]; + + Then call the following to get the helper client: + + *Swift* + + let UserFilemanager = AWSUserFileManager(forKey: "USWest2BucketManager") + + *Objective-C* + + AWSUserFileManager *UserFileManager = [AWSUserFileManager UserFileManagerForKey:@"USWest2BucketManager"]; + + + @param key A string to identify the helper client. + @return An instance of AWSUserFileManager for specified key. + */ ++ (instancetype)UserFileManagerForKey:(NSString *)key; + +/** + Removes the helper client associated with the key and release it. + + *Swift* + + AWSUserFileManager.remove(forKey: "USWest2BucketManager") + + *Objective-C* + + [AWSUserFileManager removeUserFileManagerForKey:@"USWest2BucketManager"]; + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the helper client. + */ ++ (void)removeUserFileManagerForKey:(NSString *)key; + +/** + Returns an instance of `AWSLocalContent`. You use this method to create an instance of `AWSLocalContent` to upload data to an Amazon S3 bucket with the specified key. + + *Swift* + + func uploadWithData(data: NSData, forKey key: String) { + + let userFilemanager = AWSUserFileManager(forKey: "KeyUsedToRegister") + let localContent = userFilemanager.localContent(with: data, key: key) + localContent.uploadWithPinOnCompletion(..., progressBlock: ..., completionHandler: ...) + } + + *Objective-C* + + - (void)uploadWithData:(NSData *)data forKey:(NSString *)key { + + AWSUserFileManager *userFileManager = [AWSUserFileManager userFileManagerForKey:@"KeyUsedToRegister"]; + AWSLocalContent *localContent = [self.manager localContentWithData:data + key:key]; + [localContent uploadWithPinOnCompletion:... + progressBlock:... + completionHandler:...]; + } + + @param data The data to be uploaded. + @param key The Amazon S3 key. + + @return An instance of `AWSLocalContent` that represents data to be uploaded. + */ +- (AWSLocalContent *)localContentWithData:(nullable NSData *)data + key:(NSString *)key; + +@end + +/** + * A category to add remote file removal to `AWSContent`. + */ +@interface AWSContent(AWSUserFileManager) + +/** + Removes the remote file associated with `AWSContent`. + + *Swift* + + func removeContent(content: AWSContent) { + content.removeRemoteContent(completionHandler: {(content: AWSContent?, error: NSError?) -> Void in + if let error = error { + print("Failed to delete an object from the remote server. \(error)") + } else { + print("Success") + // Do something further + } + }) + } + + *Objective-C* + + - (void)removeContent:(AWSContent *)content { + [content removeRemoteContentWithCompletionHandler:^(AWSContent *content, NSError *error) { + if (error) { + NSLog(@"Failed to delete an object from the remote server. %@", error); + } else { + NSLog(@"Success"); + // Do something further + } + }]; + } + + @param completionHandler The completion handler block. + */ +- (void)removeRemoteContentWithCompletionHandler:(void(^ _Nullable)(AWSContent * _Nullable content, NSError * _Nullable error))completionHandler; + +@end + +/** + * A representation of the local content that may not exist in the Amazon S3 bucket yet. When uploading data to an S3 bucket, you first need to create an instance of this class. + */ +@interface AWSLocalContent : AWSContent + +/** + Uploads data associated with the local content. + + *Swift* + + func uploadWithData(data: NSData, forKey key: String) { + + let userFilemanager = AWSUserFileManager(forKey: "KeyUsedToRegister") + let localContent = userFilemanager.localContent(with: data, key: key) + localContent.uploadWithPinOnCompletion(false, progressBlock: {(content: AWSLocalContent?, progress: NSProgress?) -> Void in + // handle progress here + }, completionHandler: {(content: AWSContent?, error: Error?) -> Void in + if let error = error { + // handle error here + print("Error occured in uploading: \(error)") + return + } + // handle successful upload here + }) + } + + *Objective-C* + + - (void)uploadWithData:(NSData *)data forKey:(NSString *)key { + + AWSUserFileManager *userFileManager = [AWSUserFileManager userFileManagerForKey:@"KeyUsedToRegister"]; + AWSLocalContent *localContent = [self.manager localContentWithData:data + key:key]; + [localContent uploadWithPinOnCompletion:NO + progressBlock:^(AWSLocalContent *content, NSProgress *progress) { + // handle progress here + } + completionHandler:^(AWSContent *content, NSError *error) { + if (error) { + // handle error here + NSLog(@"Error occured in uploading: %@", error); + return; + } + // perform tasks after successful upload + }]; + } + + @param pinOnCompletion When set to `YES`, it pins the content after finishing uploading it. + @param progressBlock The upload progress block. + @param completionHandler The completion handler block. + */ +- (void)uploadWithPinOnCompletion:(BOOL)pinOnCompletion + progressBlock:(void(^ _Nullable)(AWSLocalContent *content, NSProgress *progress))progressBlock + completionHandler:(void(^ _Nullable)(AWSLocalContent * _Nullable content, NSError * _Nullable error))completionHandler; + +@end + +/** + * `AWSUserFileManagerConfiguration` is the configuration object for `AWSUserFileManager` class. + * + */ +@interface AWSUserFileManagerConfiguration: NSObject + +@property (nonatomic, assign, readonly) AWSServiceConfiguration *serviceConfiguration; +@property (nonatomic, readonly) NSString *bucketName; + +/** + Returns an instance of `AWSUserFileManagerConfiguration`. Use this as the configuration object for AWSUserFileManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + + let userFileManagerConfiguration = AWSUserFileManagerConfiguration(bucketName: "myBucket", serviceConfiguration: configuration) + + AWSUserFileManager.registerUserFileManagerWithConfiguration(userFileManagerConfiguration, forKey: "USWest2BucketManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSServiceManager.defaultServiceManager.defaultServiceConfiguration = configuration; + AWSUserFileManagerConfiguration *userFileManagerConfiguration = [[AWSUserFileManager alloc] initWithBucketName:@"myBucketName" + serviceConfiguration:configuration]; + [AWSUserFileManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"USWest2BucketManager"]; + + @param bucketName Name of the bucket + @param serviceConfiguration AWSServiceConfiguration object; nil for default configuration + @return an instance of AWSUserFileManagerConfiguration + */ +- (instancetype)initWithBucketName:(NSString *)bucketName + serviceConfiguration:(nullable AWSServiceConfiguration *)serviceConfiguration; + +/** + Returns an instance of `AWSUserFileManagerConfiguration` using the default service configuration. Use this as the configuration object for AWSUserFileManager. + + *Swift* + + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration + + let userFileManagerConfiguration = AWSUserFileManagerConfiguration(bucketName: "myBucket") + + AWSUserFileManager.registerUserFileManagerWithConfiguration(userFileManagerConfiguration, forKey: "USWest2BucketManager") + + *Objective-C* + + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + AWSUserFileManagerConfiguration *userFileManagerConfiguration = [[AWSUserFileManager alloc] initWithBucketName:@"myBucketName"]; + [AWSUserFileManager registerUserFileManagerWithConfiguration:userFileManagerConfiguration + forKey:@"USWest2BucketManager"]; + + + @param bucketName Name of the bucket + @return an instance of AWSUserFileManagerConfiguration + */ +- (instancetype)initWithBucketName:(NSString *)bucketName; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSZendeskAuthorizationManager.h b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSZendeskAuthorizationManager.h new file mode 100755 index 0000000..f517e12 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Headers/AWSZendeskAuthorizationManager.h @@ -0,0 +1,89 @@ +// +// AWSZendeskAuthorizationManager.h +// +// Copyright 2016 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// + +#import "AWSAuthorizationManager.h" + +@interface AWSZendeskAuthorizationManager : AWSAuthorizationManager + +/** + * Singleton used to authorize user during OAuth2.0 + * @return the singleton + */ ++ (instancetype _Nonnull)sharedInstance; + +/** + * Customize the flow. This relies on the redirectURI being an Universal link. + * + * @param clientID The client ID that you signed up for in Zendesk + * @param redirectURI The redirect URI you provided Zendesk + * i.e. https://mysampleapp.amazonaws.com/zendesk/success + * @param subdomain The subdomain that you signed up for in Zendesk + */ +- (void)configureWithClientID:(NSString * _Nonnull)clientID + redirectURI:(NSString * _Nonnull)redirectURI + subdomain:(NSString * _Nonnull)subdomain; + +/** + * If you are unable to setup Universal links at this moment, then for development purposes + * you may consider use a HTTPS endpoint that you control to redirect to a custom app scheme url. + * + * Example: + * Endpoint HTML content at https://awsmobilehub.s3-us-west-2.amazonaws.com/zendesk + * + * + * + * + * customSchemeRedirectURI = @"com.amazon.mysampleapp://zendesk/oauth2"; + * httpsEndpoint = @"https://awsmobilehub.s3-us-west-2.amazonaws.com/zendesk"; + * + * @param clientID The client ID that you signed up for in Zendesk + * @param customSchemeRedirectURI The redirectURI that has the custom app scheme + * @param httpsEndpoint The HTTPS endpoint that needs to be registered with Zendesk. + * This endpoint must redirect the page to the customSchemeRedirectURI + * provided here. + * @param subdomain The subdomain that you signed up for in Zendesk + */ +- (void)configureWithClientID:(NSString * _Nonnull)clientID + setCustomSchemeRedirectURI:(NSString * _Nonnull)customSchemeRedirectURI + httpsEndpoint:(NSString * _Nonnull)httpsEndpoint + subdomain:(NSString * _Nonnull)subdomain; + +/** + * + * Available scopes: + * tickets + * users + * auditlogs (read only) + * organizations + * hc + * apps + * triggers + * automations + * targets + * + * @param scope Specify the amount of access the user would like. + * i.e. @"read" + * @"read tickets:write" + * @"tickets:read tickets:write" + */ +- (void)setScope:(NSString * _Nonnull)scope; + +/** + * @return The token type. Available after user authorizes app. + * i.e. Bearer + */ +- (NSString * _Nullable)getTokenType; + +/** + * @return The subdomain that you signed up for in Zendesk. + * i.e. aws + */ +- (NSString * _Nullable)getSubdomain; + +@end diff --git a/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Modules/module.modulemap b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Modules/module.modulemap new file mode 100755 index 0000000..7b6d710 --- /dev/null +++ b/My Mind/My Mind/AmazonAws/AWSMobileHubHelper.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AWSMobileHubHelper { + umbrella header "AWSMobileHubHelper.h" + + export * + module * { export * } +} diff --git a/My Mind/My Mind/AppDelegate.swift b/My Mind/My Mind/AppDelegate.swift index 2f19403..72ee45b 100644 --- a/My Mind/My Mind/AppDelegate.swift +++ b/My Mind/My Mind/AppDelegate.swift @@ -2,45 +2,46 @@ // AppDelegate.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // import UIKit +import AWSCore +import AWSCognitoIdentityProvider @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - - - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { - // Override point for customization after application launch. - return true - } - + func applicationWillResignActive(_ application: UIApplication) { // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. } - + func applicationDidEnterBackground(_ application: UIApplication) { // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. } - + func applicationWillEnterForeground(_ application: UIApplication) { // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. } - - func applicationDidBecomeActive(_ application: UIApplication) { - // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. - } - + func applicationWillTerminate(_ application: UIApplication) { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. } - - + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + return AWSMobileClient.sharedInstance.didFinishLaunching(application, withOptions: launchOptions) + } + + func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { + return AWSMobileClient.sharedInstance.withApplication(application, withURL: url, withSourceApplication: sourceApplication, withAnnotation: annotation) + } + + func applicationDidBecomeActive(_ application: UIApplication) { + AWSMobileClient.sharedInstance.applicationDidBecomeActive(application) + } } - diff --git a/My Mind/My Mind/Base.lproj/LaunchScreen.storyboard b/My Mind/My Mind/Base.lproj/LaunchScreen.storyboard index cd50ebd..d9d51cb 100644 --- a/My Mind/My Mind/Base.lproj/LaunchScreen.storyboard +++ b/My Mind/My Mind/Base.lproj/LaunchScreen.storyboard @@ -1,5 +1,5 @@ - + @@ -10,30 +10,29 @@ - + - + - - + + - + - + + + + + + + - + - + diff --git a/My Mind/My Mind/Base.lproj/Main.storyboard b/My Mind/My Mind/Base.lproj/Main.storyboard new file mode 100644 index 0000000..e44e85d --- /dev/null +++ b/My Mind/My Mind/Base.lproj/Main.storyboard @@ -0,0 +1,1116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/My Mind/My Mind/ForumView.swift b/My Mind/My Mind/ForumView.swift index 6612f4e..8592d4d 100644 --- a/My Mind/My Mind/ForumView.swift +++ b/My Mind/My Mind/ForumView.swift @@ -2,14 +2,14 @@ // ForumView.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 31/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // import Foundation import UIKit -class Forum: UIViewController { +class ForumViewController: UIViewController { override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent diff --git a/My Mind/My Mind/Info.plist b/My Mind/My Mind/Info.plist index 4ce4fcd..55218fa 100644 --- a/My Mind/My Mind/Info.plist +++ b/My Mind/My Mind/Info.plist @@ -2,6 +2,32 @@ + AWS + + CredentialsProvider + + CognitoIdentity + + Default + + PoolId + eu-west-2:53bd16f0-753d-4d1c-8181-3d01aa7811b5 + Region + eu-west-2 + + + + IdentityManager + + Default + + + MobileHub + + ProjectClientId + MobileHub 9af77051-19c5-4bb5-a348-cfc67821053e aws-my-sample-app-ios-swift-v0.12 + + CFBundleDevelopmentRegion en CFBundleExecutable @@ -18,28 +44,55 @@ 1.0 CFBundleVersion 1 + Cognito + + Default + + Region + eu-west-2 + + LSRequiresIPhoneOS UIBackgroundModes fetch + remote-notification UILaunchStoryboardName LaunchScreen UIMainStoryboardFile - OnBoard + Main UIRequiredDeviceCapabilities armv7 UIStatusBarStyle UIStatusBarStyleLightContent + UIStatusBarTintParameters + + UINavigationBar + + Style + UIBarStyleDefault + Translucent + + + UISupportedInterfaceOrientations UIInterfaceOrientationPortrait - UIInterfaceOrientationLandscapeLeft - UIInterfaceOrientationLandscapeRight UIInterfaceOrientationPortraitUpsideDown + UserFileManager + + Default + + Region + eu-west-2 + S3Bucket + mymind-userfiles-mobilehub-700183796 + + diff --git a/My Mind/My Mind/Login.storyboard b/My Mind/My Mind/Login.storyboard deleted file mode 100644 index dbce2e7..0000000 --- a/My Mind/My Mind/Login.storyboard +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/My Mind/LoginViews.swift b/My Mind/My Mind/LoginViews.swift deleted file mode 100644 index cd45327..0000000 --- a/My Mind/My Mind/LoginViews.swift +++ /dev/null @@ -1,18 +0,0 @@ -// -// LoginViews.swift -// My Mind -// -// Created by Alexander Davis on 02/04/2017. -// Copyright © 2017 Alexander Davis. All rights reserved. -// - -import Foundation -import UIKit - -class Login : UIViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .lightContent - } - -} diff --git a/My Mind/My Mind/Main.storyboard b/My Mind/My Mind/Main.storyboard deleted file mode 100644 index 7d2dfc3..0000000 --- a/My Mind/My Mind/Main.storyboard +++ /dev/null @@ -1,569 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/OnBoardingController.swift b/My Mind/My Mind/OnBoardingController.swift similarity index 96% rename from My Mind/OnBoardingController.swift rename to My Mind/My Mind/OnBoardingController.swift index bf9c3de..14a7430 100644 --- a/My Mind/OnBoardingController.swift +++ b/My Mind/My Mind/OnBoardingController.swift @@ -2,7 +2,7 @@ // OnBoardingController.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // @@ -45,7 +45,7 @@ extension OnBoardingController : UIPageViewControllerDataSource { func pageViewController(_ pageViewController: UIPageViewController, viewControllerBefore viewController: UIViewController) -> UIViewController? { if viewController.isKind(of: PageTwo.self) { // 2 -> 1 - return getPageOne() + return getPageTwo() } else if viewController.isKind(of: PageTwo.self) { // 1 -> 0 return getPageOne() diff --git a/My Mind/My Mind/OnlineViews.swift b/My Mind/My Mind/OnlineViews.swift deleted file mode 100644 index deda4f9..0000000 --- a/My Mind/My Mind/OnlineViews.swift +++ /dev/null @@ -1,84 +0,0 @@ - -// -// OnlineViews.swift -// My Mind -// -// Created by Alexander Davis on 03/04/2017. -// Copyright © 2017 Alexander Davis. All rights reserved. -// - -import Foundation -import UIKit - -class LoginOnline: UIViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .lightContent - } - - @IBOutlet var webView: UIWebView! - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - let url = NSURL (string: "https://www.mymindforum.com/ucp.php?mode=login"); - let requestObj = NSURLRequest(url: url! as URL); - webView.loadRequest(requestObj as URLRequest); - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - -} - - -class SignUpOnline: UIViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .lightContent - } - - @IBOutlet var webView: UIWebView! - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - let url = NSURL (string: "https://www.mymindforum.com/ucp.php?mode=register"); - let requestObj = NSURLRequest(url: url! as URL); - webView.loadRequest(requestObj as URLRequest); - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - -} - -class PasswordOnline: UIViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .lightContent - } - - @IBOutlet var webView: UIWebView! - - override func viewDidLoad() { - super.viewDidLoad() - // Do any additional setup after loading the view, typically from a nib. - let url = NSURL (string: "https://www.mymindforum.com/ucp.php?mode=sendpassword"); - let requestObj = NSURLRequest(url: url! as URL); - webView.loadRequest(requestObj as URLRequest); - } - - override func didReceiveMemoryWarning() { - super.didReceiveMemoryWarning() - // Dispose of any resources that can be recreated. - } - - -} diff --git a/My Mind/My Mind/ReferralViews.swift b/My Mind/My Mind/ReferralViews.swift deleted file mode 100644 index 2d9e0bb..0000000 --- a/My Mind/My Mind/ReferralViews.swift +++ /dev/null @@ -1,301 +0,0 @@ -// -// ReferralView.swift -// My Mind -// -// Created by Alexander Davis on 02/04/2017. -// Copyright © 2017 Alexander Davis. All rights reserved. -// - -import Foundation -import UIKit -import SwiftForms - -class Referrals : UIViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .lightContent - } - -} - -class ReferralForm: FormViewController { - - struct Static { - static let nameTag = "name" - static let passwordTag = "password" - static let lastNameTag = "lastName" - static let jobTag = "job" - static let emailTag = "email" - static let URLTag = "url" - static let phoneTag = "phone" - static let enabled = "enabled" - static let check = "check" - static let segmented = "segmented" - static let picker = "picker" - static let birthday = "birthday" - static let categories = "categories" - static let multicategories = "multicategories" - static let button = "button" - static let stepper = "stepper" - static let slider = "slider" - static let textView = "textview" - } - - required init(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - self.loadForm() - } - - override func viewDidLoad() { - super.viewDidLoad() - self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "Submit", style: .plain, target: self, action: #selector(ReferralForm.submit(_:))) - self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Cancel", style: .plain, target: self, action: #selector(ReferralForm.cancel(_:))) - } - - // MARK: Actions - - func submit(_: UIBarButtonItem!) { - - let message = self.form.formValues().description - - let alertController = UIAlertController(title: "Form output", message: message, preferredStyle: .alert) - - let cancel = UIAlertAction(title: "OK", style: .cancel) { (action) in - } - - alertController.addAction(cancel) - - self.present(alertController, animated: true, completion: nil) - } - - func cancel(_: UIBarButtonItem!) { - let storyboard = UIStoryboard(name: "Main", bundle: nil) - let vc = storyboard.instantiateViewController(withIdentifier: "MainTabs") as UIViewController - present(vc, animated: true, completion: nil) - } - - // MARK: Private interface - - fileprivate func loadForm() { - - let form = FormDescriptor(title: "Referral Form") - - let section1 = FormSectionDescriptor(headerTitle: "What you would like to talk about.", footerTitle: "Please give details of your GP") - - var row = FormRowDescriptor(tag: Static.textView, type: .multilineText, title: "") - section1.rows.append(row) - - row = FormRowDescriptor(tag: Static.picker, type: .picker, title: "How long have you been concerned?") - row.configuration.cell.showsInputToolbar = true - row.configuration.selection.options = (["NL", "ST", "QL", "VL"] as [String]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? String else { return "" } - switch option { - case "NL": - return "Not Long (within 1 month)" - case "ST": - return "Some Time (1-3 months)" - case "QL": - return "Quite Some Time (3-6 months)" - case "VL": - return "A Long Time (6+ months)" - default: - return "" - } - } - section1.rows.append(row) - - row = FormRowDescriptor(tag: Static.multicategories, type: .multipleSelector, title: "Are you currently receiving support?") - row.configuration.cell.showsInputToolbar = true - row.configuration.selection.options = (["No", "CBT", "CPN", "CP", "GP", "MHWA", "Psyi", "Psyo", "SW", "O"] as [String]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? String else { return "" } - switch option { - case "No": - return "No" - case "CBT": - return "CBT Practitioner (e.g. Healthy Minds)" - case "CPN": - return "Community Psychiatric Nurse (CPN)" - case "CP": - return "Counsellor/Psychotherapist" - case "GP": - return "GP" - case "MHWA": - return "Mental Health/Wellbeing Adviser" - case "Psyi": - return "Psychiatrist" - case "Psyo": - return "Psychologist" - case "SW": - return "Social Worker" - case "O": - return "Other" - default: - return "" - } - } - - section1.rows.append(row) - - row = FormRowDescriptor(tag: Static.multicategories, type: .multipleSelector, title: "Have you received support in the past?") - row.configuration.cell.showsInputToolbar = true - row.configuration.selection.options = (["No", "CBT", "CPN", "CP", "GP", "MHWA", "Psyi", "Psyo", "SW", "O"] as [String]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? String else { return "" } - switch option { - case "No": - return "No" - case "CBT": - return "CBT Practitioner (e.g. Healthy Minds)" - case "CPN": - return "Community Psychiatric Nurse (CPN)" - case "CP": - return "Counsellor/Psychotherapist" - case "GP": - return "GP" - case "MHWA": - return "Mental Health/Wellbeing Adviser" - case "Psyi": - return "Psychiatrist" - case "Psyo": - return "Psychologist" - case "SW": - return "Social Worker" - case "O": - return "Other" - default: - return "" - } - } - - section1.rows.append(row) - - let section2 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.textView, type: .multilineText, title: "") - - section2.rows.append(row) - - row = FormRowDescriptor(tag: Static.nameTag, type: .name, title: "First Name") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. Miguel Ángel" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section2.rows.append(row) - - row = FormRowDescriptor(tag: Static.lastNameTag, type: .name, title: "Last Name") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. Ortuño" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section2.rows.append(row) - - row = FormRowDescriptor(tag: Static.jobTag, type: .text, title: "Job") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. Entrepreneur" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section2.rows.append(row) - - let section3 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.URLTag, type: .url, title: "URL") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. gethooksapp.com" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section3.rows.append(row) - - row = FormRowDescriptor(tag: Static.phoneTag, type: .phone, title: "Phone") - row.configuration.cell.appearance = ["textField.placeholder" : "e.g. 0034666777999" as AnyObject, "textField.textAlignment" : NSTextAlignment.right.rawValue as AnyObject] - section3.rows.append(row) - - let section4 = FormSectionDescriptor(headerTitle: "An example header title", footerTitle: "An example footer title") - - row = FormRowDescriptor(tag: Static.enabled, type: .booleanSwitch, title: "Enable") - section4.rows.append(row) - - row = FormRowDescriptor(tag: Static.check, type: .booleanCheck, title: "Doable") - section4.rows.append(row) - - row = FormRowDescriptor(tag: Static.segmented, type: .segmentedControl, title: "Priority") - row.configuration.selection.options = ([0, 1, 2, 3] as [Int]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? Int else { return "" } - switch option { - case 0: - return "None" - case 1: - return "!" - case 2: - return "!!" - case 3: - return "!!!" - default: - return "" - } - } - - row.configuration.cell.appearance = ["titleLabel.font" : UIFont.boldSystemFont(ofSize: 30.0), "segmentedControl.tintColor" : UIColor.red] - - section4.rows.append(row) - - let section5 = FormSectionDescriptor(headerTitle: nil, footerTitle: nil) - - row = FormRowDescriptor(tag: Static.picker, type: .picker, title: "Gender") - row.configuration.cell.showsInputToolbar = true - row.configuration.selection.options = (["F", "M", "O", "U"] as [String]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? String else { return "" } - switch option { - case "F": - return "Female" - case "M": - return "Male" - case "O": - return "Other" - case "U": - return "I'd rather not to say" - default: - return "" - } - } - - row.value = "M" as AnyObject - - section5.rows.append(row) - - row = FormRowDescriptor(tag: Static.birthday, type: .date, title: "Birthday") - row.configuration.cell.showsInputToolbar = true - section5.rows.append(row) - - row = FormRowDescriptor(tag: Static.picker, type: .picker, title: "Faculty") - row.configuration.cell.showsInputToolbar = true - row.configuration.selection.options = (["CEBE", "HELS", "ADM", "BLSS"] as [String]) as [AnyObject] - row.configuration.selection.optionTitleClosure = { value in - guard let option = value as? String else { return "" } - switch option { - case "CEBE": - return "Computing, Engineering and The Built Environment" - case "HELS": - return "Health, Education and Life Sciences" - case "ADM": - return "Arts, Design and Media" - case "BLSS": - return "Business, Law and Social Sciences" - default: - return "" - } - } - - section5.rows.append(row) - - let section6 = FormSectionDescriptor(headerTitle: "Stepper & Slider", footerTitle: nil) - - row = FormRowDescriptor(tag: Static.stepper, type: .stepper, title: "Step count") - row.configuration.stepper.maximumValue = 200.0 - row.configuration.stepper.minimumValue = 20.0 - row.configuration.stepper.steps = 2.0 - section6.rows.append(row) - - row = FormRowDescriptor(tag: Static.slider, type: .slider, title: "Slider") - row.configuration.stepper.maximumValue = 200.0 - row.configuration.stepper.minimumValue = 20.0 - row.configuration.stepper.steps = 2.0 - row.value = 0.5 as AnyObject - section6.rows.append(row) - - form.sections = [section1, section2, section3, section4, section5, section6] - - self.form = form - } -} diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/AWSCognitoIdentityProvider b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/AWSCognitoIdentityProvider new file mode 100755 index 0000000..0932d6d Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/AWSCognitoIdentityProvider differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProvider.h b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProvider.h new file mode 100755 index 0000000..966ea42 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProvider.h @@ -0,0 +1,27 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +//! Project version number for AWSCognitoIdentityProvider. +FOUNDATION_EXPORT double AWSCognitoIdentityProviderVersionNumber; + +//! Project version string for AWSCognitoIdentityProvider. +FOUNDATION_EXPORT const unsigned char AWSCognitoIdentityProviderVersionString[]; + +#import +#import "AWSCognitoIdentityProviderService.h" +#import "AWSCognitoIdentityUserPool.h" +#import "AWSCognitoIdentityUser.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderModel.h b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderModel.h new file mode 100755 index 0000000..49e72e3 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderModel.h @@ -0,0 +1,3220 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSCognitoIdentityProviderErrorDomain; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderErrorType) { + AWSCognitoIdentityProviderErrorUnknown, + AWSCognitoIdentityProviderErrorAliasExists, + AWSCognitoIdentityProviderErrorCodeDeliveryFailure, + AWSCognitoIdentityProviderErrorCodeMismatch, + AWSCognitoIdentityProviderErrorConcurrentModification, + AWSCognitoIdentityProviderErrorExpiredCode, + AWSCognitoIdentityProviderErrorInternalError, + AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy, + AWSCognitoIdentityProviderErrorInvalidLambdaResponse, + AWSCognitoIdentityProviderErrorInvalidParameter, + AWSCognitoIdentityProviderErrorInvalidPassword, + AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy, + AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship, + AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration, + AWSCognitoIdentityProviderErrorLimitExceeded, + AWSCognitoIdentityProviderErrorMFAMethodNotFound, + AWSCognitoIdentityProviderErrorNotAuthorized, + AWSCognitoIdentityProviderErrorPasswordResetRequired, + AWSCognitoIdentityProviderErrorPreconditionNotMet, + AWSCognitoIdentityProviderErrorResourceNotFound, + AWSCognitoIdentityProviderErrorTooManyFailedAttempts, + AWSCognitoIdentityProviderErrorTooManyRequests, + AWSCognitoIdentityProviderErrorUnexpectedLambda, + AWSCognitoIdentityProviderErrorUnsupportedUserState, + AWSCognitoIdentityProviderErrorUserImportInProgress, + AWSCognitoIdentityProviderErrorUserLambdaValidation, + AWSCognitoIdentityProviderErrorUserNotConfirmed, + AWSCognitoIdentityProviderErrorUserNotFound, + AWSCognitoIdentityProviderErrorUsernameExists, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderAliasAttributeType) { + AWSCognitoIdentityProviderAliasAttributeTypeUnknown, + AWSCognitoIdentityProviderAliasAttributeTypePhoneNumber, + AWSCognitoIdentityProviderAliasAttributeTypeEmail, + AWSCognitoIdentityProviderAliasAttributeTypePreferredUsername, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderAttributeDataType) { + AWSCognitoIdentityProviderAttributeDataTypeUnknown, + AWSCognitoIdentityProviderAttributeDataTypeString, + AWSCognitoIdentityProviderAttributeDataTypeNumber, + AWSCognitoIdentityProviderAttributeDataTypeDateTime, + AWSCognitoIdentityProviderAttributeDataTypeBoolean, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderAuthFlowType) { + AWSCognitoIdentityProviderAuthFlowTypeUnknown, + AWSCognitoIdentityProviderAuthFlowTypeUserSrpAuth, + AWSCognitoIdentityProviderAuthFlowTypeRefreshTokenAuth, + AWSCognitoIdentityProviderAuthFlowTypeRefreshToken, + AWSCognitoIdentityProviderAuthFlowTypeCustomAuth, + AWSCognitoIdentityProviderAuthFlowTypeAdminNoSrpAuth, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderChallengeNameType) { + AWSCognitoIdentityProviderChallengeNameTypeUnknown, + AWSCognitoIdentityProviderChallengeNameTypeSmsMfa, + AWSCognitoIdentityProviderChallengeNameTypePasswordVerifier, + AWSCognitoIdentityProviderChallengeNameTypeCustomChallenge, + AWSCognitoIdentityProviderChallengeNameTypeDeviceSrpAuth, + AWSCognitoIdentityProviderChallengeNameTypeDevicePasswordVerifier, + AWSCognitoIdentityProviderChallengeNameTypeAdminNoSrpAuth, + AWSCognitoIdentityProviderChallengeNameTypeNewPasswordRequired, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderDeliveryMediumType) { + AWSCognitoIdentityProviderDeliveryMediumTypeUnknown, + AWSCognitoIdentityProviderDeliveryMediumTypeSms, + AWSCognitoIdentityProviderDeliveryMediumTypeEmail, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderDeviceRememberedStatusType) { + AWSCognitoIdentityProviderDeviceRememberedStatusTypeUnknown, + AWSCognitoIdentityProviderDeviceRememberedStatusTypeRemembered, + AWSCognitoIdentityProviderDeviceRememberedStatusTypeNotRemembered, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderExplicitAuthFlowsType) { + AWSCognitoIdentityProviderExplicitAuthFlowsTypeUnknown, + AWSCognitoIdentityProviderExplicitAuthFlowsTypeAdminNoSrpAuth, + AWSCognitoIdentityProviderExplicitAuthFlowsTypeCustomAuthFlowOnly, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderMessageActionType) { + AWSCognitoIdentityProviderMessageActionTypeUnknown, + AWSCognitoIdentityProviderMessageActionTypeResend, + AWSCognitoIdentityProviderMessageActionTypeSuppress, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderStatusType) { + AWSCognitoIdentityProviderStatusTypeUnknown, + AWSCognitoIdentityProviderStatusTypeEnabled, + AWSCognitoIdentityProviderStatusTypeDisabled, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderUserImportJobStatusType) { + AWSCognitoIdentityProviderUserImportJobStatusTypeUnknown, + AWSCognitoIdentityProviderUserImportJobStatusTypeCreated, + AWSCognitoIdentityProviderUserImportJobStatusTypePending, + AWSCognitoIdentityProviderUserImportJobStatusTypeInProgress, + AWSCognitoIdentityProviderUserImportJobStatusTypeStopping, + AWSCognitoIdentityProviderUserImportJobStatusTypeExpired, + AWSCognitoIdentityProviderUserImportJobStatusTypeStopped, + AWSCognitoIdentityProviderUserImportJobStatusTypeFailed, + AWSCognitoIdentityProviderUserImportJobStatusTypeSucceeded, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderUserPoolMfaType) { + AWSCognitoIdentityProviderUserPoolMfaTypeUnknown, + AWSCognitoIdentityProviderUserPoolMfaTypeOff, + AWSCognitoIdentityProviderUserPoolMfaTypeOn, + AWSCognitoIdentityProviderUserPoolMfaTypeOptional, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderUserStatusType) { + AWSCognitoIdentityProviderUserStatusTypeUnknown, + AWSCognitoIdentityProviderUserStatusTypeUnconfirmed, + AWSCognitoIdentityProviderUserStatusTypeConfirmed, + AWSCognitoIdentityProviderUserStatusTypeArchived, + AWSCognitoIdentityProviderUserStatusTypeCompromised, + AWSCognitoIdentityProviderUserStatusTypeResetRequired, + AWSCognitoIdentityProviderUserStatusTypeForceChangePassword, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityProviderVerifiedAttributeType) { + AWSCognitoIdentityProviderVerifiedAttributeTypeUnknown, + AWSCognitoIdentityProviderVerifiedAttributeTypePhoneNumber, + AWSCognitoIdentityProviderVerifiedAttributeTypeEmail, +}; + +@class AWSCognitoIdentityProviderAddCustomAttributesRequest; +@class AWSCognitoIdentityProviderAddCustomAttributesResponse; +@class AWSCognitoIdentityProviderAdminConfirmSignUpRequest; +@class AWSCognitoIdentityProviderAdminConfirmSignUpResponse; +@class AWSCognitoIdentityProviderAdminCreateUserConfigType; +@class AWSCognitoIdentityProviderAdminCreateUserRequest; +@class AWSCognitoIdentityProviderAdminCreateUserResponse; +@class AWSCognitoIdentityProviderAdminDeleteUserAttributesRequest; +@class AWSCognitoIdentityProviderAdminDeleteUserAttributesResponse; +@class AWSCognitoIdentityProviderAdminDeleteUserRequest; +@class AWSCognitoIdentityProviderAdminDisableUserRequest; +@class AWSCognitoIdentityProviderAdminDisableUserResponse; +@class AWSCognitoIdentityProviderAdminEnableUserRequest; +@class AWSCognitoIdentityProviderAdminEnableUserResponse; +@class AWSCognitoIdentityProviderAdminForgetDeviceRequest; +@class AWSCognitoIdentityProviderAdminGetDeviceRequest; +@class AWSCognitoIdentityProviderAdminGetDeviceResponse; +@class AWSCognitoIdentityProviderAdminGetUserRequest; +@class AWSCognitoIdentityProviderAdminGetUserResponse; +@class AWSCognitoIdentityProviderAdminInitiateAuthRequest; +@class AWSCognitoIdentityProviderAdminInitiateAuthResponse; +@class AWSCognitoIdentityProviderAdminListDevicesRequest; +@class AWSCognitoIdentityProviderAdminListDevicesResponse; +@class AWSCognitoIdentityProviderAdminResetUserPasswordRequest; +@class AWSCognitoIdentityProviderAdminResetUserPasswordResponse; +@class AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest; +@class AWSCognitoIdentityProviderAdminRespondToAuthChallengeResponse; +@class AWSCognitoIdentityProviderAdminSetUserSettingsRequest; +@class AWSCognitoIdentityProviderAdminSetUserSettingsResponse; +@class AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest; +@class AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse; +@class AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest; +@class AWSCognitoIdentityProviderAdminUpdateUserAttributesResponse; +@class AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest; +@class AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse; +@class AWSCognitoIdentityProviderAttributeType; +@class AWSCognitoIdentityProviderAuthenticationResultType; +@class AWSCognitoIdentityProviderChangePasswordRequest; +@class AWSCognitoIdentityProviderChangePasswordResponse; +@class AWSCognitoIdentityProviderCodeDeliveryDetailsType; +@class AWSCognitoIdentityProviderConfirmDeviceRequest; +@class AWSCognitoIdentityProviderConfirmDeviceResponse; +@class AWSCognitoIdentityProviderConfirmForgotPasswordRequest; +@class AWSCognitoIdentityProviderConfirmForgotPasswordResponse; +@class AWSCognitoIdentityProviderConfirmSignUpRequest; +@class AWSCognitoIdentityProviderConfirmSignUpResponse; +@class AWSCognitoIdentityProviderCreateUserImportJobRequest; +@class AWSCognitoIdentityProviderCreateUserImportJobResponse; +@class AWSCognitoIdentityProviderCreateUserPoolClientRequest; +@class AWSCognitoIdentityProviderCreateUserPoolClientResponse; +@class AWSCognitoIdentityProviderCreateUserPoolRequest; +@class AWSCognitoIdentityProviderCreateUserPoolResponse; +@class AWSCognitoIdentityProviderDeleteUserAttributesRequest; +@class AWSCognitoIdentityProviderDeleteUserAttributesResponse; +@class AWSCognitoIdentityProviderDeleteUserPoolClientRequest; +@class AWSCognitoIdentityProviderDeleteUserPoolRequest; +@class AWSCognitoIdentityProviderDeleteUserRequest; +@class AWSCognitoIdentityProviderDescribeUserImportJobRequest; +@class AWSCognitoIdentityProviderDescribeUserImportJobResponse; +@class AWSCognitoIdentityProviderDescribeUserPoolClientRequest; +@class AWSCognitoIdentityProviderDescribeUserPoolClientResponse; +@class AWSCognitoIdentityProviderDescribeUserPoolRequest; +@class AWSCognitoIdentityProviderDescribeUserPoolResponse; +@class AWSCognitoIdentityProviderDeviceConfigurationType; +@class AWSCognitoIdentityProviderDeviceSecretVerifierConfigType; +@class AWSCognitoIdentityProviderDeviceType; +@class AWSCognitoIdentityProviderEmailConfigurationType; +@class AWSCognitoIdentityProviderForgetDeviceRequest; +@class AWSCognitoIdentityProviderForgotPasswordRequest; +@class AWSCognitoIdentityProviderForgotPasswordResponse; +@class AWSCognitoIdentityProviderGetCSVHeaderRequest; +@class AWSCognitoIdentityProviderGetCSVHeaderResponse; +@class AWSCognitoIdentityProviderGetDeviceRequest; +@class AWSCognitoIdentityProviderGetDeviceResponse; +@class AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest; +@class AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse; +@class AWSCognitoIdentityProviderGetUserRequest; +@class AWSCognitoIdentityProviderGetUserResponse; +@class AWSCognitoIdentityProviderGlobalSignOutRequest; +@class AWSCognitoIdentityProviderGlobalSignOutResponse; +@class AWSCognitoIdentityProviderInitiateAuthRequest; +@class AWSCognitoIdentityProviderInitiateAuthResponse; +@class AWSCognitoIdentityProviderLambdaConfigType; +@class AWSCognitoIdentityProviderListDevicesRequest; +@class AWSCognitoIdentityProviderListDevicesResponse; +@class AWSCognitoIdentityProviderListUserImportJobsRequest; +@class AWSCognitoIdentityProviderListUserImportJobsResponse; +@class AWSCognitoIdentityProviderListUserPoolClientsRequest; +@class AWSCognitoIdentityProviderListUserPoolClientsResponse; +@class AWSCognitoIdentityProviderListUserPoolsRequest; +@class AWSCognitoIdentityProviderListUserPoolsResponse; +@class AWSCognitoIdentityProviderListUsersRequest; +@class AWSCognitoIdentityProviderListUsersResponse; +@class AWSCognitoIdentityProviderMFAOptionType; +@class AWSCognitoIdentityProviderMessageTemplateType; +@class AWSCognitoIdentityProviderLatestDeviceMetadataType; +@class AWSCognitoIdentityProviderNumberAttributeConstraintsType; +@class AWSCognitoIdentityProviderPasswordPolicyType; +@class AWSCognitoIdentityProviderResendConfirmationCodeRequest; +@class AWSCognitoIdentityProviderResendConfirmationCodeResponse; +@class AWSCognitoIdentityProviderRespondToAuthChallengeRequest; +@class AWSCognitoIdentityProviderRespondToAuthChallengeResponse; +@class AWSCognitoIdentityProviderSchemaAttributeType; +@class AWSCognitoIdentityProviderSetUserSettingsRequest; +@class AWSCognitoIdentityProviderSetUserSettingsResponse; +@class AWSCognitoIdentityProviderSignUpRequest; +@class AWSCognitoIdentityProviderSignUpResponse; +@class AWSCognitoIdentityProviderSmsConfigurationType; +@class AWSCognitoIdentityProviderStartUserImportJobRequest; +@class AWSCognitoIdentityProviderStartUserImportJobResponse; +@class AWSCognitoIdentityProviderStopUserImportJobRequest; +@class AWSCognitoIdentityProviderStopUserImportJobResponse; +@class AWSCognitoIdentityProviderStringAttributeConstraintsType; +@class AWSCognitoIdentityProviderUpdateDeviceStatusRequest; +@class AWSCognitoIdentityProviderUpdateDeviceStatusResponse; +@class AWSCognitoIdentityProviderUpdateUserAttributesRequest; +@class AWSCognitoIdentityProviderUpdateUserAttributesResponse; +@class AWSCognitoIdentityProviderUpdateUserPoolClientRequest; +@class AWSCognitoIdentityProviderUpdateUserPoolClientResponse; +@class AWSCognitoIdentityProviderUpdateUserPoolRequest; +@class AWSCognitoIdentityProviderUpdateUserPoolResponse; +@class AWSCognitoIdentityProviderUserImportJobType; +@class AWSCognitoIdentityProviderUserPoolClientDescription; +@class AWSCognitoIdentityProviderUserPoolClientType; +@class AWSCognitoIdentityProviderUserPoolDescriptionType; +@class AWSCognitoIdentityProviderUserPoolPolicyType; +@class AWSCognitoIdentityProviderUserPoolType; +@class AWSCognitoIdentityProviderUserType; +@class AWSCognitoIdentityProviderVerifyUserAttributeRequest; +@class AWSCognitoIdentityProviderVerifyUserAttributeResponse; + +/** +

Represents the request to add custom attributes.

+ Required parameters: [UserPoolId, CustomAttributes] + */ +@interface AWSCognitoIdentityProviderAddCustomAttributesRequest : AWSRequest + + +/** +

An array of custom attributes, such as Mutable and Name.

+ */ +@property (nonatomic, strong) NSArray * _Nullable customAttributes; + +/** +

The user pool ID for the user pool where you want to add custom attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server for the request to add custom attributes.

+ */ +@interface AWSCognitoIdentityProviderAddCustomAttributesResponse : AWSModel + + +@end + +/** +

Represents the request to confirm user registration.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminConfirmSignUpRequest : AWSRequest + + +/** +

The user pool ID for which you want to confirm user registration.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name for which you want to confirm user registration.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server for the request to confirm registration.

+ */ +@interface AWSCognitoIdentityProviderAdminConfirmSignUpResponse : AWSModel + + +@end + +/** +

The type of configuration for creating a new user profile.

+ */ +@interface AWSCognitoIdentityProviderAdminCreateUserConfigType : AWSModel + + +/** +

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable allowAdminCreateUserOnly; + +/** +

The message template to be used for the welcome message to new users.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderMessageTemplateType * _Nullable inviteMessageTemplate; + +/** +

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, specifying "RESEND" for the MessageAction parameter.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable unusedAccountValidityDays; + +@end + +/** +

Represents the request to create a user in the specified user pool.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminCreateUserRequest : AWSRequest + + +/** +

Specify "EMAIL" if email will be used to send the welcome message. Specify "SMS" if the phone number will be used. The default value is "SMS". More than one value can be specified.

+ */ +@property (nonatomic, strong) NSArray * _Nullable desiredDeliveryMediums; + +/** +

This parameter is only used if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable forceAliasCreation; + +/** +

Set to "RESEND" to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to "SUPPRESS" to suppress sending the message. Only one value can be specified.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderMessageActionType messageAction; + +/** +

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page along with a new password to be used in all future sign-ins.

This parameter is not required. If you do not specify a value, Amazon Cognito generates one for you.

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must call AdminCreateUser again, specifying "RESEND" for the MessageAction parameter.

+ */ +@property (nonatomic, strong) NSString * _Nullable temporaryPassword; + +/** +

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes other than Username. However, any attributes that you specify as required (in CreateUserPool or in the Attributes tab of the console) must be supplied either by you (in your call to AdminCreateUser) or by the user (when he or she signs up in response to your welcome message).

To send a message inviting the user to sign up, you must specify the user's email address or phone number. This can be done in your call to AdminCreateUser or in the Users tab of the Amazon Cognito console for managing your user pools.

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified attribute to True. (You cannot do this by calling other operations such as AdminUpdateUserAttributes.)

  • email: The email address of the user to whom the message that contains the code and username will be sent. Required if the email_verified attribute is set to True, or if "EMAIL" is specified in the DesiredDeliveryMediums parameter.

  • phone_number: The phone number of the user to whom the message that contains the code and username will be sent. Required if the phone_number_verified attribute is set to True, or if "SMS" is specified in the DesiredDeliveryMediums parameter.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributes; + +/** +

The user pool ID for the user pool where the user will be created.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username cannot be changed.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +/** +

The user's validation data. This is an array of name-value pairs that contain user attributes and attribute values that you can use for custom validation, such as restricting the types of user accounts that can be registered. For example, you might choose to allow or disallow user sign-up based on the user's domain.

To configure custom validation, you must create a Pre Sign-up Lambda trigger for the user pool as described in the Amazon Cognito Developer Guide. The Lambda trigger receives the validation data and uses it in the validation process.

The user's validation data is not persisted.

+ */ +@property (nonatomic, strong) NSArray * _Nullable validationData; + +@end + +/** +

Represents the response from the server to the request to create the user.

+ */ +@interface AWSCognitoIdentityProviderAdminCreateUserResponse : AWSModel + + +/** +

The user returned in the request to create a new user.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserType * _Nullable user; + +@end + +/** +

Represents the request to delete user attributes as an administrator.

+ Required parameters: [UserPoolId, Username, UserAttributeNames] + */ +@interface AWSCognitoIdentityProviderAdminDeleteUserAttributesRequest : AWSRequest + + +/** +

An array of strings representing the user attribute names you wish to delete.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributeNames; + +/** +

The user pool ID for the user pool where you want to delete user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user from which you would like to delete attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response received from the server for a request to delete user attributes.

+ */ +@interface AWSCognitoIdentityProviderAdminDeleteUserAttributesResponse : AWSModel + + +@end + +/** +

Represents the request to delete a user as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminDeleteUserRequest : AWSRequest + + +/** +

The user pool ID for the user pool where you want to delete the user.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user you wish to delete.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the request to disable any user as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminDisableUserRequest : AWSRequest + + +/** +

The user pool ID for the user pool where you want to disable the user.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user you wish to disable.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response received from the server to disable the user as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminDisableUserResponse : AWSModel + + +@end + +/** +

Represents the request that enables the user as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminEnableUserRequest : AWSRequest + + +/** +

The user pool ID for the user pool where you want to enable the user.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user you wish to ebable.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server for the request to enable a user as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminEnableUserResponse : AWSModel + + +@end + +/** +

Sends the forgot device request, as an administrator.

+ Required parameters: [UserPoolId, Username, DeviceKey] + */ +@interface AWSCognitoIdentityProviderAdminForgetDeviceRequest : AWSRequest + + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +/** +

The user pool ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the request to get the device, as an administrator.

+ Required parameters: [DeviceKey, UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminGetDeviceRequest : AWSRequest + + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +/** +

The user pool ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Gets the device response, as an administrator.

+ Required parameters: [Device] + */ +@interface AWSCognitoIdentityProviderAdminGetDeviceResponse : AWSModel + + +/** +

The device.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderDeviceType * _Nullable device; + +@end + +/** +

Represents the request to get the specified user as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminGetUserRequest : AWSRequest + + +/** +

The user pool ID for the user pool where you want to get information about the user.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user you wish to retrieve.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server from the request to get the specified user as an administrator.

+ Required parameters: [Username] + */ +@interface AWSCognitoIdentityProviderAdminGetUserResponse : AWSModel + + +/** +

Indicates that the status is enabled.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enabled; + +/** +

Specifies the options for MFA (e.g., email or phone number).

+ */ +@property (nonatomic, strong) NSArray * _Nullable MFAOptions; + +/** +

An array of name-value pairs representing user attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributes; + +/** +

The date the user was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable userCreateDate; + +/** +

The date the user was last modified.

+ */ +@property (nonatomic, strong) NSDate * _Nullable userLastModifiedDate; + +/** +

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderUserStatusType userStatus; + +/** +

The user name of the user about whom you are receiving information.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Initiates the authorization request, as an administrator.

+ Required parameters: [UserPoolId, ClientId, AuthFlow] + */ +@interface AWSCognitoIdentityProviderAdminInitiateAuthRequest : AWSRequest + + +/** +

The authentication flow.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderAuthFlowType authFlow; + +/** +

The authentication parameters.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable authParameters; + +/** +

The client app ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The client app metadata.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; + +/** +

The ID of the Amazon Cognito user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Initiates the authentication response, as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminInitiateAuthResponse : AWSModel + + +/** +

The result type of the authentication result.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAuthenticationResultType * _Nullable authenticationResult; + +/** +

The name of the challenge.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; + +/** +

The challenge parameters.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable challengeParameters; + +/** +

The session.

+ */ +@property (nonatomic, strong) NSString * _Nullable session; + +@end + +/** +

Represents the request to list devices, as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminListDevicesRequest : AWSRequest + + +/** +

The limit of the devices request.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable limit; + +/** +

The pagination token.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +/** +

The user pool ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Lists the device's response, as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminListDevicesResponse : AWSModel + + +/** +

The devices in the list of devices response.

+ */ +@property (nonatomic, strong) NSArray * _Nullable devices; + +/** +

The pagination token.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +@end + +/** +

Represents the request to reset a user's password as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminResetUserPasswordRequest : AWSRequest + + +/** +

The user pool ID for the user pool where you want to reset the user's password.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user whose password you wish to reset.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server to reset a user password as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminResetUserPasswordResponse : AWSModel + + +@end + +/** +

The request to respond to the authentication challenge, as an administrator.

+ Required parameters: [UserPoolId, ClientId, ChallengeName] + */ +@interface AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest : AWSRequest + + +/** +

The name of the challenge.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; + +/** +

The challenge response.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable challengeResponses; + +/** +

The client ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The session.

+ */ +@property (nonatomic, strong) NSString * _Nullable session; + +/** +

The ID of the Amazon Cognito user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Responds to the authentication challenge, as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminRespondToAuthChallengeResponse : AWSModel + + +/** +

The result type of the authentication result.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAuthenticationResultType * _Nullable authenticationResult; + +/** +

The name of the challenge.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; + +/** +

The challenge parameters.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable challengeParameters; + +/** +

The session.

+ */ +@property (nonatomic, strong) NSString * _Nullable session; + +@end + +/** +

Represents the request to set user settings as an administrator.

+ Required parameters: [UserPoolId, Username, MFAOptions] + */ +@interface AWSCognitoIdentityProviderAdminSetUserSettingsRequest : AWSRequest + + +/** +

Specifies the options for MFA (e.g., email or phone number).

+ */ +@property (nonatomic, strong) NSArray * _Nullable MFAOptions; + +/** +

The user pool ID for the user pool where you want to set the user's settings, such as MFA options.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user for whom you wish to set user settings.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server to set user settings as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminSetUserSettingsResponse : AWSModel + + +@end + +/** +

The request to update the device status, as an administrator.

+ Required parameters: [UserPoolId, Username, DeviceKey] + */ +@interface AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest : AWSRequest + + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +/** +

The status indicating whether a device has been remembered or not.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderDeviceRememberedStatusType deviceRememberedStatus; + +/** +

The user pool ID>

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

The status response from the request to update the device, as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse : AWSModel + + +@end + +/** +

Represents the request to update the user's attributes as an administrator.

+ Required parameters: [UserPoolId, Username, UserAttributes] + */ +@interface AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest : AWSRequest + + +/** +

An array of name-value pairs representing user attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributes; + +/** +

The user pool ID for the user pool where you want to update user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name of the user for whom you want to update user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server for the request to update user attributes as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminUpdateUserAttributesResponse : AWSModel + + +@end + +/** +

The request to sign out of all devices, as an administrator.

+ Required parameters: [UserPoolId, Username] + */ +@interface AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest : AWSRequest + + +/** +

The user pool ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The user name.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

The global sign-out response, as an administrator.

+ */ +@interface AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse : AWSModel + + +@end + +/** +

Specifies whether the attribute is standard or custom.

+ Required parameters: [Name] + */ +@interface AWSCognitoIdentityProviderAttributeType : AWSModel + + +/** +

The name of the attribute.

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** +

The value of the attribute.

+ */ +@property (nonatomic, strong) NSString * _Nullable value; + +@end + +/** +

The result type of the authentication result.

+ */ +@interface AWSCognitoIdentityProviderAuthenticationResultType : AWSModel + + +/** +

The access token of the authentication result.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The expiration period of the authentication result.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable expiresIn; + +/** +

The ID token of the authentication result.

+ */ +@property (nonatomic, strong) NSString * _Nullable idToken; + +/** +

The new device metadata from an authentication result.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderLatestDeviceMetadataType * _Nullable latestDeviceMetadata; + +/** +

The refresh token of the authentication result.

+ */ +@property (nonatomic, strong) NSString * _Nullable refreshToken; + +/** +

The token type of the authentication result.

+ */ +@property (nonatomic, strong) NSString * _Nullable tokenType; + +@end + +/** +

Represents the request to change a user password.

+ Required parameters: [PreviousPassword, ProposedPassword] + */ +@interface AWSCognitoIdentityProviderChangePasswordRequest : AWSRequest + + +/** +

The access token in the change password request.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The old password in the change password request.

+ */ +@property (nonatomic, strong) NSString * _Nullable previousPassword; + +/** +

The new password in the change password request.

+ */ +@property (nonatomic, strong) NSString * _Nullable proposedPassword; + +@end + +/** +

The response from the server to the change password request.

+ */ +@interface AWSCognitoIdentityProviderChangePasswordResponse : AWSModel + + +@end + +/** +

The type of code delivery details being returned from the server.

+ */ +@interface AWSCognitoIdentityProviderCodeDeliveryDetailsType : AWSModel + + +/** +

The name of the attribute in the code delivery details type.

+ */ +@property (nonatomic, strong) NSString * _Nullable attributeName; + +/** +

The delivery medium (email message or phone number).

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderDeliveryMediumType deliveryMedium; + +/** +

The destination for the code delivery details.

+ */ +@property (nonatomic, strong) NSString * _Nullable destination; + +@end + +/** +

Confirms the device request.

+ Required parameters: [AccessToken, DeviceKey] + */ +@interface AWSCognitoIdentityProviderConfirmDeviceRequest : AWSRequest + + +/** +

The access token.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +/** +

The device name.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceName; + +/** +

The configuration of the device secret verifier.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderDeviceSecretVerifierConfigType * _Nullable deviceSecretVerifierConfig; + +@end + +/** +

Confirms the device response.

+ */ +@interface AWSCognitoIdentityProviderConfirmDeviceResponse : AWSModel + + +/** +

Indicates whether the user confirmation is necessary to confirm the device response.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable userConfirmationNecessary; + +@end + +/** +

The request representing the confirmation for a password reset.

+ Required parameters: [ClientId, Username, ConfirmationCode, Password] + */ +@interface AWSCognitoIdentityProviderConfirmForgotPasswordRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The confirmation code sent by a user's request to retrieve a forgotten password.

+ */ +@property (nonatomic, strong) NSString * _Nullable confirmationCode; + +/** +

The password sent by sent by a user's request to retrieve a forgotten password.

+ */ +@property (nonatomic, strong) NSString * _Nullable password; + +/** +

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

+ */ +@property (nonatomic, strong) NSString * _Nullable secretHash; + +/** +

The user name of the user for whom you want to enter a code to retrieve a forgotten password.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

The response from the server that results from a user's request to retrieve a forgotten password.

+ */ +@interface AWSCognitoIdentityProviderConfirmForgotPasswordResponse : AWSModel + + +@end + +/** +

Represents the request to confirm registration of a user.

+ Required parameters: [ClientId, Username, ConfirmationCode] + */ +@interface AWSCognitoIdentityProviderConfirmSignUpRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The confirmation code sent by a user's request to confirm registration.

+ */ +@property (nonatomic, strong) NSString * _Nullable confirmationCode; + +/** +

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an AliasExistsException error.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable forceAliasCreation; + +/** +

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

+ */ +@property (nonatomic, strong) NSString * _Nullable secretHash; + +/** +

The user name of the user whose registration you wish to confirm.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the response from the server for the registration confirmation.

+ */ +@interface AWSCognitoIdentityProviderConfirmSignUpResponse : AWSModel + + +@end + +/** +

Represents the request to create the user import job.

+ Required parameters: [JobName, UserPoolId, CloudWatchLogsRoleArn] + */ +@interface AWSCognitoIdentityProviderCreateUserImportJobRequest : AWSRequest + + +/** +

The role ARN for the Amazon CloudWatch Logging role for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable cloudWatchLogsRoleArn; + +/** +

The job name for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobName; + +/** +

The user pool ID for the user pool that the users are being imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server to the request to create the user import job.

+ */ +@interface AWSCognitoIdentityProviderCreateUserImportJobResponse : AWSModel + + +/** +

The job object that represents the user import job.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserImportJobType * _Nullable userImportJob; + +@end + +/** +

Represents the request to create a user pool client.

+ Required parameters: [UserPoolId, ClientName] + */ +@interface AWSCognitoIdentityProviderCreateUserPoolClientRequest : AWSRequest + + +/** +

The client name for the user pool client you would like to create.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientName; + +/** +

The explicit authentication flows.

+ */ +@property (nonatomic, strong) NSArray * _Nullable explicitAuthFlows; + +/** +

Boolean to specify whether you want to generate a secret for the user pool client being created.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable generateSecret; + +/** +

The read attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable readAttributes; + +/** +

Refreshes the token validity.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable refreshTokenValidity; + +/** +

The user pool ID for the user pool where you want to create a user pool client.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The write attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable writeAttributes; + +@end + +/** +

Represents the response from the server to create a user pool client.

+ */ +@interface AWSCognitoIdentityProviderCreateUserPoolClientResponse : AWSModel + + +/** +

The user pool client that was just created.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolClientType * _Nullable userPoolClient; + +@end + +/** +

Represents the request to create a user pool.

+ Required parameters: [PoolName] + */ +@interface AWSCognitoIdentityProviderCreateUserPoolRequest : AWSRequest + + +/** +

The configuration for AdminCreateUser requests.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAdminCreateUserConfigType * _Nullable adminCreateUserConfig; + +/** +

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username.

+ */ +@property (nonatomic, strong) NSArray * _Nullable aliasAttributes; + +/** +

The attributes to be auto-verified. Possible values: email, phone_number.

+ */ +@property (nonatomic, strong) NSArray * _Nullable autoVerifiedAttributes; + +/** +

The device configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderDeviceConfigurationType * _Nullable deviceConfiguration; + +/** +

The email configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderEmailConfigurationType * _Nullable emailConfiguration; + +/** +

A string representing the email verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailVerificationMessage; + +/** +

A string representing the email verification subject.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailVerificationSubject; + +/** +

The Lambda trigger configuration information for the new user pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; + +/** +

Specifies MFA configuration details.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderUserPoolMfaType mfaConfiguration; + +/** +

The policies associated with the new user pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolPolicyType * _Nullable policies; + +/** +

A string used to name the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable poolName; + +/** +

A string representing the SMS authentication message.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsAuthenticationMessage; + +/** +

The SMS configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderSmsConfigurationType * _Nullable smsConfiguration; + +/** +

A string representing the SMS verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsVerificationMessage; + +@end + +/** +

Represents the response from the server for the request to create a user pool.

+ */ +@interface AWSCognitoIdentityProviderCreateUserPoolResponse : AWSModel + + +/** +

A container for the user pool details.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolType * _Nullable userPool; + +@end + +/** +

Represents the request to delete user attributes.

+ Required parameters: [UserAttributeNames] + */ +@interface AWSCognitoIdentityProviderDeleteUserAttributesRequest : AWSRequest + + +/** +

The access token used in the request to delete user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

An array of strings representing the user attribute names you wish to delete.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributeNames; + +@end + +/** +

Represents the response from the server to delete user attributes.

+ */ +@interface AWSCognitoIdentityProviderDeleteUserAttributesResponse : AWSModel + + +@end + +/** +

Represents the request to delete a user pool client.

+ Required parameters: [UserPoolId, ClientId] + */ +@interface AWSCognitoIdentityProviderDeleteUserPoolClientRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The user pool ID for the user pool where you want to delete the client.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the request to delete a user pool.

+ Required parameters: [UserPoolId] + */ +@interface AWSCognitoIdentityProviderDeleteUserPoolRequest : AWSRequest + + +/** +

The user pool ID for the user pool you want to delete.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the request to delete a user.

+ */ +@interface AWSCognitoIdentityProviderDeleteUserRequest : AWSRequest + + +/** +

The access token from a request to delete a user.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +@end + +/** +

Represents the request to describe the user import job.

+ Required parameters: [UserPoolId, JobId] + */ +@interface AWSCognitoIdentityProviderDescribeUserImportJobRequest : AWSRequest + + +/** +

The job ID for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +/** +

The user pool ID for the user pool that the users are being imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server to the request to describe the user import job.

+ */ +@interface AWSCognitoIdentityProviderDescribeUserImportJobResponse : AWSModel + + +/** +

The job object that represents the user import job.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserImportJobType * _Nullable userImportJob; + +@end + +/** +

Represents the request to describe a user pool client.

+ Required parameters: [UserPoolId, ClientId] + */ +@interface AWSCognitoIdentityProviderDescribeUserPoolClientRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The user pool ID for the user pool you want to describe.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server from a request to describe the user pool client.

+ */ +@interface AWSCognitoIdentityProviderDescribeUserPoolClientResponse : AWSModel + + +/** +

The user pool client from a server response to describe the user pool client.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolClientType * _Nullable userPoolClient; + +@end + +/** +

Represents the request to describe the user pool.

+ Required parameters: [UserPoolId] + */ +@interface AWSCognitoIdentityProviderDescribeUserPoolRequest : AWSRequest + + +/** +

The user pool ID for the user pool you want to describe.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response to describe the user pool.

+ */ +@interface AWSCognitoIdentityProviderDescribeUserPoolResponse : AWSModel + + +/** +

The container of metadata returned by the server to describe the pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolType * _Nullable userPool; + +@end + +/** +

The type of configuration for the user pool's device tracking.

+ */ +@interface AWSCognitoIdentityProviderDeviceConfigurationType : AWSModel + + +/** +

Indicates whether a challenge is required on a new device. Only applicable to a new device.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable challengeRequiredOnNewDevice; + +/** +

If true, a device is only remembered on user prompt.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable deviceOnlyRememberedOnUserPrompt; + +@end + +/** +

The device verifier against which it will be authenticated.

+ */ +@interface AWSCognitoIdentityProviderDeviceSecretVerifierConfigType : AWSModel + + +/** +

The password verifier.

+ */ +@property (nonatomic, strong) NSString * _Nullable passwordVerifier; + +/** +

The salt.

+ */ +@property (nonatomic, strong) NSString * _Nullable salt; + +@end + +/** +

The device type.

+ */ +@interface AWSCognitoIdentityProviderDeviceType : AWSModel + + +/** +

The device attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable deviceAttributes; + +/** +

The creation date of the device.

+ */ +@property (nonatomic, strong) NSDate * _Nullable deviceCreateDate; + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +/** +

The date in which the device was last authenticated.

+ */ +@property (nonatomic, strong) NSDate * _Nullable deviceLastAuthenticatedDate; + +/** +

The last modified date of the device.

+ */ +@property (nonatomic, strong) NSDate * _Nullable deviceLastModifiedDate; + +@end + +/** +

The email configuration type.

+ */ +@interface AWSCognitoIdentityProviderEmailConfigurationType : AWSModel + + +/** +

The REPLY-TO email address.

+ */ +@property (nonatomic, strong) NSString * _Nullable replyToEmailAddress; + +/** +

The Amazon Resource Name (ARN) of the email source.

+ */ +@property (nonatomic, strong) NSString * _Nullable sourceArn; + +@end + +/** +

Represents the request to forget the device.

+ Required parameters: [DeviceKey] + */ +@interface AWSCognitoIdentityProviderForgetDeviceRequest : AWSRequest + + +/** +

The access token for the forgotten device request.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +@end + +/** +

Represents the request to reset a user's password.

+ Required parameters: [ClientId, Username] + */ +@interface AWSCognitoIdentityProviderForgotPasswordRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

+ */ +@property (nonatomic, strong) NSString * _Nullable secretHash; + +/** +

The user name of the user for whom you want to enter a code to retrieve a forgotten password.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Respresents the response from the server regarding the request to reset a password.

+ */ +@interface AWSCognitoIdentityProviderForgotPasswordResponse : AWSModel + + +/** +

The type of code delivery details being returned from the server.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderCodeDeliveryDetailsType * _Nullable codeDeliveryDetails; + +@end + +/** +

Represents the request to get the header information for the .csv file for the user import job.

+ Required parameters: [UserPoolId] + */ +@interface AWSCognitoIdentityProviderGetCSVHeaderRequest : AWSRequest + + +/** +

The user pool ID for the user pool that the users are to be imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server to the request to get the header information for the .csv file for the user import job.

+ */ +@interface AWSCognitoIdentityProviderGetCSVHeaderResponse : AWSModel + + +/** +

The header information for the .csv file for the user import job.

+ */ +@property (nonatomic, strong) NSArray * _Nullable CSVHeader; + +/** +

The user pool ID for the user pool that the users are to be imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the request to get the device.

+ Required parameters: [DeviceKey] + */ +@interface AWSCognitoIdentityProviderGetDeviceRequest : AWSRequest + + +/** +

The access token.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +@end + +/** +

Gets the device response.

+ Required parameters: [Device] + */ +@interface AWSCognitoIdentityProviderGetDeviceResponse : AWSModel + + +/** +

The device.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderDeviceType * _Nullable device; + +@end + +/** +

Represents the request to get user attribute verification.

+ Required parameters: [AttributeName] + */ +@interface AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest : AWSRequest + + +/** +

The access token returned by the server response to get the user attribute verification code.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The attribute name returned by the server response to get the user attribute verification code.

+ */ +@property (nonatomic, strong) NSString * _Nullable attributeName; + +@end + +/** +

The verification code response returned by the server response to get the user attribute verification code.

+ */ +@interface AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse : AWSModel + + +/** +

The code delivery details returned by the server response to get the user attribute verification code.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderCodeDeliveryDetailsType * _Nullable codeDeliveryDetails; + +@end + +/** +

Represents the request to get information about the user.

+ */ +@interface AWSCognitoIdentityProviderGetUserRequest : AWSRequest + + +/** +

The access token returned by the server response to get information about the user.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +@end + +/** +

Represents the response from the server from the request to get information about the user.

+ Required parameters: [Username, UserAttributes] + */ +@interface AWSCognitoIdentityProviderGetUserResponse : AWSModel + + +/** +

Specifies the options for MFA (e.g., email or phone number).

+ */ +@property (nonatomic, strong) NSArray * _Nullable MFAOptions; + +/** +

An array of name-value pairs representing user attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributes; + +/** +

The user name of the user you wish to retrieve from the get user request.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the request to sign out all devices.

+ */ +@interface AWSCognitoIdentityProviderGlobalSignOutRequest : AWSRequest + + +/** +

The access token.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +@end + +/** +

The response to the request to sign out all devices.

+ */ +@interface AWSCognitoIdentityProviderGlobalSignOutResponse : AWSModel + + +@end + +/** +

Initiates the authentication request.

+ Required parameters: [AuthFlow, ClientId] + */ +@interface AWSCognitoIdentityProviderInitiateAuthRequest : AWSRequest + + +/** +

The authentication flow.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderAuthFlowType authFlow; + +/** +

The authentication parameters.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable authParameters; + +/** +

The client ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The client app's metadata.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable clientMetadata; + +@end + +/** +

Initiates the authentication response.

+ */ +@interface AWSCognitoIdentityProviderInitiateAuthResponse : AWSModel + + +/** +

The result type of the authentication result.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAuthenticationResultType * _Nullable authenticationResult; + +/** +

The name of the challenge.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; + +/** +

The challenge parameters.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable challengeParameters; + +/** +

The session.

+ */ +@property (nonatomic, strong) NSString * _Nullable session; + +@end + +/** +

Specifies the type of configuration for AWS Lambda triggers.

+ */ +@interface AWSCognitoIdentityProviderLambdaConfigType : AWSModel + + +/** +

Creates an authentication challenge.

+ */ +@property (nonatomic, strong) NSString * _Nullable createAuthChallenge; + +/** +

A custom Message AWS Lambda trigger.

+ */ +@property (nonatomic, strong) NSString * _Nullable customMessage; + +/** +

Defines the authentication challenge.

+ */ +@property (nonatomic, strong) NSString * _Nullable defineAuthChallenge; + +/** +

A post-authentication AWS Lambda trigger.

+ */ +@property (nonatomic, strong) NSString * _Nullable postAuthentication; + +/** +

A post-confirmation AWS Lambda trigger.

+ */ +@property (nonatomic, strong) NSString * _Nullable postConfirmation; + +/** +

A pre-authentication AWS Lambda trigger.

+ */ +@property (nonatomic, strong) NSString * _Nullable preAuthentication; + +/** +

A pre-registration AWS Lambda trigger.

+ */ +@property (nonatomic, strong) NSString * _Nullable preSignUp; + +/** +

Verifies the authentication challenge response.

+ */ +@property (nonatomic, strong) NSString * _Nullable verifyAuthChallengeResponse; + +@end + +/** +

Represents the request to list the devices.

+ Required parameters: [AccessToken] + */ +@interface AWSCognitoIdentityProviderListDevicesRequest : AWSRequest + + +/** +

The access tokens for the request to list devices.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The limit of the device request.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable limit; + +/** +

The pagination token for the list request.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +@end + +/** +

Represents the response to list devices.

+ */ +@interface AWSCognitoIdentityProviderListDevicesResponse : AWSModel + + +/** +

The devices returned in the list devices response.

+ */ +@property (nonatomic, strong) NSArray * _Nullable devices; + +/** +

The pagination token for the list device response.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +@end + +/** +

Represents the request to list the user import jobs.

+ Required parameters: [UserPoolId, MaxResults] + */ +@interface AWSCognitoIdentityProviderListUserImportJobsRequest : AWSRequest + + +/** +

The maximum number of import jobs you want the request to return.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +/** +

The user pool ID for the user pool that the users are being imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server to the request to list the user import jobs.

+ */ +@interface AWSCognitoIdentityProviderListUserImportJobsResponse : AWSModel + + +/** +

An identifier that can be used to return the next set of user import jobs in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +/** +

The user import jobs.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userImportJobs; + +@end + +/** +

Represents the request to list the user pool clients.

+ Required parameters: [UserPoolId] + */ +@interface AWSCognitoIdentityProviderListUserPoolClientsRequest : AWSRequest + + +/** +

The maximum number of results you want the request to return when listing the user pool clients.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** +

The user pool ID for the user pool where you want to list user pool clients.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server that lists user pool clients.

+ */ +@interface AWSCognitoIdentityProviderListUserPoolClientsResponse : AWSModel + + +/** +

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** +

The user pool clients in the response that lists user pool clients.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userPoolClients; + +@end + +/** +

Represents the request to list user pools.

+ Required parameters: [MaxResults] + */ +@interface AWSCognitoIdentityProviderListUserPoolsRequest : AWSRequest + + +/** +

The maximum number of results you want the request to return when listing the user pools.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** +

Represents the response to list user pools.

+ */ +@interface AWSCognitoIdentityProviderListUserPoolsResponse : AWSModel + + +/** +

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** +

The user pools from the response to list users.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userPools; + +@end + +/** +

Represents the request to list users.

+ Required parameters: [UserPoolId] + */ +@interface AWSCognitoIdentityProviderListUsersRequest : AWSRequest + + +/** +

The attributes to get from the request to list users.

+ */ +@property (nonatomic, strong) NSArray * _Nullable attributesToGet; + +/** +

The filter for the list users request.

+ */ +@property (nonatomic, strong) NSString * _Nullable filter; + +/** +

The limit of the request to list users.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable limit; + +/** +

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +/** +

The user pool ID for which you want to list users.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

The response from the request to list users.

+ */ +@interface AWSCognitoIdentityProviderListUsersResponse : AWSModel + + +/** +

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

+ */ +@property (nonatomic, strong) NSString * _Nullable paginationToken; + +/** +

The users returned in the request to list users.

+ */ +@property (nonatomic, strong) NSArray * _Nullable users; + +@end + +/** +

Specifies the different settings for multi-factor authentication (MFA).

+ */ +@interface AWSCognitoIdentityProviderMFAOptionType : AWSModel + + +/** +

The attribute name of the MFA option type.

+ */ +@property (nonatomic, strong) NSString * _Nullable attributeName; + +/** +

The delivery medium (email message or SMS message) to send the MFA code.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderDeliveryMediumType deliveryMedium; + +@end + +/** +

The message template structure.

+ */ +@interface AWSCognitoIdentityProviderMessageTemplateType : AWSModel + + +/** +

The message template for email messages.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailMessage; + +/** +

The subject line for email messages.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailSubject; + +/** +

The message template for SMS messages.

+ */ +@property (nonatomic, strong) NSString * _Nullable SMSMessage; + +@end + +/** +

The new device metadata type.

+ */ +@interface AWSCognitoIdentityProviderLatestDeviceMetadataType : AWSModel + + +/** +

The device group key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceGroupKey; + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +@end + +/** +

The minimum and maximum value of an attribute that is of the number data type.

+ */ +@interface AWSCognitoIdentityProviderNumberAttributeConstraintsType : AWSModel + + +/** +

The maximum value of an attribute that is of the number data type.

+ */ +@property (nonatomic, strong) NSString * _Nullable maxValue; + +/** +

The minimum value of an attribute that is of the number data type.

+ */ +@property (nonatomic, strong) NSString * _Nullable minValue; + +@end + +/** +

The password policy type.

+ */ +@interface AWSCognitoIdentityProviderPasswordPolicyType : AWSModel + + +/** +

The minimum length of the password policy that you have set. Cannot be less than 6.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable minimumLength; + +/** +

In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable requireLowercase; + +/** +

In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable requireNumbers; + +/** +

In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable requireSymbols; + +/** +

In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable requireUppercase; + +@end + +/** +

Represents the request to resend the confirmation code.

+ Required parameters: [ClientId, Username] + */ +@interface AWSCognitoIdentityProviderResendConfirmationCodeRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

+ */ +@property (nonatomic, strong) NSString * _Nullable secretHash; + +/** +

The user name of the user to whom you wish to resend a confirmation code.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

The response from the server when the Amazon Cognito service makes the request to resend a confirmation code.

+ */ +@interface AWSCognitoIdentityProviderResendConfirmationCodeResponse : AWSModel + + +/** +

The type of code delivery details being returned from the server.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderCodeDeliveryDetailsType * _Nullable codeDeliveryDetails; + +@end + +/** +

The request to respond to an authentication challenge.

+ Required parameters: [ClientId, ChallengeName] + */ +@interface AWSCognitoIdentityProviderRespondToAuthChallengeRequest : AWSRequest + + +/** +

The name of the challenge.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; + +/** +

The responses to the authentication challenge.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable challengeResponses; + +/** +

The client ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The session.

+ */ +@property (nonatomic, strong) NSString * _Nullable session; + +@end + +/** +

The response to respond to the authentication challenge.

+ */ +@interface AWSCognitoIdentityProviderRespondToAuthChallengeResponse : AWSModel + + +/** +

The result type of the authentication result.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAuthenticationResultType * _Nullable authenticationResult; + +/** +

The challenge name.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderChallengeNameType challengeName; + +/** +

The challenge parameters.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable challengeParameters; + +/** +

The session.

+ */ +@property (nonatomic, strong) NSString * _Nullable session; + +@end + +/** +

Contains information about the schema attribute.

+ */ +@interface AWSCognitoIdentityProviderSchemaAttributeType : AWSModel + + +/** +

The attribute data type.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderAttributeDataType attributeDataType; + +/** +

Specifies whether the attribute type is developer only.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable developerOnlyAttribute; + +/** +

Specifies whether the attribute can be changed once it has been created.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable varying; + +/** +

A schema attribute of the name type.

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** +

Specifies the constraints for an attribute of the number type.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderNumberAttributeConstraintsType * _Nullable numberAttributeConstraints; + +/** +

Specifies whether a user pool attribute is required. If the attribute is required and the user does not provide a value, registration or sign-in will fail.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable required; + +/** +

Specifies the constraints for an attribute of the string type.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderStringAttributeConstraintsType * _Nullable stringAttributeConstraints; + +@end + +/** +

Represents the request to set user settings.

+ Required parameters: [AccessToken, MFAOptions] + */ +@interface AWSCognitoIdentityProviderSetUserSettingsRequest : AWSRequest + + +/** +

The access token for the set user settings request.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

Specifies the options for MFA (e.g., email or phone number).

+ */ +@property (nonatomic, strong) NSArray * _Nullable MFAOptions; + +@end + +/** +

The response from the server for a set user settings request.

+ */ +@interface AWSCognitoIdentityProviderSetUserSettingsResponse : AWSModel + + +@end + +/** +

Represents the request to register a user.

+ Required parameters: [ClientId, Username, Password] + */ +@interface AWSCognitoIdentityProviderSignUpRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The password of the user you wish to register.

+ */ +@property (nonatomic, strong) NSString * _Nullable password; + +/** +

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

+ */ +@property (nonatomic, strong) NSString * _Nullable secretHash; + +/** +

An array of name-value pairs representing user attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributes; + +/** +

The user name of the user you wish to register.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +/** +

The validation data in the request to register a user.

+ */ +@property (nonatomic, strong) NSArray * _Nullable validationData; + +@end + +/** +

The response from the server for a registration request.

+ */ +@interface AWSCognitoIdentityProviderSignUpResponse : AWSModel + + +/** +

The type of code delivery details being returned from the server.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderCodeDeliveryDetailsType * _Nullable codeDeliveryDetails; + +/** +

A response from the server indicating that a user registration has been confirmed.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable userConfirmed; + +@end + +/** +

The SMS configuratoin type.

+ */ +@interface AWSCognitoIdentityProviderSmsConfigurationType : AWSModel + + +/** +

The external ID.

+ */ +@property (nonatomic, strong) NSString * _Nullable externalId; + +/** +

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.

+ */ +@property (nonatomic, strong) NSString * _Nullable snsCallerArn; + +@end + +/** +

Represents the request to start the user import job.

+ Required parameters: [UserPoolId, JobId] + */ +@interface AWSCognitoIdentityProviderStartUserImportJobRequest : AWSRequest + + +/** +

The job ID for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +/** +

The user pool ID for the user pool that the users are being imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server to the request to start the user import job.

+ */ +@interface AWSCognitoIdentityProviderStartUserImportJobResponse : AWSModel + + +/** +

The job object that represents the user import job.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserImportJobType * _Nullable userImportJob; + +@end + +/** +

Represents the request to stop the user import job.

+ Required parameters: [UserPoolId, JobId] + */ +@interface AWSCognitoIdentityProviderStopUserImportJobRequest : AWSRequest + + +/** +

The job ID for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +/** +

The user pool ID for the user pool that the users are being imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server to the request to stop the user import job.

+ */ +@interface AWSCognitoIdentityProviderStopUserImportJobResponse : AWSModel + + +/** +

The job object that represents the user import job.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserImportJobType * _Nullable userImportJob; + +@end + +/** +

The type of constraints associated with an attribute of the string type.

+ */ +@interface AWSCognitoIdentityProviderStringAttributeConstraintsType : AWSModel + + +/** +

The maximum length of an attribute value of the string type.

+ */ +@property (nonatomic, strong) NSString * _Nullable maxLength; + +/** +

The minimum length of an attribute value of the string type.

+ */ +@property (nonatomic, strong) NSString * _Nullable minLength; + +@end + +/** +

Represents the request to update the device status.

+ Required parameters: [AccessToken, DeviceKey] + */ +@interface AWSCognitoIdentityProviderUpdateDeviceStatusRequest : AWSRequest + + +/** +

The access token.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The device key.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceKey; + +/** +

The status of whether a device is remembered.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderDeviceRememberedStatusType deviceRememberedStatus; + +@end + +/** +

The response to the request to update the device status.

+ */ +@interface AWSCognitoIdentityProviderUpdateDeviceStatusResponse : AWSModel + + +@end + +/** +

Represents the request to update user attributes.

+ Required parameters: [UserAttributes] + */ +@interface AWSCognitoIdentityProviderUpdateUserAttributesRequest : AWSRequest + + +/** +

The access token for the request to update user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

An array of name-value pairs representing user attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable userAttributes; + +@end + +/** +

Represents the response from the server for the request to update user attributes.

+ */ +@interface AWSCognitoIdentityProviderUpdateUserAttributesResponse : AWSModel + + +/** +

The code delivery details list from the server for the request to update user attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable codeDeliveryDetailsList; + +@end + +/** +

Represents the request to update the user pool client.

+ Required parameters: [UserPoolId, ClientId] + */ +@interface AWSCognitoIdentityProviderUpdateUserPoolClientRequest : AWSRequest + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The client name from the update user pool client request.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientName; + +/** +

Explicit authentication flows.

+ */ +@property (nonatomic, strong) NSArray * _Nullable explicitAuthFlows; + +/** +

The read-only attributes of the user pool.

+ */ +@property (nonatomic, strong) NSArray * _Nullable readAttributes; + +/** +

The validity of the refresh token.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable refreshTokenValidity; + +/** +

The user pool ID for the user pool where you want to update the user pool client.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The writeable attributes of the user pool.

+ */ +@property (nonatomic, strong) NSArray * _Nullable writeAttributes; + +@end + +/** +

Represents the response from the server to the request to update the user pool client.

+ */ +@interface AWSCognitoIdentityProviderUpdateUserPoolClientResponse : AWSModel + + +/** +

The user pool client value from the response from the server when an update user pool client request is made.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolClientType * _Nullable userPoolClient; + +@end + +/** +

Represents the request to update the user pool.

+ Required parameters: [UserPoolId] + */ +@interface AWSCognitoIdentityProviderUpdateUserPoolRequest : AWSRequest + + +/** +

The configuration for AdminCreateUser requests.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAdminCreateUserConfigType * _Nullable adminCreateUserConfig; + +/** +

The attributes that are automatically verified when the Amazon Cognito service makes a request to update user pools.

+ */ +@property (nonatomic, strong) NSArray * _Nullable autoVerifiedAttributes; + +/** +

Device configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderDeviceConfigurationType * _Nullable deviceConfiguration; + +/** +

Email configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderEmailConfigurationType * _Nullable emailConfiguration; + +/** +

The contents of the email verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailVerificationMessage; + +/** +

The subject of the email verfication message.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailVerificationSubject; + +/** +

The AWS Lambda configuration information from the request to update the user pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; + +/** +

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderUserPoolMfaType mfaConfiguration; + +/** +

A container with the policies you wish to update in a user pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolPolicyType * _Nullable policies; + +/** +

The contents of the SMS authentication message.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsAuthenticationMessage; + +/** +

SMS configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderSmsConfigurationType * _Nullable smsConfiguration; + +/** +

A container with information about the SMS verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsVerificationMessage; + +/** +

The user pool ID for the user pool you want to update.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

Represents the response from the server when you make a request to update the user pool.

+ */ +@interface AWSCognitoIdentityProviderUpdateUserPoolResponse : AWSModel + + +@end + +/** +

The user import job type.

+ */ +@interface AWSCognitoIdentityProviderUserImportJobType : AWSModel + + +/** +

The role ARN for the Amazon CloudWatch Logging role for the user import job. For more information, see "Creating the CloudWatch Logs IAM Role" in the Amazon Cognito Developer Guide.

+ */ +@property (nonatomic, strong) NSString * _Nullable cloudWatchLogsRoleArn; + +/** +

The date when the user imoprt job was completed.

+ */ +@property (nonatomic, strong) NSDate * _Nullable completionDate; + +/** +

The message returned when the user import job is completed.

+ */ +@property (nonatomic, strong) NSString * _Nullable completionMessage; + +/** +

The date when the user import job was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** +

The number of users that could not be imported.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable failedUsers; + +/** +

The number of users that were successfully imported.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable importedUsers; + +/** +

The job ID for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +/** +

The job name for the user import job.

+ */ +@property (nonatomic, strong) NSString * _Nullable jobName; + +/** +

The pre-signed URL to be used to upload the .csv file.

+ */ +@property (nonatomic, strong) NSString * _Nullable preSignedUrl; + +/** +

The number of users that were skipped.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable skippedUsers; + +/** +

The date when the user import job was started.

+ */ +@property (nonatomic, strong) NSDate * _Nullable startDate; + +/** +

The status of the user import job. One of the following:

  • Created - The job was created but not started.

  • Pending - A transition state. You have started the job, but it has not begun importing users yet.

  • InProgress - The job has started, and users are being imported.

  • Stopping - You have stopped the job, but the job has not stopped importing users yet.

  • Stopped - You have stopped the job, and the job has stopped importing users.

  • Succeeded - The job has completed successfully.

  • Failed - The job has stopped due to an error.

  • Expired - You created a job, but did not start the job within 24-48 hours. All data associated with the job was deleted, and the job cannot be started.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderUserImportJobStatusType status; + +/** +

The user pool ID for the user pool that the users are being imported into.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

The description of the user poool client.

+ */ +@interface AWSCognitoIdentityProviderUserPoolClientDescription : AWSModel + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The client name from the user pool client description.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientName; + +/** +

The user pool ID for the user pool where you want to describe the user pool client.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +@end + +/** +

A user pool of the client type.

+ */ +@interface AWSCognitoIdentityProviderUserPoolClientType : AWSModel + + +/** +

The ID of the client associated with the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The client name from the user pool request of the client type.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientName; + +/** +

The client secret from the user pool request of the client type.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientSecret; + +/** +

The creation date from the user pool request of the client type.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** +

The explicit authentication flows.

+ */ +@property (nonatomic, strong) NSArray * _Nullable explicitAuthFlows; + +/** +

The last modified date from the user pool request of the client type.

+ */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** +

The Read-only attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable readAttributes; + +/** +

The validity of the refresh token.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable refreshTokenValidity; + +/** +

The user pool ID for the user pool client.

+ */ +@property (nonatomic, strong) NSString * _Nullable userPoolId; + +/** +

The writeable attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable writeAttributes; + +@end + +/** +

A user pool description.

+ */ +@interface AWSCognitoIdentityProviderUserPoolDescriptionType : AWSModel + + +/** +

The creation date in a user pool description.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** +

The ID in a user pool description.

+ */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** +

The AWS Lambda configuration information in a user pool description.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; + +/** +

The last modified date in a user pool description.

+ */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** +

The name in a user pool description.

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** +

The user pool status in a user pool description.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderStatusType status; + +@end + +/** +

The type of policy in a user pool.

+ */ +@interface AWSCognitoIdentityProviderUserPoolPolicyType : AWSModel + + +/** +

A container with information about the user pool password policy.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderPasswordPolicyType * _Nullable passwordPolicy; + +@end + +/** +

A container with information about the user pool type.

+ */ +@interface AWSCognitoIdentityProviderUserPoolType : AWSModel + + +/** +

The configuration for AdminCreateUser requests.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderAdminCreateUserConfigType * _Nullable adminCreateUserConfig; + +/** +

Specifies the attributes that are aliased in a user pool.

+ */ +@property (nonatomic, strong) NSArray * _Nullable aliasAttributes; + +/** +

Specifies the attributes that are auto-verified in a user pool.

+ */ +@property (nonatomic, strong) NSArray * _Nullable autoVerifiedAttributes; + +/** +

The creation date of a user pool.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** +

The device configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderDeviceConfigurationType * _Nullable deviceConfiguration; + +/** +

The email configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderEmailConfigurationType * _Nullable emailConfiguration; + +/** +

The reason why the email configuration cannot send the messages to your users.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailConfigurationFailure; + +/** +

The contents of the email verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailVerificationMessage; + +/** +

The subject of the email verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable emailVerificationSubject; + +/** +

A number estimating the size of the user pool.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable estimatedNumberOfUsers; + +/** +

The ID of the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** +

A container describing the AWS Lambda triggers associated with a user pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderLambdaConfigType * _Nullable lambdaConfig; + +/** +

The last modified date of a user pool.

+ */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** +

Can be one of the following values:

  • OFF - MFA tokens are not required and cannot be specified during user registration.

  • ON - MFA tokens are required for all user registrations. You can only specify required when you are initially creating a user pool.

  • OPTIONAL - Users have the option when registering to create an MFA token.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderUserPoolMfaType mfaConfiguration; + +/** +

The name of the user pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** +

A container describing the policies associated with a user pool.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderUserPoolPolicyType * _Nullable policies; + +/** +

A container with the schema attributes of a user pool.

+ */ +@property (nonatomic, strong) NSArray * _Nullable schemaAttributes; + +/** +

The contents of the SMS authentication message.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsAuthenticationMessage; + +/** +

The SMS configuration.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityProviderSmsConfigurationType * _Nullable smsConfiguration; + +/** +

The reason why the SMS configuration cannot send the message(s) to your users.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsConfigurationFailure; + +/** +

The contents of the SMS verification message.

+ */ +@property (nonatomic, strong) NSString * _Nullable smsVerificationMessage; + +/** +

The status of a user pool.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderStatusType status; + +@end + +/** +

The user type.

+ */ +@interface AWSCognitoIdentityProviderUserType : AWSModel + + +/** +

A container with information about the user type attributes.

+ */ +@property (nonatomic, strong) NSArray * _Nullable attributes; + +/** +

Specifies whether the user is enabled.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable enabled; + +/** +

The MFA options for the user.

+ */ +@property (nonatomic, strong) NSArray * _Nullable MFAOptions; + +/** +

The creation date of the user.

+ */ +@property (nonatomic, strong) NSDate * _Nullable userCreateDate; + +/** +

The last modified date of the user.

+ */ +@property (nonatomic, strong) NSDate * _Nullable userLastModifiedDate; + +/** +

The user status. Can be one of the following:

  • UNCONFIRMED - User has been created but not confirmed.

  • CONFIRMED - User has been confirmed.

  • ARCHIVED - User is no longer active.

  • COMPROMISED - User is disabled due to a potential security threat.

  • UNKNOWN - User status is not known.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityProviderUserStatusType userStatus; + +/** +

The user name of the user you wish to describe.

+ */ +@property (nonatomic, strong) NSString * _Nullable username; + +@end + +/** +

Represents the request to verify user attributes.

+ Required parameters: [AttributeName, Code] + */ +@interface AWSCognitoIdentityProviderVerifyUserAttributeRequest : AWSRequest + + +/** +

Represents the access token of the request to verify user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessToken; + +/** +

The attribute name in the request to verify user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable attributeName; + +/** +

The verification code in the request to verify user attributes.

+ */ +@property (nonatomic, strong) NSString * _Nullable code; + +@end + +/** +

A container representing the response from the server from the request to verify user attributes.

+ */ +@interface AWSCognitoIdentityProviderVerifyUserAttributeResponse : AWSModel + + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderResources.h b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderResources.h new file mode 100755 index 0000000..34a384b --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderResources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSCognitoIdentityProviderResources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderService.h b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderService.h new file mode 100755 index 0000000..61d7c83 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityProviderService.h @@ -0,0 +1,1558 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import "AWSCognitoIdentityProviderModel.h" +#import "AWSCognitoIdentityProviderResources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** +

Using the Amazon Cognito Your User Pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

This API reference provides information about user pools in Amazon Cognito Your User Pools.

For more information, see the Amazon Cognito Documentation.

+ */ +@interface AWSCognitoIdentityProvider : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let CognitoIdentityProvider = AWSCognitoIdentityProvider.default() + + *Objective-C* + + AWSCognitoIdentityProvider *CognitoIdentityProvider = [AWSCognitoIdentityProvider defaultCognitoIdentityProvider]; + + @return The default service client. + */ ++ (instancetype)defaultCognitoIdentityProvider; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognitoIdentityProvider.register(with: configuration!, forKey: "USWest2CognitoIdentityProvider") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognitoIdentityProvider registerCognitoIdentityProviderWithConfiguration:configuration forKey:@"USWest2CognitoIdentityProvider"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let CognitoIdentityProvider = AWSCognitoIdentityProvider(forKey: "USWest2CognitoIdentityProvider") + + *Objective-C* + + AWSCognitoIdentityProvider *CognitoIdentityProvider = [AWSCognitoIdentityProvider CognitoIdentityProviderForKey:@"USWest2CognitoIdentityProvider"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerCognitoIdentityProviderWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerCognitoIdentityProviderWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognitoIdentityProvider.register(with: configuration!, forKey: "USWest2CognitoIdentityProvider") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognitoIdentityProvider registerCognitoIdentityProviderWithConfiguration:configuration forKey:@"USWest2CognitoIdentityProvider"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let CognitoIdentityProvider = AWSCognitoIdentityProvider(forKey: "USWest2CognitoIdentityProvider") + + *Objective-C* + + AWSCognitoIdentityProvider *CognitoIdentityProvider = [AWSCognitoIdentityProvider CognitoIdentityProviderForKey:@"USWest2CognitoIdentityProvider"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)CognitoIdentityProviderForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeCognitoIdentityProviderForKey:(NSString *)key; + +/** +

Adds additional user attributes to the user pool schema.

+ + @param request A container for the necessary parameters to execute the AddCustomAttributes service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAddCustomAttributesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserImportInProgress`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAddCustomAttributesRequest + @see AWSCognitoIdentityProviderAddCustomAttributesResponse + */ +- (AWSTask *)addCustomAttributes:(AWSCognitoIdentityProviderAddCustomAttributesRequest *)request; + +/** +

Adds additional user attributes to the user pool schema.

+ + @param request A container for the necessary parameters to execute the AddCustomAttributes service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserImportInProgress`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAddCustomAttributesRequest + @see AWSCognitoIdentityProviderAddCustomAttributesResponse + */ +- (void)addCustomAttributes:(AWSCognitoIdentityProviderAddCustomAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAddCustomAttributesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Confirms user registration as an admin without using a confirmation code. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminConfirmSignUp service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminConfirmSignUpResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyFailedAttempts`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminConfirmSignUpRequest + @see AWSCognitoIdentityProviderAdminConfirmSignUpResponse + */ +- (AWSTask *)adminConfirmSignUp:(AWSCognitoIdentityProviderAdminConfirmSignUpRequest *)request; + +/** +

Confirms user registration as an admin without using a confirmation code. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminConfirmSignUp service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyFailedAttempts`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminConfirmSignUpRequest + @see AWSCognitoIdentityProviderAdminConfirmSignUpResponse + */ +- (void)adminConfirmSignUp:(AWSCognitoIdentityProviderAdminConfirmSignUpRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminConfirmSignUpResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

+ + @param request A container for the necessary parameters to execute the AdminCreateUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminCreateUserResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUnsupportedUserState`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminCreateUserRequest + @see AWSCognitoIdentityProviderAdminCreateUserResponse + */ +- (AWSTask *)adminCreateUser:(AWSCognitoIdentityProviderAdminCreateUserRequest *)request; + +/** +

Creates a new user in the specified user pool and sends a welcome message via email or phone (SMS). This message is based on a template that you configured in your call to CreateUserPool or UpdateUserPool. This template includes your custom sign-up instructions and placeholders for user name and temporary password.

Requires developer credentials.

+ + @param request A container for the necessary parameters to execute the AdminCreateUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUnsupportedUserState`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminCreateUserRequest + @see AWSCognitoIdentityProviderAdminCreateUserResponse + */ +- (void)adminCreateUser:(AWSCognitoIdentityProviderAdminCreateUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminCreateUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes a user as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminDeleteUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminDeleteUserRequest + */ +- (AWSTask *)adminDeleteUser:(AWSCognitoIdentityProviderAdminDeleteUserRequest *)request; + +/** +

Deletes a user as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminDeleteUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminDeleteUserRequest + */ +- (void)adminDeleteUser:(AWSCognitoIdentityProviderAdminDeleteUserRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Deletes the user attributes in a user pool as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminDeleteUserAttributes service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminDeleteUserAttributesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminDeleteUserAttributesRequest + @see AWSCognitoIdentityProviderAdminDeleteUserAttributesResponse + */ +- (AWSTask *)adminDeleteUserAttributes:(AWSCognitoIdentityProviderAdminDeleteUserAttributesRequest *)request; + +/** +

Deletes the user attributes in a user pool as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminDeleteUserAttributes service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminDeleteUserAttributesRequest + @see AWSCognitoIdentityProviderAdminDeleteUserAttributesResponse + */ +- (void)adminDeleteUserAttributes:(AWSCognitoIdentityProviderAdminDeleteUserAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminDeleteUserAttributesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Disables the specified user as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminDisableUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminDisableUserResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminDisableUserRequest + @see AWSCognitoIdentityProviderAdminDisableUserResponse + */ +- (AWSTask *)adminDisableUser:(AWSCognitoIdentityProviderAdminDisableUserRequest *)request; + +/** +

Disables the specified user as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminDisableUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminDisableUserRequest + @see AWSCognitoIdentityProviderAdminDisableUserResponse + */ +- (void)adminDisableUser:(AWSCognitoIdentityProviderAdminDisableUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminDisableUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Enables the specified user as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminEnableUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminEnableUserResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminEnableUserRequest + @see AWSCognitoIdentityProviderAdminEnableUserResponse + */ +- (AWSTask *)adminEnableUser:(AWSCognitoIdentityProviderAdminEnableUserRequest *)request; + +/** +

Enables the specified user as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminEnableUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminEnableUserRequest + @see AWSCognitoIdentityProviderAdminEnableUserResponse + */ +- (void)adminEnableUser:(AWSCognitoIdentityProviderAdminEnableUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminEnableUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Forgets the device, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminForgetDevice service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminForgetDeviceRequest + */ +- (AWSTask *)adminForgetDevice:(AWSCognitoIdentityProviderAdminForgetDeviceRequest *)request; + +/** +

Forgets the device, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminForgetDevice service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminForgetDeviceRequest + */ +- (void)adminForgetDevice:(AWSCognitoIdentityProviderAdminForgetDeviceRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Gets the device, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminGetDevice service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminGetDeviceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderAdminGetDeviceRequest + @see AWSCognitoIdentityProviderAdminGetDeviceResponse + */ +- (AWSTask *)adminGetDevice:(AWSCognitoIdentityProviderAdminGetDeviceRequest *)request; + +/** +

Gets the device, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminGetDevice service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderAdminGetDeviceRequest + @see AWSCognitoIdentityProviderAdminGetDeviceResponse + */ +- (void)adminGetDevice:(AWSCognitoIdentityProviderAdminGetDeviceRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminGetDeviceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the specified user by user name in a user pool as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminGetUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminGetUserResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminGetUserRequest + @see AWSCognitoIdentityProviderAdminGetUserResponse + */ +- (AWSTask *)adminGetUser:(AWSCognitoIdentityProviderAdminGetUserRequest *)request; + +/** +

Gets the specified user by user name in a user pool as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminGetUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminGetUserRequest + @see AWSCognitoIdentityProviderAdminGetUserResponse + */ +- (void)adminGetUser:(AWSCognitoIdentityProviderAdminGetUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminGetUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Initiates the authentication flow, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminInitiateAuth service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminInitiateAuthResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorMFAMethodNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`. + + @see AWSCognitoIdentityProviderAdminInitiateAuthRequest + @see AWSCognitoIdentityProviderAdminInitiateAuthResponse + */ +- (AWSTask *)adminInitiateAuth:(AWSCognitoIdentityProviderAdminInitiateAuthRequest *)request; + +/** +

Initiates the authentication flow, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminInitiateAuth service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorMFAMethodNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`. + + @see AWSCognitoIdentityProviderAdminInitiateAuthRequest + @see AWSCognitoIdentityProviderAdminInitiateAuthResponse + */ +- (void)adminInitiateAuth:(AWSCognitoIdentityProviderAdminInitiateAuthRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminInitiateAuthResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists devices, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminListDevices service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminListDevicesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderAdminListDevicesRequest + @see AWSCognitoIdentityProviderAdminListDevicesResponse + */ +- (AWSTask *)adminListDevices:(AWSCognitoIdentityProviderAdminListDevicesRequest *)request; + +/** +

Lists devices, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminListDevices service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderAdminListDevicesRequest + @see AWSCognitoIdentityProviderAdminListDevicesResponse + */ +- (void)adminListDevices:(AWSCognitoIdentityProviderAdminListDevicesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminListDevicesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

+ + @param request A container for the necessary parameters to execute the AdminResetUserPassword service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminResetUserPasswordResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminResetUserPasswordRequest + @see AWSCognitoIdentityProviderAdminResetUserPasswordResponse + */ +- (AWSTask *)adminResetUserPassword:(AWSCognitoIdentityProviderAdminResetUserPasswordRequest *)request; + +/** +

Resets the specified user's password in a user pool as an administrator. Works on any user.

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user with the code to change their password.

+ + @param request A container for the necessary parameters to execute the AdminResetUserPassword service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminResetUserPasswordRequest + @see AWSCognitoIdentityProviderAdminResetUserPasswordResponse + */ +- (void)adminResetUserPassword:(AWSCognitoIdentityProviderAdminResetUserPasswordRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminResetUserPasswordResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Responds to an authentication challenge, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminRespondToAuthChallenge service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminRespondToAuthChallengeResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorMFAMethodNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`. + + @see AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest + @see AWSCognitoIdentityProviderAdminRespondToAuthChallengeResponse + */ +- (AWSTask *)adminRespondToAuthChallenge:(AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest *)request; + +/** +

Responds to an authentication challenge, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminRespondToAuthChallenge service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorMFAMethodNotFound`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`. + + @see AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest + @see AWSCognitoIdentityProviderAdminRespondToAuthChallengeResponse + */ +- (void)adminRespondToAuthChallenge:(AWSCognitoIdentityProviderAdminRespondToAuthChallengeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminRespondToAuthChallengeResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Sets all the user settings for a specified user name. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminSetUserSettings service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminSetUserSettingsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminSetUserSettingsRequest + @see AWSCognitoIdentityProviderAdminSetUserSettingsResponse + */ +- (AWSTask *)adminSetUserSettings:(AWSCognitoIdentityProviderAdminSetUserSettingsRequest *)request; + +/** +

Sets all the user settings for a specified user name. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminSetUserSettings service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminSetUserSettingsRequest + @see AWSCognitoIdentityProviderAdminSetUserSettingsResponse + */ +- (void)adminSetUserSettings:(AWSCognitoIdentityProviderAdminSetUserSettingsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminSetUserSettingsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Updates the device status as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminUpdateDeviceStatus service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest + @see AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse + */ +- (AWSTask *)adminUpdateDeviceStatus:(AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest *)request; + +/** +

Updates the device status as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminUpdateDeviceStatus service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest + @see AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse + */ +- (void)adminUpdateDeviceStatus:(AWSCognitoIdentityProviderAdminUpdateDeviceStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminUpdateDeviceStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminUpdateUserAttributes service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminUpdateUserAttributesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest + @see AWSCognitoIdentityProviderAdminUpdateUserAttributesResponse + */ +- (AWSTask *)adminUpdateUserAttributes:(AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest *)request; + +/** +

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

+ + @param request A container for the necessary parameters to execute the AdminUpdateUserAttributes service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest + @see AWSCognitoIdentityProviderAdminUpdateUserAttributesResponse + */ +- (void)adminUpdateUserAttributes:(AWSCognitoIdentityProviderAdminUpdateUserAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminUpdateUserAttributesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Signs out users from all devices, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminUserGlobalSignOut service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest + @see AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse + */ +- (AWSTask *)adminUserGlobalSignOut:(AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest *)request; + +/** +

Signs out users from all devices, as an administrator.

+ + @param request A container for the necessary parameters to execute the AdminUserGlobalSignOut service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest + @see AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse + */ +- (void)adminUserGlobalSignOut:(AWSCognitoIdentityProviderAdminUserGlobalSignOutRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderAdminUserGlobalSignOutResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Changes the password for a specified user in a user pool.

+ + @param request A container for the necessary parameters to execute the ChangePassword service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderChangePasswordResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderChangePasswordRequest + @see AWSCognitoIdentityProviderChangePasswordResponse + */ +- (AWSTask *)changePassword:(AWSCognitoIdentityProviderChangePasswordRequest *)request; + +/** +

Changes the password for a specified user in a user pool.

+ + @param request A container for the necessary parameters to execute the ChangePassword service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderChangePasswordRequest + @see AWSCognitoIdentityProviderChangePasswordResponse + */ +- (void)changePassword:(AWSCognitoIdentityProviderChangePasswordRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderChangePasswordResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Confirms tracking of the device. This API call is the call that beings device tracking.

+ + @param request A container for the necessary parameters to execute the ConfirmDevice service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderConfirmDeviceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderConfirmDeviceRequest + @see AWSCognitoIdentityProviderConfirmDeviceResponse + */ +- (AWSTask *)confirmDevice:(AWSCognitoIdentityProviderConfirmDeviceRequest *)request; + +/** +

Confirms tracking of the device. This API call is the call that beings device tracking.

+ + @param request A container for the necessary parameters to execute the ConfirmDevice service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderConfirmDeviceRequest + @see AWSCognitoIdentityProviderConfirmDeviceResponse + */ +- (void)confirmDevice:(AWSCognitoIdentityProviderConfirmDeviceRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderConfirmDeviceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Allows a user to enter a code provided when they reset their password to update their password.

+ + @param request A container for the necessary parameters to execute the ConfirmForgotPassword service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderConfirmForgotPasswordResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorTooManyFailedAttempts`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderConfirmForgotPasswordRequest + @see AWSCognitoIdentityProviderConfirmForgotPasswordResponse + */ +- (AWSTask *)confirmForgotPassword:(AWSCognitoIdentityProviderConfirmForgotPasswordRequest *)request; + +/** +

Allows a user to enter a code provided when they reset their password to update their password.

+ + @param request A container for the necessary parameters to execute the ConfirmForgotPassword service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorTooManyFailedAttempts`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderConfirmForgotPasswordRequest + @see AWSCognitoIdentityProviderConfirmForgotPasswordResponse + */ +- (void)confirmForgotPassword:(AWSCognitoIdentityProviderConfirmForgotPasswordRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderConfirmForgotPasswordResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Confirms registration of a user and handles the existing alias from a previous user.

+ + @param request A container for the necessary parameters to execute the ConfirmSignUp service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderConfirmSignUpResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyFailedAttempts`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderConfirmSignUpRequest + @see AWSCognitoIdentityProviderConfirmSignUpResponse + */ +- (AWSTask *)confirmSignUp:(AWSCognitoIdentityProviderConfirmSignUpRequest *)request; + +/** +

Confirms registration of a user and handles the existing alias from a previous user.

+ + @param request A container for the necessary parameters to execute the ConfirmSignUp service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyFailedAttempts`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderConfirmSignUpRequest + @see AWSCognitoIdentityProviderConfirmSignUpResponse + */ +- (void)confirmSignUp:(AWSCognitoIdentityProviderConfirmSignUpRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderConfirmSignUpResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Creates the user import job.

+ + @param request A container for the necessary parameters to execute the CreateUserImportJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderCreateUserImportJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderCreateUserImportJobRequest + @see AWSCognitoIdentityProviderCreateUserImportJobResponse + */ +- (AWSTask *)createUserImportJob:(AWSCognitoIdentityProviderCreateUserImportJobRequest *)request; + +/** +

Creates the user import job.

+ + @param request A container for the necessary parameters to execute the CreateUserImportJob service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderCreateUserImportJobRequest + @see AWSCognitoIdentityProviderCreateUserImportJobResponse + */ +- (void)createUserImportJob:(AWSCognitoIdentityProviderCreateUserImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderCreateUserImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

+ + @param request A container for the necessary parameters to execute the CreateUserPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderCreateUserPoolResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderCreateUserPoolRequest + @see AWSCognitoIdentityProviderCreateUserPoolResponse + */ +- (AWSTask *)createUserPool:(AWSCognitoIdentityProviderCreateUserPoolRequest *)request; + +/** +

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

+ + @param request A container for the necessary parameters to execute the CreateUserPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderCreateUserPoolRequest + @see AWSCognitoIdentityProviderCreateUserPoolResponse + */ +- (void)createUserPool:(AWSCognitoIdentityProviderCreateUserPoolRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderCreateUserPoolResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Creates the user pool client.

+ + @param request A container for the necessary parameters to execute the CreateUserPoolClient service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderCreateUserPoolClientResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderCreateUserPoolClientRequest + @see AWSCognitoIdentityProviderCreateUserPoolClientResponse + */ +- (AWSTask *)createUserPoolClient:(AWSCognitoIdentityProviderCreateUserPoolClientRequest *)request; + +/** +

Creates the user pool client.

+ + @param request A container for the necessary parameters to execute the CreateUserPoolClient service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderCreateUserPoolClientRequest + @see AWSCognitoIdentityProviderCreateUserPoolClientResponse + */ +- (void)createUserPoolClient:(AWSCognitoIdentityProviderCreateUserPoolClientRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderCreateUserPoolClientResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Allows a user to delete one's self.

+ + @param request A container for the necessary parameters to execute the DeleteUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserRequest + */ +- (AWSTask *)deleteUser:(AWSCognitoIdentityProviderDeleteUserRequest *)request; + +/** +

Allows a user to delete one's self.

+ + @param request A container for the necessary parameters to execute the DeleteUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserRequest + */ +- (void)deleteUser:(AWSCognitoIdentityProviderDeleteUserRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Deletes the attributes for a user.

+ + @param request A container for the necessary parameters to execute the DeleteUserAttributes service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderDeleteUserAttributesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserAttributesRequest + @see AWSCognitoIdentityProviderDeleteUserAttributesResponse + */ +- (AWSTask *)deleteUserAttributes:(AWSCognitoIdentityProviderDeleteUserAttributesRequest *)request; + +/** +

Deletes the attributes for a user.

+ + @param request A container for the necessary parameters to execute the DeleteUserAttributes service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserAttributesRequest + @see AWSCognitoIdentityProviderDeleteUserAttributesResponse + */ +- (void)deleteUserAttributes:(AWSCognitoIdentityProviderDeleteUserAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderDeleteUserAttributesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes the specified Amazon Cognito user pool.

+ + @param request A container for the necessary parameters to execute the DeleteUserPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserImportInProgress`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserPoolRequest + */ +- (AWSTask *)deleteUserPool:(AWSCognitoIdentityProviderDeleteUserPoolRequest *)request; + +/** +

Deletes the specified Amazon Cognito user pool.

+ + @param request A container for the necessary parameters to execute the DeleteUserPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserImportInProgress`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserPoolRequest + */ +- (void)deleteUserPool:(AWSCognitoIdentityProviderDeleteUserPoolRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Allows the developer to delete the user pool client.

+ + @param request A container for the necessary parameters to execute the DeleteUserPoolClient service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserPoolClientRequest + */ +- (AWSTask *)deleteUserPoolClient:(AWSCognitoIdentityProviderDeleteUserPoolClientRequest *)request; + +/** +

Allows the developer to delete the user pool client.

+ + @param request A container for the necessary parameters to execute the DeleteUserPoolClient service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDeleteUserPoolClientRequest + */ +- (void)deleteUserPoolClient:(AWSCognitoIdentityProviderDeleteUserPoolClientRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Describes the user import job.

+ + @param request A container for the necessary parameters to execute the DescribeUserImportJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderDescribeUserImportJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDescribeUserImportJobRequest + @see AWSCognitoIdentityProviderDescribeUserImportJobResponse + */ +- (AWSTask *)describeUserImportJob:(AWSCognitoIdentityProviderDescribeUserImportJobRequest *)request; + +/** +

Describes the user import job.

+ + @param request A container for the necessary parameters to execute the DescribeUserImportJob service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDescribeUserImportJobRequest + @see AWSCognitoIdentityProviderDescribeUserImportJobResponse + */ +- (void)describeUserImportJob:(AWSCognitoIdentityProviderDescribeUserImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderDescribeUserImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns the configuration information and metadata of the specified user pool.

+ + @param request A container for the necessary parameters to execute the DescribeUserPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderDescribeUserPoolResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDescribeUserPoolRequest + @see AWSCognitoIdentityProviderDescribeUserPoolResponse + */ +- (AWSTask *)describeUserPool:(AWSCognitoIdentityProviderDescribeUserPoolRequest *)request; + +/** +

Returns the configuration information and metadata of the specified user pool.

+ + @param request A container for the necessary parameters to execute the DescribeUserPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDescribeUserPoolRequest + @see AWSCognitoIdentityProviderDescribeUserPoolResponse + */ +- (void)describeUserPool:(AWSCognitoIdentityProviderDescribeUserPoolRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderDescribeUserPoolResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Client method for returning the configuration information and metadata of the specified user pool client.

+ + @param request A container for the necessary parameters to execute the DescribeUserPoolClient service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderDescribeUserPoolClientResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDescribeUserPoolClientRequest + @see AWSCognitoIdentityProviderDescribeUserPoolClientResponse + */ +- (AWSTask *)describeUserPoolClient:(AWSCognitoIdentityProviderDescribeUserPoolClientRequest *)request; + +/** +

Client method for returning the configuration information and metadata of the specified user pool client.

+ + @param request A container for the necessary parameters to execute the DescribeUserPoolClient service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderDescribeUserPoolClientRequest + @see AWSCognitoIdentityProviderDescribeUserPoolClientResponse + */ +- (void)describeUserPoolClient:(AWSCognitoIdentityProviderDescribeUserPoolClientRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderDescribeUserPoolClientResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Forgets the specified device.

+ + @param request A container for the necessary parameters to execute the ForgetDevice service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderForgetDeviceRequest + */ +- (AWSTask *)forgetDevice:(AWSCognitoIdentityProviderForgetDeviceRequest *)request; + +/** +

Forgets the specified device.

+ + @param request A container for the necessary parameters to execute the ForgetDevice service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderForgetDeviceRequest + */ +- (void)forgetDevice:(AWSCognitoIdentityProviderForgetDeviceRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Retrieves the password for the specified client ID or username.

+ + @param request A container for the necessary parameters to execute the ForgotPassword service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderForgotPasswordResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderForgotPasswordRequest + @see AWSCognitoIdentityProviderForgotPasswordResponse + */ +- (AWSTask *)forgotPassword:(AWSCognitoIdentityProviderForgotPasswordRequest *)request; + +/** +

Retrieves the password for the specified client ID or username.

+ + @param request A container for the necessary parameters to execute the ForgotPassword service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderForgotPasswordRequest + @see AWSCognitoIdentityProviderForgotPasswordResponse + */ +- (void)forgotPassword:(AWSCognitoIdentityProviderForgotPasswordRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderForgotPasswordResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the header information for the .csv file to be used as input for the user import job.

+ + @param request A container for the necessary parameters to execute the GetCSVHeader service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderGetCSVHeaderResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetCSVHeaderRequest + @see AWSCognitoIdentityProviderGetCSVHeaderResponse + */ +- (AWSTask *)getCSVHeader:(AWSCognitoIdentityProviderGetCSVHeaderRequest *)request; + +/** +

Gets the header information for the .csv file to be used as input for the user import job.

+ + @param request A container for the necessary parameters to execute the GetCSVHeader service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetCSVHeaderRequest + @see AWSCognitoIdentityProviderGetCSVHeaderResponse + */ +- (void)getCSVHeader:(AWSCognitoIdentityProviderGetCSVHeaderRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGetCSVHeaderResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the device.

+ + @param request A container for the necessary parameters to execute the GetDevice service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderGetDeviceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetDeviceRequest + @see AWSCognitoIdentityProviderGetDeviceResponse + */ +- (AWSTask *)getDevice:(AWSCognitoIdentityProviderGetDeviceRequest *)request; + +/** +

Gets the device.

+ + @param request A container for the necessary parameters to execute the GetDevice service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetDeviceRequest + @see AWSCognitoIdentityProviderGetDeviceResponse + */ +- (void)getDevice:(AWSCognitoIdentityProviderGetDeviceRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGetDeviceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the user attributes and metadata for a user.

+ + @param request A container for the necessary parameters to execute the GetUser service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderGetUserResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetUserRequest + @see AWSCognitoIdentityProviderGetUserResponse + */ +- (AWSTask *)getUser:(AWSCognitoIdentityProviderGetUserRequest *)request; + +/** +

Gets the user attributes and metadata for a user.

+ + @param request A container for the necessary parameters to execute the GetUser service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetUserRequest + @see AWSCognitoIdentityProviderGetUserResponse + */ +- (void)getUser:(AWSCognitoIdentityProviderGetUserRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGetUserResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the user attribute verification code for the specified attribute name.

+ + @param request A container for the necessary parameters to execute the GetUserAttributeVerificationCode service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest + @see AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse + */ +- (AWSTask *)getUserAttributeVerificationCode:(AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest *)request; + +/** +

Gets the user attribute verification code for the specified attribute name.

+ + @param request A container for the necessary parameters to execute the GetUserAttributeVerificationCode service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest + @see AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse + */ +- (void)getUserAttributeVerificationCode:(AWSCognitoIdentityProviderGetUserAttributeVerificationCodeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Signs out users from all devices.

+ + @param request A container for the necessary parameters to execute the GlobalSignOut service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderGlobalSignOutResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGlobalSignOutRequest + @see AWSCognitoIdentityProviderGlobalSignOutResponse + */ +- (AWSTask *)globalSignOut:(AWSCognitoIdentityProviderGlobalSignOutRequest *)request; + +/** +

Signs out users from all devices.

+ + @param request A container for the necessary parameters to execute the GlobalSignOut service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderGlobalSignOutRequest + @see AWSCognitoIdentityProviderGlobalSignOutResponse + */ +- (void)globalSignOut:(AWSCognitoIdentityProviderGlobalSignOutRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderGlobalSignOutResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Initiates the authentication flow.

+ + @param request A container for the necessary parameters to execute the InitiateAuth service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderInitiateAuthResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderInitiateAuthRequest + @see AWSCognitoIdentityProviderInitiateAuthResponse + */ +- (AWSTask *)initiateAuth:(AWSCognitoIdentityProviderInitiateAuthRequest *)request; + +/** +

Initiates the authentication flow.

+ + @param request A container for the necessary parameters to execute the InitiateAuth service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderInitiateAuthRequest + @see AWSCognitoIdentityProviderInitiateAuthResponse + */ +- (void)initiateAuth:(AWSCognitoIdentityProviderInitiateAuthRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderInitiateAuthResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the devices.

+ + @param request A container for the necessary parameters to execute the ListDevices service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderListDevicesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListDevicesRequest + @see AWSCognitoIdentityProviderListDevicesResponse + */ +- (AWSTask *)listDevices:(AWSCognitoIdentityProviderListDevicesRequest *)request; + +/** +

Lists the devices.

+ + @param request A container for the necessary parameters to execute the ListDevices service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListDevicesRequest + @see AWSCognitoIdentityProviderListDevicesResponse + */ +- (void)listDevices:(AWSCognitoIdentityProviderListDevicesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListDevicesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the user import jobs.

+ + @param request A container for the necessary parameters to execute the ListUserImportJobs service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderListUserImportJobsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUserImportJobsRequest + @see AWSCognitoIdentityProviderListUserImportJobsResponse + */ +- (AWSTask *)listUserImportJobs:(AWSCognitoIdentityProviderListUserImportJobsRequest *)request; + +/** +

Lists the user import jobs.

+ + @param request A container for the necessary parameters to execute the ListUserImportJobs service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUserImportJobsRequest + @see AWSCognitoIdentityProviderListUserImportJobsResponse + */ +- (void)listUserImportJobs:(AWSCognitoIdentityProviderListUserImportJobsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListUserImportJobsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the clients that have been created for the specified user pool.

+ + @param request A container for the necessary parameters to execute the ListUserPoolClients service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderListUserPoolClientsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUserPoolClientsRequest + @see AWSCognitoIdentityProviderListUserPoolClientsResponse + */ +- (AWSTask *)listUserPoolClients:(AWSCognitoIdentityProviderListUserPoolClientsRequest *)request; + +/** +

Lists the clients that have been created for the specified user pool.

+ + @param request A container for the necessary parameters to execute the ListUserPoolClients service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUserPoolClientsRequest + @see AWSCognitoIdentityProviderListUserPoolClientsResponse + */ +- (void)listUserPoolClients:(AWSCognitoIdentityProviderListUserPoolClientsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListUserPoolClientsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the user pools associated with an AWS account.

+ + @param request A container for the necessary parameters to execute the ListUserPools service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderListUserPoolsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUserPoolsRequest + @see AWSCognitoIdentityProviderListUserPoolsResponse + */ +- (AWSTask *)listUserPools:(AWSCognitoIdentityProviderListUserPoolsRequest *)request; + +/** +

Lists the user pools associated with an AWS account.

+ + @param request A container for the necessary parameters to execute the ListUserPools service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUserPoolsRequest + @see AWSCognitoIdentityProviderListUserPoolsResponse + */ +- (void)listUserPools:(AWSCognitoIdentityProviderListUserPoolsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListUserPoolsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the users in the Amazon Cognito user pool.

+ + @param request A container for the necessary parameters to execute the ListUsers service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderListUsersResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUsersRequest + @see AWSCognitoIdentityProviderListUsersResponse + */ +- (AWSTask *)listUsers:(AWSCognitoIdentityProviderListUsersRequest *)request; + +/** +

Lists the users in the Amazon Cognito user pool.

+ + @param request A container for the necessary parameters to execute the ListUsers service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderListUsersRequest + @see AWSCognitoIdentityProviderListUsersResponse + */ +- (void)listUsers:(AWSCognitoIdentityProviderListUsersRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderListUsersResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

+ + @param request A container for the necessary parameters to execute the ResendConfirmationCode service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderResendConfirmationCodeResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderResendConfirmationCodeRequest + @see AWSCognitoIdentityProviderResendConfirmationCodeResponse + */ +- (AWSTask *)resendConfirmationCode:(AWSCognitoIdentityProviderResendConfirmationCodeRequest *)request; + +/** +

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

+ + @param request A container for the necessary parameters to execute the ResendConfirmationCode service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderResendConfirmationCodeRequest + @see AWSCognitoIdentityProviderResendConfirmationCodeResponse + */ +- (void)resendConfirmationCode:(AWSCognitoIdentityProviderResendConfirmationCodeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderResendConfirmationCodeResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Responds to the authentication challenge.

+ + @param request A container for the necessary parameters to execute the RespondToAuthChallenge service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderRespondToAuthChallengeResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorMFAMethodNotFound`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderRespondToAuthChallengeRequest + @see AWSCognitoIdentityProviderRespondToAuthChallengeResponse + */ +- (AWSTask *)respondToAuthChallenge:(AWSCognitoIdentityProviderRespondToAuthChallengeRequest *)request; + +/** +

Responds to the authentication challenge.

+ + @param request A container for the necessary parameters to execute the RespondToAuthChallenge service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorMFAMethodNotFound`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderRespondToAuthChallengeRequest + @see AWSCognitoIdentityProviderRespondToAuthChallengeResponse + */ +- (void)respondToAuthChallenge:(AWSCognitoIdentityProviderRespondToAuthChallengeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderRespondToAuthChallengeResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Sets the user settings like multi-factor authentication (MFA). If MFA is to be removed for a particular attribute pass the attribute with code delivery as null. If null list is passed, all MFA options are removed.

+ + @param request A container for the necessary parameters to execute the SetUserSettings service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderSetUserSettingsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderSetUserSettingsRequest + @see AWSCognitoIdentityProviderSetUserSettingsResponse + */ +- (AWSTask *)setUserSettings:(AWSCognitoIdentityProviderSetUserSettingsRequest *)request; + +/** +

Sets the user settings like multi-factor authentication (MFA). If MFA is to be removed for a particular attribute pass the attribute with code delivery as null. If null list is passed, all MFA options are removed.

+ + @param request A container for the necessary parameters to execute the SetUserSettings service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderSetUserSettingsRequest + @see AWSCognitoIdentityProviderSetUserSettingsResponse + */ +- (void)setUserSettings:(AWSCognitoIdentityProviderSetUserSettingsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderSetUserSettingsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Registers the user in the specified user pool and creates a user name, password, and user attributes.

+ + @param request A container for the necessary parameters to execute the SignUp service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderSignUpResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`. + + @see AWSCognitoIdentityProviderSignUpRequest + @see AWSCognitoIdentityProviderSignUpResponse + */ +- (AWSTask *)signUp:(AWSCognitoIdentityProviderSignUpRequest *)request; + +/** +

Registers the user in the specified user pool and creates a user name, password, and user attributes.

+ + @param request A container for the necessary parameters to execute the SignUp service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidPassword`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorUsernameExists`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`. + + @see AWSCognitoIdentityProviderSignUpRequest + @see AWSCognitoIdentityProviderSignUpResponse + */ +- (void)signUp:(AWSCognitoIdentityProviderSignUpRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderSignUpResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Starts the user import.

+ + @param request A container for the necessary parameters to execute the StartUserImportJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderStartUserImportJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderStartUserImportJobRequest + @see AWSCognitoIdentityProviderStartUserImportJobResponse + */ +- (AWSTask *)startUserImportJob:(AWSCognitoIdentityProviderStartUserImportJobRequest *)request; + +/** +

Starts the user import.

+ + @param request A container for the necessary parameters to execute the StartUserImportJob service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderStartUserImportJobRequest + @see AWSCognitoIdentityProviderStartUserImportJobResponse + */ +- (void)startUserImportJob:(AWSCognitoIdentityProviderStartUserImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderStartUserImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Stops the user import job.

+ + @param request A container for the necessary parameters to execute the StopUserImportJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderStopUserImportJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderStopUserImportJobRequest + @see AWSCognitoIdentityProviderStopUserImportJobResponse + */ +- (AWSTask *)stopUserImportJob:(AWSCognitoIdentityProviderStopUserImportJobRequest *)request; + +/** +

Stops the user import job.

+ + @param request A container for the necessary parameters to execute the StopUserImportJob service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorPreconditionNotMet`, `AWSCognitoIdentityProviderErrorNotAuthorized`. + + @see AWSCognitoIdentityProviderStopUserImportJobRequest + @see AWSCognitoIdentityProviderStopUserImportJobResponse + */ +- (void)stopUserImportJob:(AWSCognitoIdentityProviderStopUserImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderStopUserImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Updates the device status.

+ + @param request A container for the necessary parameters to execute the UpdateDeviceStatus service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderUpdateDeviceStatusResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderUpdateDeviceStatusRequest + @see AWSCognitoIdentityProviderUpdateDeviceStatusResponse + */ +- (AWSTask *)updateDeviceStatus:(AWSCognitoIdentityProviderUpdateDeviceStatusRequest *)request; + +/** +

Updates the device status.

+ + @param request A container for the necessary parameters to execute the UpdateDeviceStatus service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInvalidUserPoolConfiguration`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderUpdateDeviceStatusRequest + @see AWSCognitoIdentityProviderUpdateDeviceStatusResponse + */ +- (void)updateDeviceStatus:(AWSCognitoIdentityProviderUpdateDeviceStatusRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateDeviceStatusResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Allows a user to update a specific attribute (one at a time).

+ + @param request A container for the necessary parameters to execute the UpdateUserAttributes service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderUpdateUserAttributesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderUpdateUserAttributesRequest + @see AWSCognitoIdentityProviderUpdateUserAttributesResponse + */ +- (AWSTask *)updateUserAttributes:(AWSCognitoIdentityProviderUpdateUserAttributesRequest *)request; + +/** +

Allows a user to update a specific attribute (one at a time).

+ + @param request A container for the necessary parameters to execute the UpdateUserAttributes service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUnexpectedLambda`, `AWSCognitoIdentityProviderErrorUserLambdaValidation`, `AWSCognitoIdentityProviderErrorInvalidLambdaResponse`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorAliasExists`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorCodeDeliveryFailure`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderUpdateUserAttributesRequest + @see AWSCognitoIdentityProviderUpdateUserAttributesResponse + */ +- (void)updateUserAttributes:(AWSCognitoIdentityProviderUpdateUserAttributesRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateUserAttributesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Updates the specified user pool with the specified attributes.

+ + @param request A container for the necessary parameters to execute the UpdateUserPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderUpdateUserPoolResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorConcurrentModification`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserImportInProgress`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`. + + @see AWSCognitoIdentityProviderUpdateUserPoolRequest + @see AWSCognitoIdentityProviderUpdateUserPoolResponse + */ +- (AWSTask *)updateUserPool:(AWSCognitoIdentityProviderUpdateUserPoolRequest *)request; + +/** +

Updates the specified user pool with the specified attributes.

+ + @param request A container for the necessary parameters to execute the UpdateUserPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorConcurrentModification`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorUserImportInProgress`, `AWSCognitoIdentityProviderErrorInternalError`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleAccessPolicy`, `AWSCognitoIdentityProviderErrorInvalidSmsRoleTrustRelationship`, `AWSCognitoIdentityProviderErrorInvalidEmailRoleAccessPolicy`. + + @see AWSCognitoIdentityProviderUpdateUserPoolRequest + @see AWSCognitoIdentityProviderUpdateUserPoolResponse + */ +- (void)updateUserPool:(AWSCognitoIdentityProviderUpdateUserPoolRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateUserPoolResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Allows the developer to update the specified user pool client and password policy.

+ + @param request A container for the necessary parameters to execute the UpdateUserPoolClient service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderUpdateUserPoolClientResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderUpdateUserPoolClientRequest + @see AWSCognitoIdentityProviderUpdateUserPoolClientResponse + */ +- (AWSTask *)updateUserPoolClient:(AWSCognitoIdentityProviderUpdateUserPoolClientRequest *)request; + +/** +

Allows the developer to update the specified user pool client and password policy.

+ + @param request A container for the necessary parameters to execute the UpdateUserPoolClient service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderUpdateUserPoolClientRequest + @see AWSCognitoIdentityProviderUpdateUserPoolClientResponse + */ +- (void)updateUserPoolClient:(AWSCognitoIdentityProviderUpdateUserPoolClientRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderUpdateUserPoolClientResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Verifies the specified user attributes in the user pool.

+ + @param request A container for the necessary parameters to execute the VerifyUserAttribute service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityProviderVerifyUserAttributeResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderVerifyUserAttributeRequest + @see AWSCognitoIdentityProviderVerifyUserAttributeResponse + */ +- (AWSTask *)verifyUserAttribute:(AWSCognitoIdentityProviderVerifyUserAttributeRequest *)request; + +/** +

Verifies the specified user attributes in the user pool.

+ + @param request A container for the necessary parameters to execute the VerifyUserAttribute service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityProviderErrorDomain` domain and the following error code: `AWSCognitoIdentityProviderErrorResourceNotFound`, `AWSCognitoIdentityProviderErrorInvalidParameter`, `AWSCognitoIdentityProviderErrorCodeMismatch`, `AWSCognitoIdentityProviderErrorExpiredCode`, `AWSCognitoIdentityProviderErrorNotAuthorized`, `AWSCognitoIdentityProviderErrorTooManyRequests`, `AWSCognitoIdentityProviderErrorLimitExceeded`, `AWSCognitoIdentityProviderErrorPasswordResetRequired`, `AWSCognitoIdentityProviderErrorUserNotFound`, `AWSCognitoIdentityProviderErrorUserNotConfirmed`, `AWSCognitoIdentityProviderErrorInternalError`. + + @see AWSCognitoIdentityProviderVerifyUserAttributeRequest + @see AWSCognitoIdentityProviderVerifyUserAttributeResponse + */ +- (void)verifyUserAttribute:(AWSCognitoIdentityProviderVerifyUserAttributeRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityProviderVerifyUserAttributeResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityUser.h b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityUser.h new file mode 100755 index 0000000..d40c826 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityUser.h @@ -0,0 +1,326 @@ +// +// Copyright 2014-2017 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import +#import "AWSCognitoIdentityProviderService.h" + +/** + The status of the user. +
    +
  • AWSCognitoIdentityUserStatusUnknown - The user status is unknown.
  • +
  • AWSCognitoIdentityUserStatusConfirmed - The user was auto confirmed.
  • +
  • AWSCognitoIdentityUserStatusUnconfirmed - The user was not confirmed.
  • +
+ */ +typedef NS_ENUM(NSInteger, AWSCognitoIdentityUserStatus) { + AWSCognitoIdentityUserStatusUnknown = 0, + AWSCognitoIdentityUserStatusConfirmed = -1000, + AWSCognitoIdentityUserStatusUnconfirmed = -2000, +}; + +@class AWSCognitoIdentityUserPool; +@class AWSCognitoIdentityUserSession; +@class AWSCognitoIdentityUserSessionToken; +@class AWSCognitoIdentityUserSettings; +@class AWSCognitoIdentityUserMFAOption; + +@class AWSCognitoIdentityUserConfirmSignUpResponse; +@class AWSCognitoIdentityUserGetDetailsResponse; +@class AWSCognitoIdentityUserResendConfirmationCodeResponse; +@class AWSCognitoIdentityUserForgotPasswordResponse; +@class AWSCognitoIdentityUserConfirmForgotPasswordResponse; +@class AWSCognitoIdentityUserChangePasswordResponse; +@class AWSCognitoIdentityUserAttributeType; +@class AWSCognitoIdentityUserUpdateAttributesResponse; +@class AWSCognitoIdentityUserDeleteAttributesResponse; +@class AWSCognitoIdentityUserVerifyAttributeResponse; +@class AWSCognitoIdentityUserGetAttributeVerificationCodeResponse; +@class AWSCognitoIdentityUserSetUserSettingsResponse; +@class AWSCognitoIdentityUserGlobalSignOutResponse; +@class AWSCognitoIdentityUserListDevicesResponse; +@class AWSCognitoIdentityUserUpdateDeviceStatusResponse; +@class AWSCognitoIdentityUserGetDeviceResponse; + + +NS_ASSUME_NONNULL_BEGIN + +@interface AWSCognitoIdentityUser : NSObject + +/** + The username of this user + */ +@property (nonatomic, readonly, nullable) NSString *username; + +/** + If this user is a result of a signup, this has the confirmation status + */ +@property (nonatomic, readonly) AWSCognitoIdentityUserStatus confirmedStatus; + +/** + Determines whether this user has an active session or not. If the refresh token is expired + the user will be prompted to authenticate when you call getSession. +*/ +@property (nonatomic, readonly, getter=isSignedIn) BOOL signedIn; + +/** + Get the device id + */ +@property (nonatomic, readonly) NSString * deviceId; + +/** + Confirm a users' sign up with the confirmation code + */ +- (AWSTask *)confirmSignUp:(NSString *)confirmationCode; + + +/** + Confirm a users' sign up with the confirmation code. If forceAliasCreation is set, if another user is aliased to the same email/phone this code was sent to, reassign alias to this user. + */ +-(AWSTask *) confirmSignUp:(NSString *) confirmationCode forceAliasCreation:(BOOL)forceAliasCreation; + +/** + Resend the confirmation code sent during sign up + */ +- (AWSTask *)resendConfirmationCode; + +/** + Get a session with id, access and refresh tokens. + */ +- (AWSTask *)getSession; + +/** + Get a session with the following username and password + */ +- (AWSTask *)getSession:(NSString *)username + password:(NSString *)password + validationData:(nullable NSArray *)validationData; + +/** + Get details about this user, including user attributes + */ +- (AWSTask *)getDetails; + +/** + Send a code to this user to initiate the forgot password flow + */ +- (AWSTask *)forgotPassword; + +/** + Conclude the forgot password flow by providing the forgot password code and new password. + */ +- (AWSTask *)confirmForgotPassword:(NSString *)confirmationCode + password:(NSString *)password; + +/** + Change this user's password + */ +- (AWSTask *)changePassword:(NSString *)currentPassword + proposedPassword:(NSString *)proposedPassword; + +/** + Update this user's attributes + */ +- (AWSTask *)updateAttributes:(NSArray *)attributes; + +/** + Delete the attributes specified by attributeNames + */ +- (AWSTask *)deleteAttributes:(NSArray *)attributeNames; + + +/** + Verify a user attribute upon receiving the verification code. + */ +- (AWSTask *)verifyAttribute:(NSString *)attributeName + code:(NSString *)code; + +/** + Request a verification code to verify an attribute. + */ +- (AWSTask *)getAttributeVerificationCode:(NSString *)attributeName; + +/** + Set the user settings for this user such as MFA + */ +- (AWSTask *)setUserSettings:(AWSCognitoIdentityUserSettings *)settings; + +/** + Delete this user + */ +- (AWSTask *)deleteUser; + +/** + Remove all sessions from the keychain for this user. Last known user remains. + */ +- (void)signOut; + +/** + Invalidate any active sessions with the service. Last known user remains. + */ +- (AWSTask *) globalSignOut; + +/** + Remove all sessions from the keychain for this user and clear last known user. + */ +- (void)signOutAndClearLastKnownUser; + + +/** + List devices for this user + */ +- (AWSTask *) listDevices: (int) limit paginationToken:(NSString * _Nullable) paginationToken; + +/** + Update device remembered status for a specific device id. + */ +- (AWSTask *) updateDeviceStatus: (NSString *) deviceId remembered:(BOOL) remembered; + +/** + Convenience method to update device remembered status for this device. + */ +- (AWSTask *) updateDeviceStatus: (BOOL) remembered; + + +/** + Get device details for a specific deviceId. + */ +- (AWSTask *) getDevice: (NSString *) deviceId; + +/** + Convenience method to get device details for this device. + */ +- (AWSTask *) getDevice; + + +/** + Forget (stop tracking) a specific deviceId. + */ +- (AWSTask *) forgetDevice: (NSString *) deviceId; + +/** + Forget (stop tracking) this device. + */ +- (AWSTask *) forgetDevice; + + +@end + + +/** + A User session. Encapsulates all tokens (id, access and refresh tokens) for a user. + */ +@interface AWSCognitoIdentityUserSession : NSObject + +@property (nonatomic, readonly) AWSCognitoIdentityUserSessionToken * _Nullable idToken; +@property (nonatomic, readonly) AWSCognitoIdentityUserSessionToken * _Nullable accessToken; +@property (nonatomic, readonly) AWSCognitoIdentityUserSessionToken * _Nullable refreshToken; +@property (nonatomic, readonly) NSDate * _Nullable expirationTime; + +@end + +/** + A JWT session token. + */ +@interface AWSCognitoIdentityUserSessionToken : NSObject + +@property (nonatomic, readonly) NSString * tokenString; + +@end + +/** + User settings. Currently only mfa options. + */ +@interface AWSCognitoIdentityUserSettings : NSObject + +@property (nonatomic, copy) NSArray* _Nullable mfaOptions; + +@end + +@interface AWSCognitoIdentityUserMFAOption : NSObject + +@property (nonatomic, strong) NSString * attributeName; +@property (nonatomic, assign) AWSCognitoIdentityProviderDeliveryMediumType deliveryMedium; + +@end + +@interface AWSCognitoIdentityUserAttributeType : AWSCognitoIdentityProviderAttributeType +- (instancetype) initWithName:(NSString *) name value:(NSString *) value; +@end + +#pragma Response wrappers +@interface AWSCognitoIdentityUserConfirmSignUpResponse : AWSCognitoIdentityProviderConfirmSignUpResponse + +@end + +@interface AWSCognitoIdentityUserResendConfirmationCodeResponse :AWSCognitoIdentityProviderResendConfirmationCodeResponse + +@end + +@interface AWSCognitoIdentityUserGetDetailsResponse : AWSCognitoIdentityProviderGetUserResponse + +@end + +@interface AWSCognitoIdentityUserForgotPasswordResponse : AWSCognitoIdentityProviderForgotPasswordResponse + +@end + +@interface AWSCognitoIdentityUserConfirmForgotPasswordResponse : AWSCognitoIdentityProviderConfirmForgotPasswordResponse + +@end + +@interface AWSCognitoIdentityUserChangePasswordResponse : AWSCognitoIdentityProviderChangePasswordResponse + +@end + +@interface AWSCognitoIdentityUserUpdateAttributesResponse : AWSCognitoIdentityProviderUpdateUserAttributesResponse + +@end + +@interface AWSCognitoIdentityUserDeleteAttributesResponse : AWSCognitoIdentityProviderDeleteUserAttributesResponse + +@end + +@interface AWSCognitoIdentityUserVerifyAttributeResponse : AWSCognitoIdentityProviderVerifyUserAttributeResponse + +@end + +@interface AWSCognitoIdentityUserGetAttributeVerificationCodeResponse : AWSCognitoIdentityProviderGetUserAttributeVerificationCodeResponse + +@end + +@interface AWSCognitoIdentityUserSetUserSettingsResponse : AWSCognitoIdentityProviderSetUserSettingsResponse + +@end + +@interface AWSCognitoIdentityUserGlobalSignOutResponse : AWSCognitoIdentityProviderGlobalSignOutResponse + +@end + +@interface AWSCognitoIdentityUserListDevicesResponse : AWSCognitoIdentityProviderListDevicesResponse + +@end + +@interface AWSCognitoIdentityUserUpdateDeviceStatusResponse : AWSCognitoIdentityProviderUpdateDeviceStatusResponse + +@end + +@interface AWSCognitoIdentityUserGetDeviceResponse : AWSCognitoIdentityProviderGetDeviceResponse + +@end + + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityUserPool.h b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityUserPool.h new file mode 100755 index 0000000..bc0368c --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Headers/AWSCognitoIdentityUserPool.h @@ -0,0 +1,359 @@ +// +// Copyright 2014-2017 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import +#import "AWSCognitoIdentityProviderService.h" + +@class AWSCognitoIdentityUser; +@class AWSCognitoIdentityUserAttributeType; +@class AWSCognitoIdentityPasswordAuthenticationInput; +@class AWSCognitoIdentityMultifactorAuthenticationInput; +@class AWSCognitoIdentityPasswordAuthenticationDetails; +@class AWSCognitoIdentityCustomChallengeDetails; +@class AWSCognitoIdentityUserPoolConfiguration; +@class AWSCognitoIdentityUserPoolSignUpResponse; +@class AWSCognitoIdentityNewPasswordRequiredDetails; + +@protocol AWSCognitoIdentityInteractiveAuthenticationDelegate; +@protocol AWSCognitoIdentityPasswordAuthentication; +@protocol AWSCognitoIdentityMultiFactorAuthentication; +@protocol AWSCognitoIdentityCustomAuthentication; +@protocol AWSCognitoIdentityRememberDevice; +@protocol AWSCognitoIdentityNewPasswordRequired; + +NS_ASSUME_NONNULL_BEGIN + +@interface AWSCognitoIdentityUserPool : NSObject + +@property (nonatomic, readonly) AWSServiceConfiguration *configuration; +@property (nonatomic, readonly) AWSCognitoIdentityUserPoolConfiguration *userPoolConfiguration; +@property (nonatomic, readonly) NSString *identityProviderName; + +/** + Set this delegate to interactively prompt users for authentication challenges when necessary + */ +@property (nonatomic, strong) id delegate; + +/** + * Fetches the Cognito User Pool instance configured in the `info.plist` under `CognitoUserPool` + * + * @return the default instance for Cognito User Pool + */ ++ (instancetype)defaultCognitoIdentityUserPool; + ++ (void)registerCognitoIdentityUserPoolWithUserPoolConfiguration:(AWSCognitoIdentityUserPoolConfiguration *)userPoolConfiguration + forKey:(NSString *)key; + ++ (void)registerCognitoIdentityUserPoolWithConfiguration:(nullable AWSServiceConfiguration *)configuration + userPoolConfiguration:(AWSCognitoIdentityUserPoolConfiguration *)userPoolConfiguration + forKey:(NSString *)key; + ++ (instancetype)CognitoIdentityUserPoolForKey:(NSString *)key; + ++ (void)removeCognitoIdentityUserPoolForKey:(NSString *)key; + +/** + Sign up a new user + */ +- (AWSTask *)signUp:(NSString *)username + password:(NSString *)password + userAttributes:(nullable NSArray *)userAttributes + validationData:(nullable NSArray *)validationData; + +/** + Return the user who last authenticated. Username may be nil if current user is unknown. + @return The last authenticated user + */ +- (nullable AWSCognitoIdentityUser *)currentUser; + +/** + Return the user without a username, when username is unknown. + */ +- (AWSCognitoIdentityUser *)getUser; + +/** + Return the user with a specific username + */ +- (AWSCognitoIdentityUser *)getUser:(NSString *)username; + +/** + Clear the last known user only without signing out of their user session + */ +- (void) clearLastKnownUser; + +/** + Clear everything from keychain, including last known user and user sessions for all users. + */ +- (void) clearAll; + +@end + +@interface AWSCognitoIdentityUserPoolConfiguration : NSObject + +@property (nonatomic, readonly) NSString *clientId; +@property (nonatomic, readonly, nullable) NSString *clientSecret; +@property (nonatomic, readonly) NSString *poolId; +@property (nonatomic, readonly) BOOL shouldProvideCognitoValidationData; + +- (instancetype)initWithClientId:(NSString *)clientId + clientSecret:(nullable NSString *)clientSecret + poolId:(NSString *)poolId; + +- (instancetype)initWithClientId:(NSString *)clientId + clientSecret:(nullable NSString *)clientSecret + poolId:(NSString *)poolId +shouldProvideCognitoValidationData:(BOOL)shouldProvideCognitoValidationData; + +@end + +/** + When interactive sign in is initiated, this encapsulates the last known username + */ +@interface AWSCognitoIdentityPasswordAuthenticationInput : NSObject + +@property(nonatomic, readonly, nullable) NSString *lastKnownUsername; + +@end + + + +/** + When interactive auth requires a multifactor authentication code, this encapsulates the + destination and delivery medium + */ +@interface AWSCognitoIdentityMultifactorAuthenticationInput : NSObject + +@property(nonatomic, readonly, nullable) NSString *destination; +@property(nonatomic, assign, readonly) AWSCognitoIdentityProviderDeliveryMediumType deliveryMedium; +@end + +/** + When responding to an interactive sign in, this encapsulates the end users' username and password + */ +@interface AWSCognitoIdentityPasswordAuthenticationDetails : NSObject + +@property(nonatomic, strong) NSString *username; +@property(nonatomic, strong) NSString *password; +@property(nonatomic, strong, nullable) NSArray *validationData; + +- (nullable instancetype)initWithUsername:(NSString *)username + password:(NSString *)password; +@end + + +/** + When responding to a custom sign in, this encapsulates the end users challenge responses + */ +@interface AWSCognitoIdentityCustomChallengeDetails : NSObject + +/** + Optional developer provided validation data to add to the initate auth call + */ +@property(nonatomic, strong, nullable) NSArray *validationData; + +/** + If you know your initial challenge, set this property to the challenge name + */ +@property(nonatomic, strong, nullable) NSString *initialChallengeName; + +/** + The end user challenge responses for this challenge + */ +@property(nonatomic, strong) NSDictionary* challengeResponses; + +-(instancetype) initWithChallengeResponses: (NSDictionary *) challengeResponses; + +@end + + +/** + When responding to a new password required challenge this encapsulates the end users' new password and required attributes + */ +@interface AWSCognitoIdentityNewPasswordRequiredDetails : NSObject +/** + The end user's new password + */ +@property(nonatomic, strong, nonnull) NSString *proposedPassword; +/** + Any attribute the end user is setting. Values must be present for all + required attributes. Any other attributes are optional. + */ +@property(nonatomic, strong, nullable) NSArray *userAttributes; + +/** + Initializer given a new password and map of user attributes to set + **/ +-(instancetype) initWithProposedPassword: (NSString *) proposedPassword userAttributes:(NSDictionary *) userAttributes; + +@end + +/** + When responding to a custom sign in, this encapsulates the challenge parameters that define the challenge + */ +@interface AWSCognitoIdentityCustomAuthenticationInput : NSObject + +@property(nonatomic, strong) NSDictionary* challengeParameters; + +-(instancetype) initWithChallengeParameters: (NSDictionary *) challengeParameters; + +@end + +/** + When responding to new password required, this encapsulates the existing user attributes and the required user attributes. + */ +@interface AWSCognitoIdentityNewPasswordRequiredInput : NSObject + +@property(nonatomic, strong) NSDictionary* userAttributes; + +@property(nonatomic, strong) NSSet* requiredAttributes; + +-(instancetype) initWithUserAttributes: (NSDictionary *) userAttributes requiredAttributes: (NSSet*) requiredAttributes; + +@end + + +/** + The error domain for AWSCognitoIdentityProvider errors. +
    +
  • AWSCognitoIdentityProviderClientErrorUnknown - Unknown error.
  • +
  • AWSCognitoIdentityProviderClientErrorInvalidAuthenticationDelegate - Necessary authentication delegate isn't set.
  • +
  • AWSCognitoIdentityProviderClientErrorCustomAuthenticationNotSupported - Custom authentication is not supported by this SDK.
  • +
  • AWSCognitoIdentityProviderClientErrorDeviceNotTracked - This device does not have an id, either it was never tracked or previously forgotten.
  • +
+ */ +typedef NS_ENUM(NSInteger, AWSCognitoIdentityClientErrorType) { + AWSCognitoIdentityProviderClientErrorUnknown = 0, + AWSCognitoIdentityProviderClientErrorInvalidAuthenticationDelegate = -1000, + AWSCognitoIdentityProviderClientErrorCustomAuthenticationNotSupported = -2000, + AWSCognitoIdentityProviderClientErrorDeviceNotTracked = -3000, +}; + +@interface AWSCognitoIdentityUserPoolSignUpResponse : AWSCognitoIdentityProviderSignUpResponse +@property (nonatomic, readonly) AWSCognitoIdentityUser* user; +@end + +@protocol AWSCognitoIdentityInteractiveAuthenticationDelegate +@optional +/** + Initialize ui to prompt end user for username and password + */ +-(id) startPasswordAuthentication; + +/** + Initialize ui to prompt end user for multifactor authentication code + */ +-(id) startMultiFactorAuthentication; + +/** + Initialize ui to prompt end user to remember this device + */ +-(id) startRememberDevice; + +/** + Initialize ui to prompt end user to set a new password and specify profile information as part of sign in + */ +-(id) startNewPasswordRequired; + +/** + Initialize ui to prompt end user for custom authentication flow + */ +-(id) startCustomAuthentication; + +@end + +@protocol AWSCognitoIdentityPasswordAuthentication +/** + Obtain username and password from end user. + @param authenticationInput input details including last known username + @param passwordAuthenticationCompletionSource set passwordAuthenticationCompletionSource.result + with the username and password received from the end user. + */ +-(void) getPasswordAuthenticationDetails: (AWSCognitoIdentityPasswordAuthenticationInput *) authenticationInput passwordAuthenticationCompletionSource: (AWSTaskCompletionSource *) passwordAuthenticationCompletionSource; +/** + This step completed, usually either display an error to the end user or dismiss ui + @param error the error if any that occured + */ +-(void) didCompletePasswordAuthenticationStepWithError:(NSError* _Nullable) error; +@end + +@protocol AWSCognitoIdentityMultiFactorAuthentication +/** + Obtain mfa code from the end user + @param authenticationInput details about the deliveryMedium and masked destination for where the code was sent + @param mfaCodeCompletionSource set mfaCodeCompletionSource.result with the mfa code from end user + */ +-(void) getMultiFactorAuthenticationCode: (AWSCognitoIdentityMultifactorAuthenticationInput *) authenticationInput mfaCodeCompletionSource: (AWSTaskCompletionSource *) mfaCodeCompletionSource; +/** + This step completed, usually either display an error to the end user or dismiss ui + @param error the error if any that occured + */ +-(void) didCompleteMultifactorAuthenticationStepWithError:(NSError* _Nullable) error; +@end + + +@protocol AWSCognitoIdentityCustomAuthentication + + +/** + Obtain input for a custom challenge from the end user + @param authenticationInput details the challenge including the challenge name and inputs + @param customAuthCompletionSource set customAuthCompletionSource.result with the challenge answers from the end user + */ +-(void) getCustomChallengeDetails: (AWSCognitoIdentityCustomAuthenticationInput *) authenticationInput customAuthCompletionSource: (AWSTaskCompletionSource *) customAuthCompletionSource; +/** + This step completed, usually either display an error to the end user or dismiss ui + @param error the error if any that occured + */ +-(void) didCompleteCustomAuthenticationStepWithError:(NSError* _Nullable) error; + + +@end + +@protocol AWSCognitoIdentityRememberDevice + +/** + Obtain whether to remember this device or not + @param rememberDeviceCompletionSource set customAuthCompletionSource.result with YES or NO answer from the end user + */ +-(void) getRememberDevice: (AWSTaskCompletionSource *) rememberDeviceCompletionSource; +/** + This step completed, usually either display an error to the end user or dismiss ui + @param error the error if any that occured + */ +-(void) didCompleteRememberDeviceStepWithError:(NSError* _Nullable) error; +@end + + +@protocol AWSCognitoIdentityNewPasswordRequired + +/** + Obtain a new password and specify profile information as part of sign in from the end user + @param newPasswordRequiredInput user profile and required attributes of the end user + @param newPasswordRequiredCompletionSource set newPasswordRequiredCompletionSource with the new password and any attribute updates from the end user + */ +-(void) getNewPasswordDetails: (AWSCognitoIdentityNewPasswordRequiredInput *) newPasswordRequiredInput newPasswordRequiredCompletionSource: (AWSTaskCompletionSource *) newPasswordRequiredCompletionSource; +/** + This step completed, usually either display an error to the end user or dismiss ui + @param error the error if any that occured + */ +-(void) didCompleteNewPasswordStepWithError:(NSError* _Nullable) error; + + +@end + + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Info.plist b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Info.plist new file mode 100755 index 0000000..aa85fd9 Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Info.plist differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Modules/module.modulemap b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Modules/module.modulemap new file mode 100755 index 0000000..56485e9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCognitoIdentityProvider.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AWSCognitoIdentityProvider { + umbrella header "AWSCognitoIdentityProvider.h" + + export * + module * { export * } +} diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/AWSCore b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/AWSCore new file mode 100755 index 0000000..af0d3d1 Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/AWSCore differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSBolts.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSBolts.h new file mode 100755 index 0000000..ce6e420 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSBolts.h @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import "AWSCancellationToken.h" +#import "AWSCancellationTokenRegistration.h" +#import "AWSCancellationTokenSource.h" +#import "AWSExecutor.h" +#import "AWSGeneric.h" +#import "AWSTask.h" +#import "AWSTaskCompletionSource.h" + + +NS_ASSUME_NONNULL_BEGIN + +/** + A string containing the version of the Bolts Framework used by the current application. + */ +extern NSString *const AWSBoltsFrameworkVersionString; + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationToken.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationToken.h new file mode 100755 index 0000000..eb6943a --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationToken.h @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +#import "AWSCancellationTokenRegistration.h" + +NS_ASSUME_NONNULL_BEGIN + +/*! + A block that will be called when a token is cancelled. + */ +typedef void(^AWSCancellationBlock)(); + +/*! + The consumer view of a CancellationToken. + Propagates notification that operations should be canceled. + A AWSCancellationToken has methods to inspect whether the token has been cancelled. + */ +@interface AWSCancellationToken : NSObject + +/*! + Whether cancellation has been requested for this token source. + */ +@property (nonatomic, assign, readonly, getter=isCancellationRequested) BOOL cancellationRequested; + +/*! + Register a block to be notified when the token is cancelled. + If the token is already cancelled the delegate will be notified immediately. + */ +- (AWSCancellationTokenRegistration *)registerCancellationObserverWithBlock:(AWSCancellationBlock)block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationTokenRegistration.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationTokenRegistration.h new file mode 100755 index 0000000..2b158ba --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationTokenRegistration.h @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/*! + Represents the registration of a cancellation observer with a cancellation token. + Can be used to unregister the observer at a later time. + */ +@interface AWSCancellationTokenRegistration : NSObject + +/*! + Removes the cancellation observer registered with the token + and releases all resources associated with this registration. + */ +- (void)dispose; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationTokenSource.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationTokenSource.h new file mode 100755 index 0000000..8356299 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCancellationTokenSource.h @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class AWSCancellationToken; + +/*! + AWSCancellationTokenSource represents the producer side of a CancellationToken. + Signals to a CancellationToken that it should be canceled. + It is a cancellation token that also has methods + for changing the state of a token by cancelling it. + */ +@interface AWSCancellationTokenSource : NSObject + +/*! + Creates a new cancellation token source. + */ ++ (instancetype)cancellationTokenSource; + +/*! + The cancellation token associated with this CancellationTokenSource. + */ +@property (nonatomic, strong, readonly) AWSCancellationToken *token; + +/*! + Whether cancellation has been requested for this token source. + */ +@property (nonatomic, assign, readonly, getter=isCancellationRequested) BOOL cancellationRequested; + +/*! + Cancels the token if it has not already been cancelled. + */ +- (void)cancel; + +/*! + Schedules a cancel operation on this CancellationTokenSource after the specified number of milliseconds. + @param millis The number of milliseconds to wait before completing the returned task. + If delay is `0` the cancel is executed immediately. If delay is `-1` any scheduled cancellation is stopped. + */ +- (void)cancelAfterDelay:(int)millis; + +/*! + Releases all resources associated with this token source, + including disposing of all registrations. + */ +- (void)dispose; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCategory.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCategory.h new file mode 100755 index 0000000..981da0e --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCategory.h @@ -0,0 +1,101 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSServiceEnum.h" + +FOUNDATION_EXPORT NSString *const AWSDateRFC822DateFormat1; +FOUNDATION_EXPORT NSString *const AWSDateISO8601DateFormat1; +FOUNDATION_EXPORT NSString *const AWSDateISO8601DateFormat2; +FOUNDATION_EXPORT NSString *const AWSDateISO8601DateFormat3; +FOUNDATION_EXPORT NSString *const AWSDateShortDateFormat1; +FOUNDATION_EXPORT NSString *const AWSDateShortDateFormat2; + +@interface NSDate (AWS) + ++ (NSDate *)aws_clockSkewFixedDate; + ++ (NSDate *)aws_dateFromString:(NSString *)string; ++ (NSDate *)aws_dateFromString:(NSString *)string format:(NSString *)dateFormat; +- (NSString *)aws_stringValue:(NSString *)dateFormat; + +/** + * Set the clock skew for the current device. This clock skew will be used for calculating + * signatures to AWS signatures and for parsing/converting date values from responses. + * + * @param clockskew the skew (in seconds) for this device. If the clock on the device is fast, pass positive skew to correct. If the clock on the device is slow, pass negative skew to correct. + */ ++ (void)aws_setRuntimeClockSkew:(NSTimeInterval)clockskew; + +/** + * Get the clock skew for the current device. + * + * @return the skew (in seconds) currently set for this device. Positive clock skew implies the device is fast, negative implies the device is slow. + */ ++ (NSTimeInterval)aws_getRuntimeClockSkew; + +@end + +@interface NSDictionary (AWS) + +- (NSDictionary *)aws_removeNullValues; +- (id)aws_objectForCaseInsensitiveKey:(id)aKey; + +@end + +@interface NSJSONSerialization (AWS) + ++ (NSData *)aws_dataWithJSONObject:(id)obj + options:(NSJSONWritingOptions)opt + error:(NSError **)error; + +@end + +@interface NSNumber (AWS) + ++ (NSNumber *)aws_numberFromString:(NSString *)string; + +@end + +@interface NSObject (AWS) + +- (NSDictionary *)aws_properties; +- (void)aws_copyPropertiesFromObject:(NSObject *)object; + +@end + +@interface NSString (AWS) + ++ (NSString *)aws_base64md5FromData:(NSData *)data; +- (BOOL)aws_isBase64Data; +- (NSString *)aws_stringWithURLEncoding; +- (NSString *)aws_stringWithURLEncodingPath; +- (NSString *)aws_stringWithURLEncodingPathWithoutPriorDecoding; +- (NSString *)aws_md5String; +- (NSString *)aws_md5StringLittleEndian; +- (BOOL)aws_isVirtualHostedStyleCompliant; + +- (AWSRegionType)aws_regionTypeValue; + +@end + +@interface NSFileManager (AWS) + +- (BOOL)aws_atomicallyCopyItemAtURL:(NSURL *)sourceURL + toURL:(NSURL *)destinationURL + backupItemName:(NSString *)backupItemName + error:(NSError **)outError; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSClientContext.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSClientContext.h new file mode 100755 index 0000000..4d1260a --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSClientContext.h @@ -0,0 +1,56 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +FOUNDATION_EXPORT NSString *const AWSClientContextVersion; +FOUNDATION_EXPORT NSString *const AWSClientContextHeader; +FOUNDATION_EXPORT NSString *const AWSClientContextHeaderEncoding; + +@interface AWSClientContext : NSObject + +#pragma mark - App Details +@property (nonatomic, strong, readonly) NSString *installationId; +@property (nonatomic, strong) NSString *appVersion; +@property (nonatomic, strong) NSString *appBuild; +@property (nonatomic, strong) NSString *appPackageName; +@property (nonatomic, strong) NSString *appName; + +#pragma mark - Device Details +@property (nonatomic, strong) NSString *devicePlatformVersion; +@property (nonatomic, strong) NSString *devicePlatform; +@property (nonatomic, strong) NSString *deviceManufacturer; +@property (nonatomic, strong) NSString *deviceModel; +@property (nonatomic, strong) NSString *deviceModelVersion; +@property (nonatomic, strong) NSString *deviceLocale; + +#pragma mark - Custom Attributes +@property (nonatomic, strong) NSDictionary *customAttributes; + +#pragma mark - Service Details +@property (nonatomic, strong, readonly) NSDictionary *serviceDetails; + +- (instancetype)init; + +- (NSDictionary *)dictionaryRepresentation; + +- (NSString *)JSONString; + +- (NSString *)base64EncodedJSONString; + +- (void)setDetails:(id)details + forService:(NSString *)service; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentity.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentity.h new file mode 100755 index 0000000..05b53c0 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentity.h @@ -0,0 +1,22 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + + + + +#import "AWSCore.h" +#import "AWSCognitoIdentityService.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityModel.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityModel.h new file mode 100755 index 0000000..8c4645b --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityModel.h @@ -0,0 +1,806 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSNetworking.h" +#import "AWSModel.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSCognitoIdentityErrorDomain; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityErrorType) { + AWSCognitoIdentityErrorUnknown, + AWSCognitoIdentityErrorConcurrentModification, + AWSCognitoIdentityErrorDeveloperUserAlreadyRegistered, + AWSCognitoIdentityErrorExternalService, + AWSCognitoIdentityErrorInternalError, + AWSCognitoIdentityErrorInvalidIdentityPoolConfiguration, + AWSCognitoIdentityErrorInvalidParameter, + AWSCognitoIdentityErrorLimitExceeded, + AWSCognitoIdentityErrorNotAuthorized, + AWSCognitoIdentityErrorResourceConflict, + AWSCognitoIdentityErrorResourceNotFound, + AWSCognitoIdentityErrorTooManyRequests, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoIdentityErrorCode) { + AWSCognitoIdentityErrorCodeUnknown, + AWSCognitoIdentityErrorCodeAccessDenied, + AWSCognitoIdentityErrorCodeInternalServerError, +}; + +@class AWSCognitoIdentityCognitoIdentityProvider; +@class AWSCognitoIdentityCreateIdentityPoolInput; +@class AWSCognitoIdentityCredentials; +@class AWSCognitoIdentityDeleteIdentitiesInput; +@class AWSCognitoIdentityDeleteIdentitiesResponse; +@class AWSCognitoIdentityDeleteIdentityPoolInput; +@class AWSCognitoIdentityDescribeIdentityInput; +@class AWSCognitoIdentityDescribeIdentityPoolInput; +@class AWSCognitoIdentityGetCredentialsForIdentityInput; +@class AWSCognitoIdentityGetCredentialsForIdentityResponse; +@class AWSCognitoIdentityGetIdInput; +@class AWSCognitoIdentityGetIdResponse; +@class AWSCognitoIdentityGetIdentityPoolRolesInput; +@class AWSCognitoIdentityGetIdentityPoolRolesResponse; +@class AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityInput; +@class AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityResponse; +@class AWSCognitoIdentityGetOpenIdTokenInput; +@class AWSCognitoIdentityGetOpenIdTokenResponse; +@class AWSCognitoIdentityIdentityDescription; +@class AWSCognitoIdentityIdentityPool; +@class AWSCognitoIdentityIdentityPoolShortDescription; +@class AWSCognitoIdentityListIdentitiesInput; +@class AWSCognitoIdentityListIdentitiesResponse; +@class AWSCognitoIdentityListIdentityPoolsInput; +@class AWSCognitoIdentityListIdentityPoolsResponse; +@class AWSCognitoIdentityLookupDeveloperIdentityInput; +@class AWSCognitoIdentityLookupDeveloperIdentityResponse; +@class AWSCognitoIdentityMergeDeveloperIdentitiesInput; +@class AWSCognitoIdentityMergeDeveloperIdentitiesResponse; +@class AWSCognitoIdentitySetIdentityPoolRolesInput; +@class AWSCognitoIdentityUnlinkDeveloperIdentityInput; +@class AWSCognitoIdentityUnlinkIdentityInput; +@class AWSCognitoIdentityUnprocessedIdentityId; + +/** +

A provider representing a Cognito User Identity Pool and its client ID.

+ */ +@interface AWSCognitoIdentityCognitoIdentityProvider : AWSModel + + +/** +

The client ID for the Cognito User Identity Pool.

+ */ +@property (nonatomic, strong) NSString * _Nullable clientId; + +/** +

The provider name for a Cognito User Identity Pool. For example, cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789.

+ */ +@property (nonatomic, strong) NSString * _Nullable providerName; + +@end + +/** +

Input to the CreateIdentityPool action.

+ Required parameters: [IdentityPoolName, AllowUnauthenticatedIdentities] + */ +@interface AWSCognitoIdentityCreateIdentityPoolInput : AWSRequest + + +/** +

TRUE if the identity pool supports unauthenticated logins.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable allowUnauthenticatedIdentities; + +/** +

A list representing a Cognito User Identity Pool and its client ID.

+ */ +@property (nonatomic, strong) NSArray * _Nullable cognitoIdentityProviders; + +/** +

The "domain" by which Cognito will refer to your users. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperProviderName, you can use letters as well as period (.), underscore (_), and dash (-).

Once you have set a developer provider name, you cannot change it. Please take care in setting this parameter.

+ */ +@property (nonatomic, strong) NSString * _Nullable developerProviderName; + +/** +

A string that you provide.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolName; + +/** +

A list of OpendID Connect provider ARNs.

+ */ +@property (nonatomic, strong) NSArray * _Nullable openIdConnectProviderARNs; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable samlProviderARNs; + +/** +

Optional key:value pairs mapping provider names to provider app IDs.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable supportedLoginProviders; + +@end + +/** +

Credentials for the provided identity ID.

+ */ +@interface AWSCognitoIdentityCredentials : AWSModel + + +/** +

The Access Key portion of the credentials.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessKeyId; + +/** +

The date at which these credentials will expire.

+ */ +@property (nonatomic, strong) NSDate * _Nullable expiration; + +/** +

The Secret Access Key portion of the credentials

+ */ +@property (nonatomic, strong) NSString * _Nullable secretKey; + +/** +

The Session Token portion of the credentials

+ */ +@property (nonatomic, strong) NSString * _Nullable sessionToken; + +@end + +/** +

Input to the DeleteIdentities action.

+ Required parameters: [IdentityIdsToDelete] + */ +@interface AWSCognitoIdentityDeleteIdentitiesInput : AWSRequest + + +/** +

A list of 1-60 identities that you want to delete.

+ */ +@property (nonatomic, strong) NSArray * _Nullable identityIdsToDelete; + +@end + +/** +

Returned in response to a successful DeleteIdentities operation.

+ */ +@interface AWSCognitoIdentityDeleteIdentitiesResponse : AWSModel + + +/** +

An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and IdentityId.

+ */ +@property (nonatomic, strong) NSArray * _Nullable unprocessedIdentityIds; + +@end + +/** +

Input to the DeleteIdentityPool action.

+ Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoIdentityDeleteIdentityPoolInput : AWSRequest + + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

Input to the DescribeIdentity action.

+ Required parameters: [IdentityId] + */ +@interface AWSCognitoIdentityDescribeIdentityInput : AWSRequest + + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +@end + +/** + Input to the DescribeIdentityPool action. + Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoIdentityDescribeIdentityPoolInput : AWSRequest + + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

Input to the GetCredentialsForIdentity action.

+ Required parameters: [IdentityId] + */ +@interface AWSCognitoIdentityGetCredentialsForIdentityInput : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable customRoleArn; + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

A set of optional name-value pairs that map provider names to provider tokens.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable logins; + +@end + +/** +

Returned in response to a successful GetCredentialsForIdentity operation.

+ */ +@interface AWSCognitoIdentityGetCredentialsForIdentityResponse : AWSModel + + +/** +

Credentials for the provided identity ID.

+ */ +@property (nonatomic, strong) AWSCognitoIdentityCredentials * _Nullable credentials; + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +@end + +/** + Input to the GetId action. + Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoIdentityGetIdInput : AWSRequest + + +/** + A standard AWS account ID (9+ digits). + */ +@property (nonatomic, strong) NSString * _Nullable accountId; + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

A set of optional name-value pairs that map provider names to provider tokens.

The available provider names for Logins are as follows:

  • Facebook: graph.facebook.com
  • Amazon Cognito Identity Provider: cognito-idp.us-east-1.amazonaws.com/us-east-1_123456789
  • Google: accounts.google.com
  • Amazon: www.amazon.com
  • Twitter: api.twitter.com
  • Digits: www.digits.com

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable logins; + +@end + +/** + Returned in response to a GetId request. + */ +@interface AWSCognitoIdentityGetIdResponse : AWSModel + + +/** + A unique identifier in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +@end + +/** +

Input to the GetIdentityPoolRoles action.

+ Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoIdentityGetIdentityPoolRolesInput : AWSRequest + + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

Returned in response to a successful GetIdentityPoolRoles operation.

+ */ +@interface AWSCognitoIdentityGetIdentityPoolRolesResponse : AWSModel + + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

The map of roles associated with this pool. Currently only authenticated and unauthenticated roles are supported.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable roles; + +@end + +/** +

Input to the GetOpenIdTokenForDeveloperIdentity action.

+ Required parameters: [IdentityPoolId, Logins] + */ +@interface AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityInput : AWSRequest + + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

A set of optional name-value pairs that map provider names to provider tokens. Each name-value pair represents a user from a public provider or developer provider. If the user is from a developer provider, the name-value pair will follow the syntax "developer_provider_name": "developer_user_identifier". The developer provider is the "domain" by which Cognito will refer to your users; you provided this domain while creating/updating the identity pool. The developer user identifier is an identifier from your backend that uniquely identifies a user. When you create an identity pool, you can specify the supported logins.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable logins; + +/** +

The expiration time of the token, in seconds. You can specify a custom expiration time for the token so that you can cache it. If you don't provide an expiration time, the token is valid for 15 minutes. You can exchange the token with Amazon STS for temporary AWS credentials, which are valid for a maximum of one hour. The maximum token duration you can set is 24 hours. You should take care in setting the expiration time for a token, as there are significant security implications: an attacker could use a leaked token to access your AWS resources for the token's duration.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable tokenDuration; + +@end + +/** +

Returned in response to a successful GetOpenIdTokenForDeveloperIdentity request.

+ */ +@interface AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityResponse : AWSModel + + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

An OpenID token.

+ */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + Input to the GetOpenIdToken action. + Required parameters: [IdentityId] + */ +@interface AWSCognitoIdentityGetOpenIdTokenInput : AWSRequest + + +/** + A unique identifier in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

A set of optional name-value pairs that map provider names to provider tokens. When using graph.facebook.com and www.amazon.com, supply the access_token returned from the provider's authflow. For accounts.google.com, an Amazon Cognito Identity Provider, or any other OpenId Connect provider, always include the id_token.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable logins; + +@end + +/** + Returned in response to a successful GetOpenIdToken request. + */ +@interface AWSCognitoIdentityGetOpenIdTokenResponse : AWSModel + + +/** + A unique identifier in the format REGION:GUID. Note that the IdentityId returned may not match the one passed on input. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + An OpenID token, valid for 15 minutes. + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + A description of the identity. + */ +@interface AWSCognitoIdentityIdentityDescription : AWSModel + + +/** +

Date on which the identity was created.

+ */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** + A unique identifier in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

Date on which the identity was last modified.

+ */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** + A set of optional name-value pairs that map provider names to provider tokens. + */ +@property (nonatomic, strong) NSArray * _Nullable logins; + +@end + +/** + An object representing a Cognito identity pool. + Required parameters: [IdentityPoolId, IdentityPoolName, AllowUnauthenticatedIdentities] + */ +@interface AWSCognitoIdentityIdentityPool : AWSRequest + + +/** + TRUE if the identity pool supports unauthenticated logins. + */ +@property (nonatomic, strong) NSNumber * _Nullable allowUnauthenticatedIdentities; + +/** +

A list representing a Cognito User Identity Pool and its client ID.

+ */ +@property (nonatomic, strong) NSArray * _Nullable cognitoIdentityProviders; + +/** +

The "domain" by which Cognito will refer to your users.

+ */ +@property (nonatomic, strong) NSString * _Nullable developerProviderName; + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

A string that you provide.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolName; + +/** +

A list of OpendID Connect provider ARNs.

+ */ +@property (nonatomic, strong) NSArray * _Nullable openIdConnectProviderARNs; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable samlProviderARNs; + +/** +

Optional key:value pairs mapping provider names to provider app IDs.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable supportedLoginProviders; + +@end + +/** + A description of the identity pool. + */ +@interface AWSCognitoIdentityIdentityPoolShortDescription : AWSModel + + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + A string that you provide. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolName; + +@end + +/** + Input to the ListIdentities action. + Required parameters: [IdentityPoolId, MaxResults] + */ +@interface AWSCognitoIdentityListIdentitiesInput : AWSRequest + + +/** +

An optional boolean parameter that allows you to hide disabled identities. If omitted, the ListIdentities API will include disabled identities in the response.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable hideDisabled; + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + The maximum number of identities to return. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** + A pagination token. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + The response to a ListIdentities request. + */ +@interface AWSCognitoIdentityListIdentitiesResponse : AWSModel + + +/** + An object containing a set of identities and associated mappings. + */ +@property (nonatomic, strong) NSArray * _Nullable identities; + +/** + An identity pool ID in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + A pagination token. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + Input to the ListIdentityPools action. + Required parameters: [MaxResults] + */ +@interface AWSCognitoIdentityListIdentityPoolsInput : AWSRequest + + +/** + The maximum number of identities to return. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** + A pagination token. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + The result of a successful ListIdentityPools action. + */ +@interface AWSCognitoIdentityListIdentityPoolsResponse : AWSModel + + +/** + The identity pools returned by the ListIdentityPools action. + */ +@property (nonatomic, strong) NSArray * _Nullable identityPools; + +/** + A pagination token. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** +

Input to the LookupDeveloperIdentityInput action.

+ Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoIdentityLookupDeveloperIdentityInput : AWSRequest + + +/** +

A unique ID used by your backend authentication process to identify a user. Typically, a developer identity provider would issue many developer user identifiers, in keeping with the number of users.

+ */ +@property (nonatomic, strong) NSString * _Nullable developerUserIdentifier; + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

The maximum number of identities to return.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** +

A pagination token. The first call you make will have NextToken set to null. After that the service will return NextToken values as needed. For example, let's say you make a request with MaxResults set to 10, and there are 20 matches in the database. The service will return a pagination token as a part of the response. This token can be used to call the API again and get results starting from the 11th match.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** +

Returned in response to a successful LookupDeveloperIdentity action.

+ */ +@interface AWSCognitoIdentityLookupDeveloperIdentityResponse : AWSModel + + +/** +

This is the list of developer user identifiers associated with an identity ID. Cognito supports the association of multiple developer user identifiers with an identity ID.

+ */ +@property (nonatomic, strong) NSArray * _Nullable developerUserIdentifierList; + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

A pagination token. The first call you make will have NextToken set to null. After that the service will return NextToken values as needed. For example, let's say you make a request with MaxResults set to 10, and there are 20 matches in the database. The service will return a pagination token as a part of the response. This token can be used to call the API again and get results starting from the 11th match.

+ */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** +

Input to the MergeDeveloperIdentities action.

+ Required parameters: [SourceUserIdentifier, DestinationUserIdentifier, DeveloperProviderName, IdentityPoolId] + */ +@interface AWSCognitoIdentityMergeDeveloperIdentitiesInput : AWSRequest + + +/** +

User identifier for the destination user. The value should be a DeveloperUserIdentifier.

+ */ +@property (nonatomic, strong) NSString * _Nullable destinationUserIdentifier; + +/** +

The "domain" by which Cognito will refer to your users. This is a (pseudo) domain name that you provide while creating an identity pool. This name acts as a placeholder that allows your backend and the Cognito service to communicate about the developer provider. For the DeveloperProviderName, you can use letters as well as period (.), underscore (_), and dash (-).

+ */ +@property (nonatomic, strong) NSString * _Nullable developerProviderName; + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

User identifier for the source user. The value should be a DeveloperUserIdentifier.

+ */ +@property (nonatomic, strong) NSString * _Nullable sourceUserIdentifier; + +@end + +/** +

Returned in response to a successful MergeDeveloperIdentities action.

+ */ +@interface AWSCognitoIdentityMergeDeveloperIdentitiesResponse : AWSModel + + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +@end + +/** +

Input to the SetIdentityPoolRoles action.

+ Required parameters: [IdentityPoolId, Roles] + */ +@interface AWSCognitoIdentitySetIdentityPoolRolesInput : AWSRequest + + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

The map of roles associated with this pool. For a given role, the key will be either "authenticated" or "unauthenticated" and the value will be the Role ARN.

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable roles; + +@end + +/** +

Input to the UnlinkDeveloperIdentity action.

+ Required parameters: [IdentityId, IdentityPoolId, DeveloperProviderName, DeveloperUserIdentifier] + */ +@interface AWSCognitoIdentityUnlinkDeveloperIdentityInput : AWSRequest + + +/** +

The "domain" by which Cognito will refer to your users.

+ */ +@property (nonatomic, strong) NSString * _Nullable developerProviderName; + +/** + A unique ID used by your backend authentication process to identify a user. + */ +@property (nonatomic, strong) NSString * _Nullable developerUserIdentifier; + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

An identity pool ID in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + Input to the UnlinkIdentity action. + Required parameters: [IdentityId, Logins, LoginsToRemove] + */ +@interface AWSCognitoIdentityUnlinkIdentityInput : AWSRequest + + +/** + A unique identifier in the format REGION:GUID. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A set of optional name-value pairs that map provider names to provider tokens. + */ +@property (nonatomic, strong) NSDictionary * _Nullable logins; + +/** + Provider names to unlink from this identity. + */ +@property (nonatomic, strong) NSArray * _Nullable loginsToRemove; + +@end + +/** +

An array of UnprocessedIdentityId objects, each of which contains an ErrorCode and IdentityId.

+ */ +@interface AWSCognitoIdentityUnprocessedIdentityId : AWSModel + + +/** +

The error code indicating the type of error that occurred.

+ */ +@property (nonatomic, assign) AWSCognitoIdentityErrorCode errorCode; + +/** +

A unique identifier in the format REGION:GUID.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityResources.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityResources.h new file mode 100755 index 0000000..621e1ce --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityResources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSCognitoIdentityResources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityService.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityService.h new file mode 100755 index 0000000..6ecea7b --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCognitoIdentityService.h @@ -0,0 +1,614 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSCore.h" +#import "AWSCognitoIdentityModel.h" +#import "AWSCognitoIdentityResources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Amazon Cognito

Amazon Cognito is a web service that delivers scoped temporary credentials to mobile devices and other untrusted environments. Amazon Cognito uniquely identifies a device and supplies the user with a consistent identity over the lifetime of an application.

Using Amazon Cognito, you can enable authentication with one or more third-party identity providers (Facebook, Google, or Login with Amazon), and you can also choose to support unauthenticated access from your app. Cognito delivers a unique identifier for each user and acts as an OpenID token provider trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS credentials.

To provide end-user credentials, first make an unsigned call to GetId. If the end user is authenticated with one of the supported identity providers, set the Logins map with the identity provider token. GetId returns a unique identifier for the user.

Next, make an unsigned call to GetCredentialsForIdentity. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. Assuming your identity pool has been configured via the SetIdentityPoolRoles operation, GetCredentialsForIdentity will return AWS credentials for your use. If your pool has not been configured with SetIdentityPoolRoles, or if you want to follow legacy flow, make an unsigned call to GetOpenIdToken, which returns the OpenID token necessary to call STS and retrieve AWS credentials. This call expects the same Logins map as the GetId call, as well as the IdentityID originally returned by GetId. The token returned by GetOpenIdToken can be passed to the STS operation AssumeRoleWithWebIdentity to retrieve AWS credentials.

If you want to use Amazon Cognito in an Android, iOS, or Unity application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the AWS Mobile SDK Developer Guide.

+ */ +@interface AWSCognitoIdentity : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let CognitoIdentity = AWSCognitoIdentity.default() + + *Objective-C* + + AWSCognitoIdentity *CognitoIdentity = [AWSCognitoIdentity defaultCognitoIdentity]; + + @return The default service client. + */ ++ (instancetype)defaultCognitoIdentity; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognitoIdentity.register(with: configuration!, forKey: "USWest2CognitoIdentity") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognitoIdentity registerCognitoIdentityWithConfiguration:configuration forKey:@"USWest2CognitoIdentity"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let CognitoIdentity = AWSCognitoIdentity(forKey: "USWest2CognitoIdentity") + + *Objective-C* + + AWSCognitoIdentity *CognitoIdentity = [AWSCognitoIdentity CognitoIdentityForKey:@"USWest2CognitoIdentity"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerCognitoIdentityWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerCognitoIdentityWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognitoIdentity.register(with: configuration!, forKey: "USWest2CognitoIdentity") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognitoIdentity registerCognitoIdentityWithConfiguration:configuration forKey:@"USWest2CognitoIdentity"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let CognitoIdentity = AWSCognitoIdentity(forKey: "USWest2CognitoIdentity") + + *Objective-C* + + AWSCognitoIdentity *CognitoIdentity = [AWSCognitoIdentity CognitoIdentityForKey:@"USWest2CognitoIdentity"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)CognitoIdentityForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeCognitoIdentityForKey:(NSString *)key; + +/** +

Creates a new identity pool. The identity pool is a store of user identity information that is specific to your AWS account. The limit on identity pools is 60 per account. The keys for SupportedLoginProviders are as follows:

  • Facebook: graph.facebook.com
  • Google: accounts.google.com
  • Amazon: www.amazon.com
  • Twitter: api.twitter.com
  • Digits: www.digits.com
You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the CreateIdentityPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityIdentityPool`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorLimitExceeded`. + + @see AWSCognitoIdentityCreateIdentityPoolInput + @see AWSCognitoIdentityIdentityPool + */ +- (AWSTask *)createIdentityPool:(AWSCognitoIdentityCreateIdentityPoolInput *)request; + +/** +

Creates a new identity pool. The identity pool is a store of user identity information that is specific to your AWS account. The limit on identity pools is 60 per account. The keys for SupportedLoginProviders are as follows:

  • Facebook: graph.facebook.com
  • Google: accounts.google.com
  • Amazon: www.amazon.com
  • Twitter: api.twitter.com
  • Digits: www.digits.com
You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the CreateIdentityPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorLimitExceeded`. + + @see AWSCognitoIdentityCreateIdentityPoolInput + @see AWSCognitoIdentityIdentityPool + */ +- (void)createIdentityPool:(AWSCognitoIdentityCreateIdentityPoolInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityIdentityPool * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes identities from an identity pool. You can specify a list of 1-60 identities that you want to delete.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DeleteIdentities service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityDeleteIdentitiesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDeleteIdentitiesInput + @see AWSCognitoIdentityDeleteIdentitiesResponse + */ +- (AWSTask *)deleteIdentities:(AWSCognitoIdentityDeleteIdentitiesInput *)request; + +/** +

Deletes identities from an identity pool. You can specify a list of 1-60 identities that you want to delete.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DeleteIdentities service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDeleteIdentitiesInput + @see AWSCognitoIdentityDeleteIdentitiesResponse + */ +- (void)deleteIdentities:(AWSCognitoIdentityDeleteIdentitiesInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityDeleteIdentitiesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes a user pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DeleteIdentityPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDeleteIdentityPoolInput + */ +- (AWSTask *)deleteIdentityPool:(AWSCognitoIdentityDeleteIdentityPoolInput *)request; + +/** +

Deletes a user pool. Once a pool is deleted, users will not be able to authenticate with the pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DeleteIdentityPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDeleteIdentityPoolInput + */ +- (void)deleteIdentityPool:(AWSCognitoIdentityDeleteIdentityPoolInput *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Returns metadata related to the given identity, including when the identity was created and any associated linked logins.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DescribeIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityIdentityDescription`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDescribeIdentityInput + @see AWSCognitoIdentityIdentityDescription + */ +- (AWSTask *)describeIdentity:(AWSCognitoIdentityDescribeIdentityInput *)request; + +/** +

Returns metadata related to the given identity, including when the identity was created and any associated linked logins.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DescribeIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDescribeIdentityInput + @see AWSCognitoIdentityIdentityDescription + */ +- (void)describeIdentity:(AWSCognitoIdentityDescribeIdentityInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityIdentityDescription * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets details about a particular identity pool, including the pool name, ID description, creation date, and current number of users.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DescribeIdentityPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityIdentityPool`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDescribeIdentityPoolInput + @see AWSCognitoIdentityIdentityPool + */ +- (AWSTask *)describeIdentityPool:(AWSCognitoIdentityDescribeIdentityPoolInput *)request; + +/** +

Gets details about a particular identity pool, including the pool name, ID description, creation date, and current number of users.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the DescribeIdentityPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityDescribeIdentityPoolInput + @see AWSCognitoIdentityIdentityPool + */ +- (void)describeIdentityPool:(AWSCognitoIdentityDescribeIdentityPoolInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityIdentityPool * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers. If the token is for cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service with the appropriate role for the token.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetCredentialsForIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityGetCredentialsForIdentityResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInvalidIdentityPoolConfiguration`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityGetCredentialsForIdentityInput + @see AWSCognitoIdentityGetCredentialsForIdentityResponse + */ +- (AWSTask *)getCredentialsForIdentity:(AWSCognitoIdentityGetCredentialsForIdentityInput *)request; + +/** +

Returns credentials for the provided identity ID. Any provided logins will be validated against supported login providers. If the token is for cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service with the appropriate role for the token.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetCredentialsForIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInvalidIdentityPoolConfiguration`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityGetCredentialsForIdentityInput + @see AWSCognitoIdentityGetCredentialsForIdentityResponse + */ +- (void)getCredentialsForIdentity:(AWSCognitoIdentityGetCredentialsForIdentityInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityGetCredentialsForIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an implicit linked account.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetId service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityGetIdResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorLimitExceeded`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityGetIdInput + @see AWSCognitoIdentityGetIdResponse + */ +- (AWSTask *)getId:(AWSCognitoIdentityGetIdInput *)request; + +/** +

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an implicit linked account.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetId service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorLimitExceeded`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityGetIdInput + @see AWSCognitoIdentityGetIdResponse + */ +- (void)getId:(AWSCognitoIdentityGetIdInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityGetIdResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the roles for an identity pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetIdentityPoolRoles service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityGetIdentityPoolRolesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityGetIdentityPoolRolesInput + @see AWSCognitoIdentityGetIdentityPoolRolesResponse + */ +- (AWSTask *)getIdentityPoolRoles:(AWSCognitoIdentityGetIdentityPoolRolesInput *)request; + +/** +

Gets the roles for an identity pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetIdentityPoolRoles service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityGetIdentityPoolRolesInput + @see AWSCognitoIdentityGetIdentityPoolRolesResponse + */ +- (void)getIdentityPoolRoles:(AWSCognitoIdentityGetIdentityPoolRolesInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityGetIdentityPoolRolesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 15 minutes.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetOpenIdToken service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityGetOpenIdTokenResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityGetOpenIdTokenInput + @see AWSCognitoIdentityGetOpenIdTokenResponse + */ +- (AWSTask *)getOpenIdToken:(AWSCognitoIdentityGetOpenIdTokenInput *)request; + +/** +

Gets an OpenID token, using a known Cognito ID. This known Cognito ID is returned by GetId. You can optionally add additional logins for the identity. Supplying multiple logins creates an implicit link.

The OpenId token is valid for 15 minutes.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetOpenIdToken service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityGetOpenIdTokenInput + @see AWSCognitoIdentityGetOpenIdTokenResponse + */ +- (void)getOpenIdToken:(AWSCognitoIdentityGetOpenIdTokenInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityGetOpenIdTokenResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Registers (or retrieves) a Cognito IdentityId and an OpenID Connect token for a user authenticated by your backend authentication process. Supplying multiple logins will create an implicit linked account. You can only specify one developer provider as part of the Logins map, which is linked to the identity pool. The developer provider is the "domain" by which Cognito will refer to your users.

You can use GetOpenIdTokenForDeveloperIdentity to create a new identity and to link new logins (that is, user credentials issued by a public provider or developer provider) to an existing identity. When you want to create a new identity, the IdentityId should be null. When you want to associate a new login with an existing authenticated/unauthenticated identity, you can do so by providing the existing IdentityId. This API will create the identity in the specified IdentityPoolId.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetOpenIdTokenForDeveloperIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorDeveloperUserAlreadyRegistered`. + + @see AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityInput + @see AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityResponse + */ +- (AWSTask *)getOpenIdTokenForDeveloperIdentity:(AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityInput *)request; + +/** +

Registers (or retrieves) a Cognito IdentityId and an OpenID Connect token for a user authenticated by your backend authentication process. Supplying multiple logins will create an implicit linked account. You can only specify one developer provider as part of the Logins map, which is linked to the identity pool. The developer provider is the "domain" by which Cognito will refer to your users.

You can use GetOpenIdTokenForDeveloperIdentity to create a new identity and to link new logins (that is, user credentials issued by a public provider or developer provider) to an existing identity. When you want to create a new identity, the IdentityId should be null. When you want to associate a new login with an existing authenticated/unauthenticated identity, you can do so by providing the existing IdentityId. This API will create the identity in the specified IdentityPoolId.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the GetOpenIdTokenForDeveloperIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorDeveloperUserAlreadyRegistered`. + + @see AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityInput + @see AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityResponse + */ +- (void)getOpenIdTokenForDeveloperIdentity:(AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityGetOpenIdTokenForDeveloperIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists the identities in a pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the ListIdentities service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityListIdentitiesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityListIdentitiesInput + @see AWSCognitoIdentityListIdentitiesResponse + */ +- (AWSTask *)listIdentities:(AWSCognitoIdentityListIdentitiesInput *)request; + +/** +

Lists the identities in a pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the ListIdentities service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityListIdentitiesInput + @see AWSCognitoIdentityListIdentitiesResponse + */ +- (void)listIdentities:(AWSCognitoIdentityListIdentitiesInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityListIdentitiesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists all of the Cognito identity pools registered for your account.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the ListIdentityPools service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityListIdentityPoolsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityListIdentityPoolsInput + @see AWSCognitoIdentityListIdentityPoolsResponse + */ +- (AWSTask *)listIdentityPools:(AWSCognitoIdentityListIdentityPoolsInput *)request; + +/** +

Lists all of the Cognito identity pools registered for your account.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the ListIdentityPools service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityListIdentityPoolsInput + @see AWSCognitoIdentityListIdentityPoolsResponse + */ +- (void)listIdentityPools:(AWSCognitoIdentityListIdentityPoolsInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityListIdentityPoolsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifiers associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the LookupDeveloperIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityLookupDeveloperIdentityResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityLookupDeveloperIdentityInput + @see AWSCognitoIdentityLookupDeveloperIdentityResponse + */ +- (AWSTask *)lookupDeveloperIdentity:(AWSCognitoIdentityLookupDeveloperIdentityInput *)request; + +/** +

Retrieves the IdentityID associated with a DeveloperUserIdentifier or the list of DeveloperUserIdentifiers associated with an IdentityId for an existing identity. Either IdentityID or DeveloperUserIdentifier must not be null. If you supply only one of these values, the other value will be searched in the database and returned as a part of the response. If you supply both, DeveloperUserIdentifier will be matched against IdentityID. If the values are verified against the database, the response returns both values and is the same as the request. Otherwise a ResourceConflictException is thrown.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the LookupDeveloperIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityLookupDeveloperIdentityInput + @see AWSCognitoIdentityLookupDeveloperIdentityResponse + */ +- (void)lookupDeveloperIdentity:(AWSCognitoIdentityLookupDeveloperIdentityInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityLookupDeveloperIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the MergeDeveloperIdentities service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityMergeDeveloperIdentitiesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityMergeDeveloperIdentitiesInput + @see AWSCognitoIdentityMergeDeveloperIdentitiesResponse + */ +- (AWSTask *)mergeDeveloperIdentities:(AWSCognitoIdentityMergeDeveloperIdentitiesInput *)request; + +/** +

Merges two users having different IdentityIds, existing in the same identity pool, and identified by the same developer provider. You can use this action to request that discrete users be merged and identified as a single user in the Cognito environment. Cognito associates the given source user (SourceUserIdentifier) with the IdentityId of the DestinationUserIdentifier. Only developer-authenticated users can be merged. If the users to be merged are associated with the same public provider, but as two different users, an exception will be thrown.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the MergeDeveloperIdentities service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityMergeDeveloperIdentitiesInput + @see AWSCognitoIdentityMergeDeveloperIdentitiesResponse + */ +- (void)mergeDeveloperIdentities:(AWSCognitoIdentityMergeDeveloperIdentitiesInput *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityMergeDeveloperIdentitiesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the SetIdentityPoolRoles service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorConcurrentModification`. + + @see AWSCognitoIdentitySetIdentityPoolRolesInput + */ +- (AWSTask *)setIdentityPoolRoles:(AWSCognitoIdentitySetIdentityPoolRolesInput *)request; + +/** +

Sets the roles for an identity pool. These roles are used when making calls to GetCredentialsForIdentity action.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the SetIdentityPoolRoles service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorConcurrentModification`. + + @see AWSCognitoIdentitySetIdentityPoolRolesInput + */ +- (void)setIdentityPoolRoles:(AWSCognitoIdentitySetIdentityPoolRolesInput *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Unlinks a DeveloperUserIdentifier from an existing identity. Unlinked developer users will be considered new identities next time they are seen. If, for a given Cognito identity, you remove all federated identities as well as the developer user identifier, the Cognito identity becomes inaccessible.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the UnlinkDeveloperIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityUnlinkDeveloperIdentityInput + */ +- (AWSTask *)unlinkDeveloperIdentity:(AWSCognitoIdentityUnlinkDeveloperIdentityInput *)request; + +/** +

Unlinks a DeveloperUserIdentifier from an existing identity. Unlinked developer users will be considered new identities next time they are seen. If, for a given Cognito identity, you remove all federated identities as well as the developer user identifier, the Cognito identity becomes inaccessible.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the UnlinkDeveloperIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`. + + @see AWSCognitoIdentityUnlinkDeveloperIdentityInput + */ +- (void)unlinkDeveloperIdentity:(AWSCognitoIdentityUnlinkDeveloperIdentityInput *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the UnlinkIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityUnlinkIdentityInput + */ +- (AWSTask *)unlinkIdentity:(AWSCognitoIdentityUnlinkIdentityInput *)request; + +/** +

Unlinks a federated identity from an existing account. Unlinked logins will be considered new identities next time they are seen. Removing the last linked login will make this identity inaccessible.

This is a public API. You do not need any credentials to call this API.

+ + @param request A container for the necessary parameters to execute the UnlinkIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorExternalService`. + + @see AWSCognitoIdentityUnlinkIdentityInput + */ +- (void)unlinkIdentity:(AWSCognitoIdentityUnlinkIdentityInput *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Updates a user pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the UpdateIdentityPool service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoIdentityIdentityPool`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorConcurrentModification`, `AWSCognitoIdentityErrorLimitExceeded`. + + @see AWSCognitoIdentityIdentityPool + @see AWSCognitoIdentityIdentityPool + */ +- (AWSTask *)updateIdentityPool:(AWSCognitoIdentityIdentityPool *)request; + +/** +

Updates a user pool.

You must use AWS Developer credentials to call this API.

+ + @param request A container for the necessary parameters to execute the UpdateIdentityPool service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoIdentityErrorDomain` domain and the following error code: `AWSCognitoIdentityErrorInvalidParameter`, `AWSCognitoIdentityErrorResourceNotFound`, `AWSCognitoIdentityErrorNotAuthorized`, `AWSCognitoIdentityErrorResourceConflict`, `AWSCognitoIdentityErrorTooManyRequests`, `AWSCognitoIdentityErrorInternalError`, `AWSCognitoIdentityErrorConcurrentModification`, `AWSCognitoIdentityErrorLimitExceeded`. + + @see AWSCognitoIdentityIdentityPool + @see AWSCognitoIdentityIdentityPool + */ +- (void)updateIdentityPool:(AWSCognitoIdentityIdentityPool *)request completionHandler:(void (^ _Nullable)(AWSCognitoIdentityIdentityPool * _Nullable response, NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCore.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCore.h new file mode 100755 index 0000000..1374e70 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCore.h @@ -0,0 +1,51 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +//! Project version number for AWSCore. +FOUNDATION_EXPORT double AWSCoreVersionNumber; + +//! Project version string for AWSCore. +FOUNDATION_EXPORT const unsigned char AWSCoreVersionString[]; + +#import "AWSServiceEnum.h" +#import "AWSService.h" +#import "AWSCredentialsProvider.h" +#import "AWSIdentityProvider.h" +#import "AWSModel.h" +#import "AWSNetworking.h" +#import "AWSCategory.h" +#import "AWSLogging.h" +#import "AWSClientContext.h" +#import "AWSSynchronizedMutableDictionary.h" +#import "AWSSerialization.h" +#import "AWSURLRequestSerialization.h" +#import "AWSURLResponseSerialization.h" +#import "AWSURLSessionManager.h" +#import "AWSSignature.h" +#import "AWSURLRequestRetryHandler.h" +#import "AWSValidation.h" +#import "AWSInfo.h" + +#import "AWSBolts.h" +#import "AWSGZIP.h" +#import "AWSFMDB.h" +#import "AWSKSReachability.h" +#import "AWSTMCache.h" +#import "AWSUICKeyChainStore.h" + +#import "AWSSTS.h" +#import "AWSCognitoIdentity.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCredentialsProvider.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCredentialsProvider.h new file mode 100755 index 0000000..aee6480 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSCredentialsProvider.h @@ -0,0 +1,242 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSServiceEnum.h" +#import "AWSIdentityProvider.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSCognitoCredentialsProviderErrorDomain; +typedef NS_ENUM(NSInteger, AWSCognitoCredentialsProviderErrorType) { + AWSCognitoCredentialsProviderErrorUnknown, + AWSCognitoCredentialsProviderIdentityIdIsNil, + AWSCognitoCredentialsProviderInvalidConfiguration, + AWSCognitoCredentialsProviderInvalidCognitoIdentityToken, + AWSCognitoCredentialsProviderCredentialsRefreshTimeout, +}; + +@class AWSTask<__covariant ResultType>; + +/** + An AWS credentials container class. + */ +@interface AWSCredentials : NSObject + +/** + Access Key component of credentials. + */ +@property (nonatomic, strong, readonly) NSString *accessKey; + +/** + Secret Access Key component of credentials. + */ +@property (nonatomic, strong, readonly) NSString *secretKey; + +/** + Session Token component of credentials. + */ +@property (nonatomic, strong, readonly, nullable) NSString *sessionKey; + +/** + Date at which these credentials will expire. + */ +@property (nonatomic, strong, readonly, nullable) NSDate *expiration; + +/** + Initiates an AWS credentials object. + + @param accessKey An AWS Access key. + @param secretKey An AWS Secret key. + @param sessionKey An AWS Session key. + @param expiration The expiration date of the temporary AWS credentials. + + @return An AWS credentials object. + */ +- (instancetype)initWithAccessKey:(NSString *)accessKey + secretKey:(NSString *)secretKey + sessionKey:(nullable NSString *)sessionKey + expiration:(nullable NSDate *)expiration; + +@end + +/** + The AWS credentials provider protocol used to provide credentials to the SDK in order to make calls to the AWS services. + */ +@protocol AWSCredentialsProvider + +/** + Asynchronously returns a valid AWS credentials or an error object if it cannot retrieve valid credentials. It should cache valid credentials as much as possible and refresh them when they are invalid. + + @return A valid AWS credentials or an error object describing the error. + */ +- (AWSTask *)credentials; + +/** + Invalidates the cached temporary AWS credentials. If the credentials provider does not cache temporary credentials, this operation is a no-op. + */ +- (void)invalidateCachedTemporaryCredentials; + +@end + +/** + @warning This credentials provider is intended only for testing purposes. + We strongly discourage embedding AWS credentials in your production apps because they can be easily extracted and abused. Consider using `AWSCognitoCredentialsProvider`. + */ +@interface AWSStaticCredentialsProvider : NSObject + +/** + Instantiates a static credentials provider. + + @param accessKey An AWS Access key. + @param secretKey An AWS Secret key. + + @return An AWS credentials object. + */ +- (instancetype)initWithAccessKey:(NSString *)accessKey + secretKey:(NSString *)secretKey; + +@end + +@interface AWSAnonymousCredentialsProvider : NSObject + +@end + +/** + A credentials provider that uses AWS STS web identity federation. + */ +@interface AWSWebIdentityCredentialsProvider : NSObject + +@property (nonatomic, strong) NSString *webIdentityToken; +@property (nonatomic, strong) NSString *roleArn; +@property (nonatomic, strong) NSString *roleSessionName; +@property (nonatomic, strong) NSString *providerId; + +- (instancetype)initWithRegionType:(AWSRegionType)regionType + providerId:(nullable NSString *)providerId + roleArn:(NSString *)roleArn + roleSessionName:(NSString *)roleSessionName + webIdentityToken:(NSString *)webIdentityToken; + +@end + +/** + An AWSCredentialsProvider that uses Amazon Cognito to fetch temporary credentials tied to an identity. + + To learn more about Amazon Cognito, please visit https://aws.amazon.com/cognito. + + There are 3 different flows supported by this credentials provider, see factory and init methods for choosing the right one for your use case: + + 1. Enhanced flow: Uses Cognito for all operations and only requires an identity pool id to initialize. + 2. Basic flow: Uses Cognito + STS and requires identity pool plus IAM roles + 3. Developer authenticated identities: Uses your own AWSCognitoCredentialsProviderHelper to establish identity + + Cognito (and optionally STS) to establish credentials. + */ +@interface AWSCognitoCredentialsProvider : NSObject + +/** + The identityProvider which is responsible for establishing the identity id and (optionally) the open id token for use in the Amazon Cognito authflow. + */ +@property (nonatomic, strong, readonly) id identityProvider; + +/** + The identity id associated with this provider. This value will be fetched from the keychain at startup. If you do not want to reuse the existing identity id, you must call the clearKeychain method. + */ +@property (nonatomic, strong, readonly, nullable) NSString *identityId; + +/** + The identity pool id associated with this provider. Also used to create a namedspaced keychain area to store identity id and credentials. + */ +@property (nonatomic, strong, readonly) NSString *identityPoolId; + +/** + Initializer for credentials provider with enhanced authentication flow. This is the recommended constructor for first time Amazon Cognito developers. Will create an instance of `AWSEnhancedCognitoIdentityProvider`. + + @param regionType The region in which your identity pool exists. + @param identityPoolId The identity pool id for this provider. Value is used to communicate with Amazon Cognito as well as namespace values stored in the keychain. + */ +- (instancetype)initWithRegionType:(AWSRegionType)regionType + identityPoolId:(NSString *)identityPoolId; + +/** + Initializer for credentials provider with enhanced authentication flow. This is the recommended method for first time Amazon Cognito developers. Will create an instance of `AWSEnhancedCognitoIdentityProvider`. + + @param regionType The region in which your identity pool exists. + @param identityPoolId The identity pool id for this provider. Value is used to communicate with Amazon Cognito as well as namespace values stored in the keychain. + @param identityProviderManager An object that conforms to the `AWSIdentityProviderManager` protocol. It should return a valid `login` dictionary when requested. Can be nil if identity is unauthenticated. + */ +- (instancetype)initWithRegionType:(AWSRegionType)regionType + identityPoolId:(NSString *)identityPoolId + identityProviderManager:(nullable id)identityProviderManager; + +/** + Initializer for credentials provider with pre-created `AWSCognitoCredentialsProviderHelper`. Use this method when using developer authenticated identities. + + @param regionType The region in which your identity pool exists. + @param identityProvider Implementation of AWSCognitoCredentialsProviderHelper which is responsible for acquiring identity id and (optionally) OpenId Connect token. + */ +- (instancetype)initWithRegionType:(AWSRegionType)regionType + identityProvider:(id)identityProvider; + +/** + Initializer for credentials provider with pre-created `AWSCognitoCredentialsProviderHelper`. Only use this method if you need to set your IAM roles client side and use developer authenticated identities + + @param regionType The region in which your identity pool exists. + @param unauthRoleArn The role ARN to use when getting credentials for unauthenticated identities. Provider will check the `isAuthenticated` property of the identity provider to determine which role to use. Can be nil if unauthenticated identities are not supported or if using enhanced authentication flow. + @param authRoleArn The role ARN to use when getting credentials for authenticated identities. Provider will check the `isAuthenticated` property of the identity provider to determine which role to use. Can be nil if authenticated identities are not supported or if using enhanced authentication flow. + @param identityProvider Implementation of AWSCognitoCredentialsProviderHelper which is responsible for acquiring identity id and (optionally) OpenId Connect token. + */ +- (instancetype)initWithRegionType:(AWSRegionType)regionType + unauthRoleArn:(nullable NSString *)unauthRoleArn + authRoleArn:(nullable NSString *)authRoleArn + identityProvider:(id)identityProvider; + +/** + Initializer for credentials provider with basic auth flow. Only use this method if you still need to set your IAM roles client side. This method will create an instance of `AWSBasicCognitoIdentityProvider`. + + @param regionType The region in which your identity pool exists. + @param identityPoolId The identity pool id for this provider. Value is used to communicate with Amazon Cognito as well as namespace values stored in the keychain. + @param unauthRoleArn The role ARN to use when getting credentials for unauthenticated identities. Provider will check the `isAuthenticated` property of the identity provider to determine which role to use. Can be nil if unauthenticated identities are not supported. + @param authRoleArn The role ARN to use when getting credentials for authenticated identities. Provider will check the `isAuthenticated` property of the identity provider to determine which role to use. Can be nil if authenticated identities are not supported. + @param identityProviderManager An object that conforms to the `AWSIdentityProviderManager` protocol. It should return a valid `login` dictionary when requested. Can be nil if identity is unauthenticated. + */ +- (instancetype)initWithRegionType:(AWSRegionType)regionType + identityPoolId:(NSString *)identityPoolId + unauthRoleArn:(nullable NSString *)unauthRoleArn + authRoleArn:(nullable NSString *)authRoleArn + identityProviderManager:(nullable id)identityProviderManager; + +/** + Get/retrieve the identity id for this provider. If an identity id is already set on this provider, no remote call is made and the identity will be returned as a result of the AWSTask (the identityId is also available as a property). If no identityId is set on this provider, one will be retrieved from the service. + + @return AWSTask + */ +- (AWSTask *)getIdentityId; + +/** + Clear ALL saved values for this provider (identityId, credentials, logins). + */ +- (void)clearKeychain; + +/** + Clear the cached AWS credentials for this provider. + */ +- (void)clearCredentials; + +- (void)setIdentityProviderManagerOnce:(id)identityProviderManager; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSExecutor.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSExecutor.h new file mode 100755 index 0000000..518e044 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSExecutor.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +/*! + An object that can run a given block. + */ +@interface AWSExecutor : NSObject + +/*! + Returns a default executor, which runs continuations immediately until the call stack gets too + deep, then dispatches to a new GCD queue. + */ ++ (instancetype)defaultExecutor; + +/*! + Returns an executor that runs continuations on the thread where the previous task was completed. + */ ++ (instancetype)immediateExecutor; + +/*! + Returns an executor that runs continuations on the main thread. + */ ++ (instancetype)mainThreadExecutor; + +/*! + Returns a new executor that uses the given block to execute continuations. + @param block The block to use. + */ ++ (instancetype)executorWithBlock:(void(^)(void(^block)()))block; + +/*! + Returns a new executor that runs continuations on the given queue. + @param queue The instance of `dispatch_queue_t` to dispatch all continuations onto. + */ ++ (instancetype)executorWithDispatchQueue:(dispatch_queue_t)queue; + +/*! + Returns a new executor that runs continuations on the given queue. + @param queue The instance of `NSOperationQueue` to run all continuations on. + */ ++ (instancetype)executorWithOperationQueue:(NSOperationQueue *)queue; + +/*! + Runs the given block using this executor's particular strategy. + @param block The block to execute. + */ +- (void)execute:(void(^)())block; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDB.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDB.h new file mode 100755 index 0000000..e6b8b20 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDB.h @@ -0,0 +1,5 @@ +#import "AWSFMDatabase.h" +#import "AWSFMResultSet.h" +#import "AWSFMDatabaseAdditions.h" +#import "AWSFMDatabaseQueue.h" +#import "AWSFMDatabasePool.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabase.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabase.h new file mode 100755 index 0000000..2325535 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabase.h @@ -0,0 +1,1080 @@ +#import +#import "AWSFMResultSet.h" +#import "AWSFMDatabasePool.h" + + +#if ! __has_feature(objc_arc) + #define AWSFMDBAutorelease(__v) ([__v autorelease]); + #define AWSFMDBReturnAutoreleased AWSFMDBAutorelease + + #define AWSFMDBRetain(__v) ([__v retain]); + #define AWSFMDBReturnRetained AWSFMDBRetain + + #define AWSFMDBRelease(__v) ([__v release]); + + #define AWSFMDBDispatchQueueRelease(__v) (dispatch_release(__v)); +#else + // -fobjc-arc + #define AWSFMDBAutorelease(__v) + #define AWSFMDBReturnAutoreleased(__v) (__v) + + #define AWSFMDBRetain(__v) + #define AWSFMDBReturnRetained(__v) (__v) + + #define AWSFMDBRelease(__v) + +// If OS_OBJECT_USE_OBJC=1, then the dispatch objects will be treated like ObjC objects +// and will participate in ARC. +// See the section on "Dispatch Queues and Automatic Reference Counting" in "Grand Central Dispatch (GCD) Reference" for details. + #if OS_OBJECT_USE_OBJC + #define AWSFMDBDispatchQueueRelease(__v) + #else + #define AWSFMDBDispatchQueueRelease(__v) (dispatch_release(__v)); + #endif +#endif + +#if !__has_feature(objc_instancetype) + #define instancetype id +#endif + + +typedef int(^AWSFMDBExecuteStatementsCallbackBlock)(NSDictionary *resultsDictionary); + + +/** A SQLite ([http://sqlite.org/](http://sqlite.org/)) Objective-C wrapper. + + ### Usage + The three main classes in AWSFMDB are: + + - `FMDatabase` - Represents a single SQLite database. Used for executing SQL statements. + - `` - Represents the results of executing a query on an `FMDatabase`. + - `` - If you want to perform queries and updates on multiple threads, you'll want to use this class. + + ### See also + + - `` - A pool of `FMDatabase` objects. + - `` - A wrapper for `sqlite_stmt`. + + ### External links + + - [AWSFMDB on GitHub](https://github.com/ccgus/fmdb) including introductory documentation + - [SQLite web site](http://sqlite.org/) + - [AWSFMDB mailing list](http://groups.google.com/group/fmdb) + - [SQLite FAQ](http://www.sqlite.org/faq.html) + + @warning Do not instantiate a single `FMDatabase` object and use it across multiple threads. Instead, use ``. + + */ + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wobjc-interface-ivars" + + +@interface AWSFMDatabase : NSObject { + + NSString* _databasePath; + BOOL _logsErrors; + BOOL _crashOnErrors; + BOOL _traceExecution; + BOOL _checkedOut; + BOOL _shouldCacheStatements; + BOOL _isExecutingStatement; + BOOL _inTransaction; + NSTimeInterval _maxBusyRetryTimeInterval; + NSTimeInterval _startBusyRetryTime; + + NSMutableDictionary *_cachedStatements; + NSMutableSet *_openResultSets; + NSMutableSet *_openFunctions; + + NSDateFormatter *_dateFormat; +} + +///----------------- +/// @name Properties +///----------------- + +/** Whether should trace execution */ + +@property (atomic, assign) BOOL traceExecution; + +/** Whether checked out or not */ + +@property (atomic, assign) BOOL checkedOut; + +/** Crash on errors */ + +@property (atomic, assign) BOOL crashOnErrors; + +/** Logs errors */ + +@property (atomic, assign) BOOL logsErrors; + +/** Dictionary of cached statements */ + +@property (atomic, retain) NSMutableDictionary *cachedStatements; + +///--------------------- +/// @name Initialization +///--------------------- + +/** Create a `FMDatabase` object. + + An `FMDatabase` is created with a path to a SQLite database file. This path can be one of these three: + + 1. A file system path. The file does not have to exist on disk. If it does not exist, it is created for you. + 2. An empty string (`@""`). An empty database is created at a temporary location. This database is deleted with the `FMDatabase` connection is closed. + 3. `nil`. An in-memory database is created. This database will be destroyed with the `FMDatabase` connection is closed. + + For example, to create/open a database in your Mac OS X `tmp` folder: + + FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"]; + + Or, in iOS, you might open a database in the app's `Documents` directory: + + NSString *docsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; + NSString *dbPath = [docsPath stringByAppendingPathComponent:@"test.db"]; + FMDatabase *db = [FMDatabase databaseWithPath:dbPath]; + + (For more information on temporary and in-memory databases, read the sqlite documentation on the subject: [http://www.sqlite.org/inmemorydb.html](http://www.sqlite.org/inmemorydb.html)) + + @param inPath Path of database file + + @return `FMDatabase` object if successful; `nil` if failure. + + */ + ++ (instancetype)databaseWithPath:(NSString*)inPath; + +/** Initialize a `FMDatabase` object. + + An `FMDatabase` is created with a path to a SQLite database file. This path can be one of these three: + + 1. A file system path. The file does not have to exist on disk. If it does not exist, it is created for you. + 2. An empty string (`@""`). An empty database is created at a temporary location. This database is deleted with the `FMDatabase` connection is closed. + 3. `nil`. An in-memory database is created. This database will be destroyed with the `FMDatabase` connection is closed. + + For example, to create/open a database in your Mac OS X `tmp` folder: + + FMDatabase *db = [FMDatabase databaseWithPath:@"/tmp/tmp.db"]; + + Or, in iOS, you might open a database in the app's `Documents` directory: + + NSString *docsPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; + NSString *dbPath = [docsPath stringByAppendingPathComponent:@"test.db"]; + FMDatabase *db = [FMDatabase databaseWithPath:dbPath]; + + (For more information on temporary and in-memory databases, read the sqlite documentation on the subject: [http://www.sqlite.org/inmemorydb.html](http://www.sqlite.org/inmemorydb.html)) + + @param inPath Path of database file + + @return `FMDatabase` object if successful; `nil` if failure. + + */ + +- (instancetype)initWithPath:(NSString*)inPath; + + +///----------------------------------- +/// @name Opening and closing database +///----------------------------------- + +/** Opening a new database connection + + The database is opened for reading and writing, and is created if it does not already exist. + + @return `YES` if successful, `NO` on error. + + @see [sqlite3_open()](http://sqlite.org/c3ref/open.html) + @see openWithFlags: + @see close + */ + +- (BOOL)open; + +/** Opening a new database connection with flags and an optional virtual file system (VFS) + + @param flags one of the following three values, optionally combined with the `SQLITE_OPEN_NOMUTEX`, `SQLITE_OPEN_FULLMUTEX`, `SQLITE_OPEN_SHAREDCACHE`, `SQLITE_OPEN_PRIVATECACHE`, and/or `SQLITE_OPEN_URI` flags: + + `SQLITE_OPEN_READONLY` + + The database is opened in read-only mode. If the database does not already exist, an error is returned. + + `SQLITE_OPEN_READWRITE` + + The database is opened for reading and writing if possible, or reading only if the file is write protected by the operating system. In either case the database must already exist, otherwise an error is returned. + + `SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE` + + The database is opened for reading and writing, and is created if it does not already exist. This is the behavior that is always used for `open` method. + + If vfs is given the value is passed to the vfs parameter of sqlite3_open_v2. + + @return `YES` if successful, `NO` on error. + + @see [sqlite3_open_v2()](http://sqlite.org/c3ref/open.html) + @see open + @see close + + @warning Requires SQLite 3.5 + */ + +- (BOOL)openWithFlags:(int)flags; +- (BOOL)openWithFlags:(int)flags vfs:(NSString *)vfsName; + +/** Closing a database connection + + @return `YES` if success, `NO` on error. + + @see [sqlite3_close()](http://sqlite.org/c3ref/close.html) + @see open + @see openWithFlags: + */ + +- (BOOL)close; + +/** Test to see if we have a good connection to the database. + + This will confirm whether: + + - is database open + - if open, it will try a simple SELECT statement and confirm that it succeeds. + + @return `YES` if everything succeeds, `NO` on failure. + */ + +- (BOOL)goodConnection; + + +///---------------------- +/// @name Perform updates +///---------------------- + +/** Execute single update statement + + This method executes a single SQL update statement (i.e. any SQL that does not return results, such as `UPDATE`, `INSERT`, or `DELETE`. This method employs [`sqlite3_prepare_v2`](http://sqlite.org/c3ref/prepare.html), [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) to bind values to `?` placeholders in the SQL with the optional list of parameters, and [`sqlite_step`](http://sqlite.org/c3ref/step.html) to perform the update. + + The optional values provided to this method should be objects (e.g. `NSString`, `NSNumber`, `NSNull`, `NSDate`, and `NSData` objects), not fundamental data types (e.g. `int`, `long`, `NSInteger`, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's `description` method. + + @param sql The SQL to be performed, with optional `?` placeholders. + + @param outErr A reference to the `NSError` pointer to be updated with an auto released `NSError` object if an error if an error occurs. If `nil`, no `NSError` object will be returned. + + @param ... Optional parameters to bind to `?` placeholders in the SQL statement. These should be Objective-C objects (e.g. `NSString`, `NSNumber`, etc.), not fundamental C data types (e.g. `int`, `char *`, etc.). + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see lastError + @see lastErrorCode + @see lastErrorMessage + @see [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) + */ + +- (BOOL)executeUpdate:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ...; + +/** Execute single update statement + + @see executeUpdate:withErrorAndBindings: + + @warning **Deprecated**: Please use `` instead. + */ + +- (BOOL)update:(NSString*)sql withErrorAndBindings:(NSError**)outErr, ... __attribute__ ((deprecated)); + +/** Execute single update statement + + This method executes a single SQL update statement (i.e. any SQL that does not return results, such as `UPDATE`, `INSERT`, or `DELETE`. This method employs [`sqlite3_prepare_v2`](http://sqlite.org/c3ref/prepare.html), [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) to bind values to `?` placeholders in the SQL with the optional list of parameters, and [`sqlite_step`](http://sqlite.org/c3ref/step.html) to perform the update. + + The optional values provided to this method should be objects (e.g. `NSString`, `NSNumber`, `NSNull`, `NSDate`, and `NSData` objects), not fundamental data types (e.g. `int`, `long`, `NSInteger`, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's `description` method. + + @param sql The SQL to be performed, with optional `?` placeholders. + + @param ... Optional parameters to bind to `?` placeholders in the SQL statement. These should be Objective-C objects (e.g. `NSString`, `NSNumber`, etc.), not fundamental C data types (e.g. `int`, `char *`, etc.). + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see lastError + @see lastErrorCode + @see lastErrorMessage + @see [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) + + @note This technique supports the use of `?` placeholders in the SQL, automatically binding any supplied value parameters to those placeholders. This approach is more robust than techniques that entail using `stringWithFormat` to manually build SQL statements, which can be problematic if the values happened to include any characters that needed to be quoted. + + @note If you want to use this from Swift, please note that you must include `FMDatabaseVariadic.swift` in your project. Without that, you cannot use this method directly, and instead have to use methods such as ``. + */ + +- (BOOL)executeUpdate:(NSString*)sql, ...; + +/** Execute single update statement + + This method executes a single SQL update statement (i.e. any SQL that does not return results, such as `UPDATE`, `INSERT`, or `DELETE`. This method employs [`sqlite3_prepare_v2`](http://sqlite.org/c3ref/prepare.html) and [`sqlite_step`](http://sqlite.org/c3ref/step.html) to perform the update. Unlike the other `executeUpdate` methods, this uses printf-style formatters (e.g. `%s`, `%d`, etc.) to build the SQL. Do not use `?` placeholders in the SQL if you use this method. + + @param format The SQL to be performed, with `printf`-style escape sequences. + + @param ... Optional parameters to bind to use in conjunction with the `printf`-style escape sequences in the SQL statement. + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see executeUpdate: + @see lastError + @see lastErrorCode + @see lastErrorMessage + + @note This method does not technically perform a traditional printf-style replacement. What this method actually does is replace the printf-style percent sequences with a SQLite `?` placeholder, and then bind values to that placeholder. Thus the following command + + [db executeUpdateWithFormat:@"INSERT INTO test (name) VALUES (%@)", @"Gus"]; + + is actually replacing the `%@` with `?` placeholder, and then performing something equivalent to `` + + [db executeUpdate:@"INSERT INTO test (name) VALUES (?)", @"Gus"]; + + There are two reasons why this distinction is important. First, the printf-style escape sequences can only be used where it is permissible to use a SQLite `?` placeholder. You can use it only for values in SQL statements, but not for table names or column names or any other non-value context. This method also cannot be used in conjunction with `pragma` statements and the like. Second, note the lack of quotation marks in the SQL. The `VALUES` clause was _not_ `VALUES ('%@')` (like you might have to do if you built a SQL statement using `NSString` method `stringWithFormat`), but rather simply `VALUES (%@)`. + */ + +- (BOOL)executeUpdateWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1,2); + +/** Execute single update statement + + This method executes a single SQL update statement (i.e. any SQL that does not return results, such as `UPDATE`, `INSERT`, or `DELETE`. This method employs [`sqlite3_prepare_v2`](http://sqlite.org/c3ref/prepare.html) and [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) binding any `?` placeholders in the SQL with the optional list of parameters. + + The optional values provided to this method should be objects (e.g. `NSString`, `NSNumber`, `NSNull`, `NSDate`, and `NSData` objects), not fundamental data types (e.g. `int`, `long`, `NSInteger`, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's `description` method. + + @param sql The SQL to be performed, with optional `?` placeholders. + + @param arguments A `NSArray` of objects to be used when binding values to the `?` placeholders in the SQL statement. + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see lastError + @see lastErrorCode + @see lastErrorMessage + */ + +- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments; + +/** Execute single update statement + + This method executes a single SQL update statement (i.e. any SQL that does not return results, such as `UPDATE`, `INSERT`, or `DELETE`. This method employs [`sqlite3_prepare_v2`](http://sqlite.org/c3ref/prepare.html) and [`sqlite_step`](http://sqlite.org/c3ref/step.html) to perform the update. Unlike the other `executeUpdate` methods, this uses printf-style formatters (e.g. `%s`, `%d`, etc.) to build the SQL. + + The optional values provided to this method should be objects (e.g. `NSString`, `NSNumber`, `NSNull`, `NSDate`, and `NSData` objects), not fundamental data types (e.g. `int`, `long`, `NSInteger`, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's `description` method. + + @param sql The SQL to be performed, with optional `?` placeholders. + + @param arguments A `NSDictionary` of objects keyed by column names that will be used when binding values to the `?` placeholders in the SQL statement. + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see lastError + @see lastErrorCode + @see lastErrorMessage +*/ + +- (BOOL)executeUpdate:(NSString*)sql withParameterDictionary:(NSDictionary *)arguments; + + +/** Execute single update statement + + This method executes a single SQL update statement (i.e. any SQL that does not return results, such as `UPDATE`, `INSERT`, or `DELETE`. This method employs [`sqlite3_prepare_v2`](http://sqlite.org/c3ref/prepare.html) and [`sqlite_step`](http://sqlite.org/c3ref/step.html) to perform the update. Unlike the other `executeUpdate` methods, this uses printf-style formatters (e.g. `%s`, `%d`, etc.) to build the SQL. + + The optional values provided to this method should be objects (e.g. `NSString`, `NSNumber`, `NSNull`, `NSDate`, and `NSData` objects), not fundamental data types (e.g. `int`, `long`, `NSInteger`, etc.). This method automatically handles the aforementioned object types, and all other object types will be interpreted as text values using the object's `description` method. + + @param sql The SQL to be performed, with optional `?` placeholders. + + @param args A `va_list` of arguments. + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see lastError + @see lastErrorCode + @see lastErrorMessage + */ + +- (BOOL)executeUpdate:(NSString*)sql withVAList: (va_list)args; + +/** Execute multiple SQL statements + + This executes a series of SQL statements that are combined in a single string (e.g. the SQL generated by the `sqlite3` command line `.dump` command). This accepts no value parameters, but rather simply expects a single string with multiple SQL statements, each terminated with a semicolon. This uses `sqlite3_exec`. + + @param sql The SQL to be performed + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see executeStatements:withResultBlock: + @see [sqlite3_exec()](http://sqlite.org/c3ref/exec.html) + + */ + +- (BOOL)executeStatements:(NSString *)sql; + +/** Execute multiple SQL statements with callback handler + + This executes a series of SQL statements that are combined in a single string (e.g. the SQL generated by the `sqlite3` command line `.dump` command). This accepts no value parameters, but rather simply expects a single string with multiple SQL statements, each terminated with a semicolon. This uses `sqlite3_exec`. + + @param sql The SQL to be performed. + @param block A block that will be called for any result sets returned by any SQL statements. + Note, if you supply this block, it must return integer value, zero upon success (this would be a good opportunity to use SQLITE_OK), + non-zero value upon failure (which will stop the bulk execution of the SQL). If a statement returns values, the block will be called with the results from the query in NSDictionary *resultsDictionary. + This may be `nil` if you don't care to receive any results. + + @return `YES` upon success; `NO` upon failure. If failed, you can call ``, + ``, or `` for diagnostic information regarding the failure. + + @see executeStatements: + @see [sqlite3_exec()](http://sqlite.org/c3ref/exec.html) + + */ + +- (BOOL)executeStatements:(NSString *)sql withResultBlock:(AWSFMDBExecuteStatementsCallbackBlock)block; + +/** Last insert rowid + + Each entry in an SQLite table has a unique 64-bit signed integer key called the "rowid". The rowid is always available as an undeclared column named `ROWID`, `OID`, or `_ROWID_` as long as those names are not also used by explicitly declared columns. If the table has a column of type `INTEGER PRIMARY KEY` then that column is another alias for the rowid. + + This routine returns the rowid of the most recent successful `INSERT` into the database from the database connection in the first argument. As of SQLite version 3.7.7, this routines records the last insert rowid of both ordinary tables and virtual tables. If no successful `INSERT`s have ever occurred on that database connection, zero is returned. + + @return The rowid of the last inserted row. + + @see [sqlite3_last_insert_rowid()](http://sqlite.org/c3ref/last_insert_rowid.html) + + */ + +- (long long int)lastInsertRowId; + +/** The number of rows changed by prior SQL statement. + + This function returns the number of database rows that were changed or inserted or deleted by the most recently completed SQL statement on the database connection specified by the first parameter. Only changes that are directly specified by the INSERT, UPDATE, or DELETE statement are counted. + + @return The number of rows changed by prior SQL statement. + + @see [sqlite3_changes()](http://sqlite.org/c3ref/changes.html) + + */ + +- (int)changes; + + +///------------------------- +/// @name Retrieving results +///------------------------- + +/** Execute select statement + + Executing queries returns an `` object if successful, and `nil` upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the `` and `` methods to determine why a query failed. + + In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[FMResultSet next]>`) from one record to the other. + + This method employs [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) for any optional value parameters. This properly escapes any characters that need escape sequences (e.g. quotation marks), which eliminates simple SQL errors as well as protects against SQL injection attacks. This method natively handles `NSString`, `NSNumber`, `NSNull`, `NSDate`, and `NSData` objects. All other object types will be interpreted as text values using the object's `description` method. + + @param sql The SELECT statement to be performed, with optional `?` placeholders. + + @param ... Optional parameters to bind to `?` placeholders in the SQL statement. These should be Objective-C objects (e.g. `NSString`, `NSNumber`, etc.), not fundamental C data types (e.g. `int`, `char *`, etc.). + + @return A `` for the result set upon success; `nil` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see FMResultSet + @see [`FMResultSet next`](<[FMResultSet next]>) + @see [`sqlite3_bind`](http://sqlite.org/c3ref/bind_blob.html) + + @note If you want to use this from Swift, please note that you must include `FMDatabaseVariadic.swift` in your project. Without that, you cannot use this method directly, and instead have to use methods such as ``. + */ + +- (AWSFMResultSet *)executeQuery:(NSString*)sql, ...; + +/** Execute select statement + + Executing queries returns an `` object if successful, and `nil` upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the `` and `` methods to determine why a query failed. + + In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[FMResultSet next]>`) from one record to the other. + + @param format The SQL to be performed, with `printf`-style escape sequences. + + @param ... Optional parameters to bind to use in conjunction with the `printf`-style escape sequences in the SQL statement. + + @return A `` for the result set upon success; `nil` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see executeQuery: + @see FMResultSet + @see [`FMResultSet next`](<[FMResultSet next]>) + + @note This method does not technically perform a traditional printf-style replacement. What this method actually does is replace the printf-style percent sequences with a SQLite `?` placeholder, and then bind values to that placeholder. Thus the following command + + [db executeQueryWithFormat:@"SELECT * FROM test WHERE name=%@", @"Gus"]; + + is actually replacing the `%@` with `?` placeholder, and then performing something equivalent to `` + + [db executeQuery:@"SELECT * FROM test WHERE name=?", @"Gus"]; + + There are two reasons why this distinction is important. First, the printf-style escape sequences can only be used where it is permissible to use a SQLite `?` placeholder. You can use it only for values in SQL statements, but not for table names or column names or any other non-value context. This method also cannot be used in conjunction with `pragma` statements and the like. Second, note the lack of quotation marks in the SQL. The `WHERE` clause was _not_ `WHERE name='%@'` (like you might have to do if you built a SQL statement using `NSString` method `stringWithFormat`), but rather simply `WHERE name=%@`. + + */ + +- (AWSFMResultSet *)executeQueryWithFormat:(NSString*)format, ... NS_FORMAT_FUNCTION(1,2); + +/** Execute select statement + + Executing queries returns an `` object if successful, and `nil` upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the `` and `` methods to determine why a query failed. + + In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[FMResultSet next]>`) from one record to the other. + + @param sql The SELECT statement to be performed, with optional `?` placeholders. + + @param arguments A `NSArray` of objects to be used when binding values to the `?` placeholders in the SQL statement. + + @return A `` for the result set upon success; `nil` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see FMResultSet + @see [`FMResultSet next`](<[FMResultSet next]>) + */ + +- (AWSFMResultSet *)executeQuery:(NSString *)sql withArgumentsInArray:(NSArray *)arguments; + +/** Execute select statement + + Executing queries returns an `` object if successful, and `nil` upon failure. Like executing updates, there is a variant that accepts an `NSError **` parameter. Otherwise you should use the `` and `` methods to determine why a query failed. + + In order to iterate through the results of your query, you use a `while()` loop. You also need to "step" (via `<[FMResultSet next]>`) from one record to the other. + + @param sql The SELECT statement to be performed, with optional `?` placeholders. + + @param arguments A `NSDictionary` of objects keyed by column names that will be used when binding values to the `?` placeholders in the SQL statement. + + @return A `` for the result set upon success; `nil` upon failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see FMResultSet + @see [`FMResultSet next`](<[FMResultSet next]>) + */ + +- (AWSFMResultSet *)executeQuery:(NSString *)sql withParameterDictionary:(NSDictionary *)arguments; + + +// Documentation forthcoming. +- (AWSFMResultSet *)executeQuery:(NSString*)sql withVAList: (va_list)args; + +///------------------- +/// @name Transactions +///------------------- + +/** Begin a transaction + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see commit + @see rollback + @see beginDeferredTransaction + @see inTransaction + */ + +- (BOOL)beginTransaction; + +/** Begin a deferred transaction + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see commit + @see rollback + @see beginTransaction + @see inTransaction + */ + +- (BOOL)beginDeferredTransaction; + +/** Commit a transaction + + Commit a transaction that was initiated with either `` or with ``. + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see beginTransaction + @see beginDeferredTransaction + @see rollback + @see inTransaction + */ + +- (BOOL)commit; + +/** Rollback a transaction + + Rollback a transaction that was initiated with either `` or with ``. + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see beginTransaction + @see beginDeferredTransaction + @see commit + @see inTransaction + */ + +- (BOOL)rollback; + +/** Identify whether currently in a transaction or not + + @return `YES` if currently within transaction; `NO` if not. + + @see beginTransaction + @see beginDeferredTransaction + @see commit + @see rollback + */ + +- (BOOL)inTransaction; + + +///---------------------------------------- +/// @name Cached statements and result sets +///---------------------------------------- + +/** Clear cached statements */ + +- (void)clearCachedStatements; + +/** Close all open result sets */ + +- (void)closeOpenResultSets; + +/** Whether database has any open result sets + + @return `YES` if there are open result sets; `NO` if not. + */ + +- (BOOL)hasOpenResultSets; + +/** Return whether should cache statements or not + + @return `YES` if should cache statements; `NO` if not. + */ + +- (BOOL)shouldCacheStatements; + +/** Set whether should cache statements or not + + @param value `YES` if should cache statements; `NO` if not. + */ + +- (void)setShouldCacheStatements:(BOOL)value; + + +///------------------------- +/// @name Encryption methods +///------------------------- + +/** Set encryption key. + + @param key The key to be used. + + @return `YES` if success, `NO` on error. + + @see http://www.sqlite-encrypt.com/develop-guide.htm + + @warning You need to have purchased the sqlite encryption extensions for this method to work. + */ + +- (BOOL)setKey:(NSString*)key; + +/** Reset encryption key + + @param key The key to be used. + + @return `YES` if success, `NO` on error. + + @see http://www.sqlite-encrypt.com/develop-guide.htm + + @warning You need to have purchased the sqlite encryption extensions for this method to work. + */ + +- (BOOL)rekey:(NSString*)key; + +/** Set encryption key using `keyData`. + + @param keyData The `NSData` to be used. + + @return `YES` if success, `NO` on error. + + @see http://www.sqlite-encrypt.com/develop-guide.htm + + @warning You need to have purchased the sqlite encryption extensions for this method to work. + */ + +- (BOOL)setKeyWithData:(NSData *)keyData; + +/** Reset encryption key using `keyData`. + + @param keyData The `NSData` to be used. + + @return `YES` if success, `NO` on error. + + @see http://www.sqlite-encrypt.com/develop-guide.htm + + @warning You need to have purchased the sqlite encryption extensions for this method to work. + */ + +- (BOOL)rekeyWithData:(NSData *)keyData; + + +///------------------------------ +/// @name General inquiry methods +///------------------------------ + +/** The path of the database file + + @return path of database. + + */ + +- (NSString *)databasePath; + +/** The underlying SQLite handle + + @return The `sqlite3` pointer. + + */ + +- (void*)sqliteHandle; + + +///----------------------------- +/// @name Retrieving error codes +///----------------------------- + +/** Last error message + + Returns the English-language text that describes the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined. + + @return `NSString` of the last error message. + + @see [sqlite3_errmsg()](http://sqlite.org/c3ref/errcode.html) + @see lastErrorCode + @see lastError + + */ + +- (NSString*)lastErrorMessage; + +/** Last error code + + Returns the numeric result code or extended result code for the most recent failed SQLite API call associated with a database connection. If a prior API call failed but the most recent API call succeeded, this return value is undefined. + + @return Integer value of the last error code. + + @see [sqlite3_errcode()](http://sqlite.org/c3ref/errcode.html) + @see lastErrorMessage + @see lastError + + */ + +- (int)lastErrorCode; + +/** Had error + + @return `YES` if there was an error, `NO` if no error. + + @see lastError + @see lastErrorCode + @see lastErrorMessage + + */ + +- (BOOL)hadError; + +/** Last error + + @return `NSError` representing the last error. + + @see lastErrorCode + @see lastErrorMessage + + */ + +- (NSError*)lastError; + + +// description forthcoming +- (void)setMaxBusyRetryTimeInterval:(NSTimeInterval)timeoutInSeconds; +- (NSTimeInterval)maxBusyRetryTimeInterval; + + +///------------------ +/// @name Save points +///------------------ + +/** Start save point + + @param name Name of save point. + + @param outErr A `NSError` object to receive any error object (if any). + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see releaseSavePointWithName:error: + @see rollbackToSavePointWithName:error: + */ + +- (BOOL)startSavePointWithName:(NSString*)name error:(NSError**)outErr; + +/** Release save point + + @param name Name of save point. + + @param outErr A `NSError` object to receive any error object (if any). + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see startSavePointWithName:error: + @see rollbackToSavePointWithName:error: + + */ + +- (BOOL)releaseSavePointWithName:(NSString*)name error:(NSError**)outErr; + +/** Roll back to save point + + @param name Name of save point. + @param outErr A `NSError` object to receive any error object (if any). + + @return `YES` on success; `NO` on failure. If failed, you can call ``, ``, or `` for diagnostic information regarding the failure. + + @see startSavePointWithName:error: + @see releaseSavePointWithName:error: + + */ + +- (BOOL)rollbackToSavePointWithName:(NSString*)name error:(NSError**)outErr; + +/** Start save point + + @param block Block of code to perform from within save point. + + @return The NSError corresponding to the error, if any. If no error, returns `nil`. + + @see startSavePointWithName:error: + @see releaseSavePointWithName:error: + @see rollbackToSavePointWithName:error: + + */ + +- (NSError*)inSavePoint:(void (^)(BOOL *rollback))block; + + +///---------------------------- +/// @name SQLite library status +///---------------------------- + +/** Test to see if the library is threadsafe + + @return `NO` if and only if SQLite was compiled with mutexing code omitted due to the SQLITE_THREADSAFE compile-time option being set to 0. + + @see [sqlite3_threadsafe()](http://sqlite.org/c3ref/threadsafe.html) + */ + ++ (BOOL)isSQLiteThreadSafe; + +/** Run-time library version numbers + + @return The sqlite library version string. + + @see [sqlite3_libversion()](http://sqlite.org/c3ref/libversion.html) + */ + ++ (NSString*)sqliteLibVersion; + + ++ (NSString*)AWSFMDBUserVersion; + ++ (SInt32)AWSFMDBVersion; + + +///------------------------ +/// @name Make SQL function +///------------------------ + +/** Adds SQL functions or aggregates or to redefine the behavior of existing SQL functions or aggregates. + + For example: + + [queue inDatabase:^(FMDatabase *adb) { + + [adb executeUpdate:@"create table ftest (foo text)"]; + [adb executeUpdate:@"insert into ftest values ('hello')"]; + [adb executeUpdate:@"insert into ftest values ('hi')"]; + [adb executeUpdate:@"insert into ftest values ('not h!')"]; + [adb executeUpdate:@"insert into ftest values ('definitely not h!')"]; + + [adb makeFunctionNamed:@"StringStartsWithH" maximumArguments:1 withBlock:^(sqlite3_context *context, int aargc, sqlite3_value **aargv) { + if (sqlite3_value_type(aargv[0]) == SQLITE_TEXT) { + @autoreleasepool { + const char *c = (const char *)sqlite3_value_text(aargv[0]); + NSString *s = [NSString stringWithUTF8String:c]; + sqlite3_result_int(context, [s hasPrefix:@"h"]); + } + } + else { + NSLog(@"Unknown formart for StringStartsWithH (%d) %s:%d", sqlite3_value_type(aargv[0]), __FUNCTION__, __LINE__); + sqlite3_result_null(context); + } + }]; + + int rowCount = 0; + FMResultSet *ars = [adb executeQuery:@"select * from ftest where StringStartsWithH(foo)"]; + while ([ars next]) { + rowCount++; + NSLog(@"Does %@ start with 'h'?", [rs stringForColumnIndex:0]); + } + AWSFMDBQuickCheck(rowCount == 2); + }]; + + @param name Name of function + + @param count Maximum number of parameters + + @param block The block of code for the function + + @see [sqlite3_create_function()](http://sqlite.org/c3ref/create_function.html) + */ + +- (void)makeFunctionNamed:(NSString*)name maximumArguments:(int)count withBlock:(void (^)(void *context, int argc, void **argv))block; + + +///--------------------- +/// @name Date formatter +///--------------------- + +/** Generate an `NSDateFormatter` that won't be broken by permutations of timezones or locales. + + Use this method to generate values to set the dateFormat property. + + Example: + + myDB.dateFormat = [FMDatabase storeableDateFormat:@"yyyy-MM-dd HH:mm:ss"]; + + @param format A valid NSDateFormatter format string. + + @return A `NSDateFormatter` that can be used for converting dates to strings and vice versa. + + @see hasDateFormatter + @see setDateFormat: + @see dateFromString: + @see stringFromDate: + @see storeableDateFormat: + + @warning Note that `NSDateFormatter` is not thread-safe, so the formatter generated by this method should be assigned to only one AWSFMDB instance and should not be used for other purposes. + + */ + ++ (NSDateFormatter *)storeableDateFormat:(NSString *)format; + +/** Test whether the database has a date formatter assigned. + + @return `YES` if there is a date formatter; `NO` if not. + + @see hasDateFormatter + @see setDateFormat: + @see dateFromString: + @see stringFromDate: + @see storeableDateFormat: + */ + +- (BOOL)hasDateFormatter; + +/** Set to a date formatter to use string dates with sqlite instead of the default UNIX timestamps. + + @param format Set to nil to use UNIX timestamps. Defaults to nil. Should be set using a formatter generated using FMDatabase::storeableDateFormat. + + @see hasDateFormatter + @see setDateFormat: + @see dateFromString: + @see stringFromDate: + @see storeableDateFormat: + + @warning Note there is no direct getter for the `NSDateFormatter`, and you should not use the formatter you pass to AWSFMDB for other purposes, as `NSDateFormatter` is not thread-safe. + */ + +- (void)setDateFormat:(NSDateFormatter *)format; + +/** Convert the supplied NSString to NSDate, using the current database formatter. + + @param s `NSString` to convert to `NSDate`. + + @return The `NSDate` object; or `nil` if no formatter is set. + + @see hasDateFormatter + @see setDateFormat: + @see dateFromString: + @see stringFromDate: + @see storeableDateFormat: + */ + +- (NSDate *)dateFromString:(NSString *)s; + +/** Convert the supplied NSDate to NSString, using the current database formatter. + + @param date `NSDate` of date to convert to `NSString`. + + @return The `NSString` representation of the date; `nil` if no formatter is set. + + @see hasDateFormatter + @see setDateFormat: + @see dateFromString: + @see stringFromDate: + @see storeableDateFormat: + */ + +- (NSString *)stringFromDate:(NSDate *)date; + +@end + + +/** Objective-C wrapper for `sqlite3_stmt` + + This is a wrapper for a SQLite `sqlite3_stmt`. Generally when using AWSFMDB you will not need to interact directly with `FMStatement`, but rather with `` and `` only. + + ### See also + + - `` + - `` + - [`sqlite3_stmt`](http://www.sqlite.org/c3ref/stmt.html) + */ + +@interface AWSFMStatement : NSObject { + NSString *_query; + long _useCount; + BOOL _inUse; +} + +///----------------- +/// @name Properties +///----------------- + +/** Usage count */ + +@property (atomic, assign) long useCount; + +/** SQL statement */ + +@property (atomic, retain) NSString *query; + +/** SQLite sqlite3_stmt + + @see [`sqlite3_stmt`](http://www.sqlite.org/c3ref/stmt.html) + */ + +@property (atomic, assign) void *statement; + +/** Indication of whether the statement is in use */ + +@property (atomic, assign) BOOL inUse; + +///---------------------------- +/// @name Closing and Resetting +///---------------------------- + +/** Close statement */ + +- (void)close; + +/** Reset statement */ + +- (void)reset; + +@end + +#pragma clang diagnostic pop + diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabaseAdditions.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabaseAdditions.h new file mode 100755 index 0000000..2882198 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabaseAdditions.h @@ -0,0 +1,277 @@ +// +// FMDatabaseAdditions.h +// fmdb +// +// Created by August Mueller on 10/30/05. +// Copyright 2005 Flying Meat Inc.. All rights reserved. +// + +#import +#import "AWSFMDatabase.h" + + +/** Category of additions for `` class. + + ### See also + + - `` + */ + +@interface AWSFMDatabase (AWSFMDatabaseAdditions) + +///---------------------------------------- +/// @name Return results of SQL to variable +///---------------------------------------- + +/** Return `int` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `int` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (int)intForQuery:(NSString*)query, ...; + +/** Return `long` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `long` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (long)longForQuery:(NSString*)query, ...; + +/** Return `BOOL` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `BOOL` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (BOOL)boolForQuery:(NSString*)query, ...; + +/** Return `double` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `double` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (double)doubleForQuery:(NSString*)query, ...; + +/** Return `NSString` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `NSString` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (NSString*)stringForQuery:(NSString*)query, ...; + +/** Return `NSData` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `NSData` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (NSData*)dataForQuery:(NSString*)query, ...; + +/** Return `NSDate` value for query + + @param query The SQL query to be performed. + @param ... A list of parameters that will be bound to the `?` placeholders in the SQL query. + + @return `NSDate` value. + + @note To use this method from Swift, you must include `FMDatabaseAdditionsVariadic.swift` in your project. + */ + +- (NSDate*)dateForQuery:(NSString*)query, ...; + + +// Notice that there's no dataNoCopyForQuery:. +// That would be a bad idea, because we close out the result set, and then what +// happens to the data that we just didn't copy? Who knows, not I. + + +///-------------------------------- +/// @name Schema related operations +///-------------------------------- + +/** Does table exist in database? + + @param tableName The name of the table being looked for. + + @return `YES` if table found; `NO` if not found. + */ + +- (BOOL)tableExists:(NSString*)tableName; + +/** The schema of the database. + + This will be the schema for the entire database. For each entity, each row of the result set will include the following fields: + + - `type` - The type of entity (e.g. table, index, view, or trigger) + - `name` - The name of the object + - `tbl_name` - The name of the table to which the object references + - `rootpage` - The page number of the root b-tree page for tables and indices + - `sql` - The SQL that created the entity + + @return `FMResultSet` of schema; `nil` on error. + + @see [SQLite File Format](http://www.sqlite.org/fileformat.html) + */ + +- (AWSFMResultSet*)getSchema; + +/** The schema of the database. + + This will be the schema for a particular table as report by SQLite `PRAGMA`, for example: + + PRAGMA table_info('employees') + + This will report: + + - `cid` - The column ID number + - `name` - The name of the column + - `type` - The data type specified for the column + - `notnull` - whether the field is defined as NOT NULL (i.e. values required) + - `dflt_value` - The default value for the column + - `pk` - Whether the field is part of the primary key of the table + + @param tableName The name of the table for whom the schema will be returned. + + @return `FMResultSet` of schema; `nil` on error. + + @see [table_info](http://www.sqlite.org/pragma.html#pragma_table_info) + */ + +- (AWSFMResultSet*)getTableSchema:(NSString*)tableName; + +/** Test to see if particular column exists for particular table in database + + @param columnName The name of the column. + + @param tableName The name of the table. + + @return `YES` if column exists in table in question; `NO` otherwise. + */ + +- (BOOL)columnExists:(NSString*)columnName inTableWithName:(NSString*)tableName; + +/** Test to see if particular column exists for particular table in database + + @param columnName The name of the column. + + @param tableName The name of the table. + + @return `YES` if column exists in table in question; `NO` otherwise. + + @see columnExists:inTableWithName: + + @warning Deprecated - use `` instead. + */ + +- (BOOL)columnExists:(NSString*)tableName columnName:(NSString*)columnName __attribute__ ((deprecated)); + + +/** Validate SQL statement + + This validates SQL statement by performing `sqlite3_prepare_v2`, but not returning the results, but instead immediately calling `sqlite3_finalize`. + + @param sql The SQL statement being validated. + + @param error This is a pointer to a `NSError` object that will receive the autoreleased `NSError` object if there was any error. If this is `nil`, no `NSError` result will be returned. + + @return `YES` if validation succeeded without incident; `NO` otherwise. + + */ + +- (BOOL)validateSQL:(NSString*)sql error:(NSError**)error; + + +///----------------------------------- +/// @name Application identifier tasks +///----------------------------------- + +/** Retrieve application ID + + @return The `uint32_t` numeric value of the application ID. + + @see setApplicationID: + */ + +- (uint32_t)applicationID; + +/** Set the application ID + + @param appID The `uint32_t` numeric value of the application ID. + + @see applicationID + */ + +- (void)setApplicationID:(uint32_t)appID; + +#if TARGET_OS_MAC && !TARGET_OS_IPHONE +/** Retrieve application ID string + + @return The `NSString` value of the application ID. + + @see setApplicationIDString: + */ + + +- (NSString*)applicationIDString; + +/** Set the application ID string + + @param string The `NSString` value of the application ID. + + @see applicationIDString + */ + +- (void)setApplicationIDString:(NSString*)string; +#endif + +///----------------------------------- +/// @name user version identifier tasks +///----------------------------------- + +/** Retrieve user version + + @return The `uint32_t` numeric value of the user version. + + @see setUserVersion: + */ + +- (uint32_t)userVersion; + +/** Set the user-version + + @param version The `uint32_t` numeric value of the user version. + + @see userVersion + */ + +- (void)setUserVersion:(uint32_t)version; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabasePool.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabasePool.h new file mode 100755 index 0000000..397e61d --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabasePool.h @@ -0,0 +1,200 @@ +// +// FMDatabasePool.h +// fmdb +// +// Created by August Mueller on 6/22/11. +// Copyright 2011 Flying Meat Inc. All rights reserved. +// + +#import + +@class AWSFMDatabase; + +/** Pool of `` objects. + + ### See also + + - `` + - `` + + @warning Before using `FMDatabasePool`, please consider using `` instead. + + If you really really really know what you're doing and `FMDatabasePool` is what + you really really need (ie, you're using a read only database), OK you can use + it. But just be careful not to deadlock! + + For an example on deadlocking, search for: + `ONLY_USE_THE_POOL_IF_YOU_ARE_DOING_READS_OTHERWISE_YOULL_DEADLOCK_USE_FMDATABASEQUEUE_INSTEAD` + in the main.m file. + */ + +@interface AWSFMDatabasePool : NSObject { + NSString *_path; + + dispatch_queue_t _lockQueue; + + NSMutableArray *_databaseInPool; + NSMutableArray *_databaseOutPool; + + __unsafe_unretained id _delegate; + + NSUInteger _maximumNumberOfDatabasesToCreate; + int _openFlags; +} + +/** Database path */ + +@property (atomic, retain) NSString *path; + +/** Delegate object */ + +@property (atomic, assign) id delegate; + +/** Maximum number of databases to create */ + +@property (atomic, assign) NSUInteger maximumNumberOfDatabasesToCreate; + +/** Open flags */ + +@property (atomic, readonly) int openFlags; + + +///--------------------- +/// @name Initialization +///--------------------- + +/** Create pool using path. + + @param aPath The file path of the database. + + @return The `FMDatabasePool` object. `nil` on error. + */ + ++ (instancetype)databasePoolWithPath:(NSString*)aPath; + +/** Create pool using path and specified flags + + @param aPath The file path of the database. + @param openFlags Flags passed to the openWithFlags method of the database + + @return The `FMDatabasePool` object. `nil` on error. + */ + ++ (instancetype)databasePoolWithPath:(NSString*)aPath flags:(int)openFlags; + +/** Create pool using path. + + @param aPath The file path of the database. + + @return The `FMDatabasePool` object. `nil` on error. + */ + +- (instancetype)initWithPath:(NSString*)aPath; + +/** Create pool using path and specified flags. + + @param aPath The file path of the database. + @param openFlags Flags passed to the openWithFlags method of the database + + @return The `FMDatabasePool` object. `nil` on error. + */ + +- (instancetype)initWithPath:(NSString*)aPath flags:(int)openFlags; + +///------------------------------------------------ +/// @name Keeping track of checked in/out databases +///------------------------------------------------ + +/** Number of checked-in databases in pool + + @returns Number of databases + */ + +- (NSUInteger)countOfCheckedInDatabases; + +/** Number of checked-out databases in pool + + @returns Number of databases + */ + +- (NSUInteger)countOfCheckedOutDatabases; + +/** Total number of databases in pool + + @returns Number of databases + */ + +- (NSUInteger)countOfOpenDatabases; + +/** Release all databases in pool */ + +- (void)releaseAllDatabases; + +///------------------------------------------ +/// @name Perform database operations in pool +///------------------------------------------ + +/** Synchronously perform database operations in pool. + + @param block The code to be run on the `FMDatabasePool` pool. + */ + +- (void)inDatabase:(void (^)(AWSFMDatabase *db))block; + +/** Synchronously perform database operations in pool using transaction. + + @param block The code to be run on the `FMDatabasePool` pool. + */ + +- (void)inTransaction:(void (^)(AWSFMDatabase *db, BOOL *rollback))block; + +/** Synchronously perform database operations in pool using deferred transaction. + + @param block The code to be run on the `FMDatabasePool` pool. + */ + +- (void)inDeferredTransaction:(void (^)(AWSFMDatabase *db, BOOL *rollback))block; + +/** Synchronously perform database operations in pool using save point. + + @param block The code to be run on the `FMDatabasePool` pool. + + @return `NSError` object if error; `nil` if successful. + + @warning You can not nest these, since calling it will pull another database out of the pool and you'll get a deadlock. If you need to nest, use `<[FMDatabase startSavePointWithName:error:]>` instead. +*/ + +- (NSError*)inSavePoint:(void (^)(AWSFMDatabase *db, BOOL *rollback))block; + +@end + + +/** FMDatabasePool delegate category + + This is a category that defines the protocol for the FMDatabasePool delegate + */ + +@interface NSObject (AWSFMDatabasePoolDelegate) + +/** Asks the delegate whether database should be added to the pool. + + @param pool The `FMDatabasePool` object. + @param database The `FMDatabase` object. + + @return `YES` if it should add database to pool; `NO` if not. + + */ + +- (BOOL)databasePool:(AWSFMDatabasePool*)pool shouldAddDatabaseToPool:(AWSFMDatabase*)database; + +/** Tells the delegate that database was added to the pool. + + @param pool The `FMDatabasePool` object. + @param database The `FMDatabase` object. + + */ + +- (void)databasePool:(AWSFMDatabasePool*)pool didAddDatabase:(AWSFMDatabase*)database; + +@end + diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabaseQueue.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabaseQueue.h new file mode 100755 index 0000000..7a078b7 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMDatabaseQueue.h @@ -0,0 +1,182 @@ +// +// FMDatabaseQueue.h +// fmdb +// +// Created by August Mueller on 6/22/11. +// Copyright 2011 Flying Meat Inc. All rights reserved. +// + +#import + +@class AWSFMDatabase; + +/** To perform queries and updates on multiple threads, you'll want to use `FMDatabaseQueue`. + + Using a single instance of `` from multiple threads at once is a bad idea. It has always been OK to make a `` object *per thread*. Just don't share a single instance across threads, and definitely not across multiple threads at the same time. + + Instead, use `FMDatabaseQueue`. Here's how to use it: + + First, make your queue. + + FMDatabaseQueue *queue = [FMDatabaseQueue databaseQueueWithPath:aPath]; + + Then use it like so: + + [queue inDatabase:^(FMDatabase *db) { + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]]; + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]]; + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]]; + + FMResultSet *rs = [db executeQuery:@"select * from foo"]; + while ([rs next]) { + //… + } + }]; + + An easy way to wrap things up in a transaction can be done like this: + + [queue inTransaction:^(FMDatabase *db, BOOL *rollback) { + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:1]]; + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:2]]; + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:3]]; + + if (whoopsSomethingWrongHappened) { + *rollback = YES; + return; + } + // etc… + [db executeUpdate:@"INSERT INTO myTable VALUES (?)", [NSNumber numberWithInt:4]]; + }]; + + `FMDatabaseQueue` will run the blocks on a serialized queue (hence the name of the class). So if you call `FMDatabaseQueue`'s methods from multiple threads at the same time, they will be executed in the order they are received. This way queries and updates won't step on each other's toes, and every one is happy. + + ### See also + + - `` + + @warning Do not instantiate a single `` object and use it across multiple threads. Use `FMDatabaseQueue` instead. + + @warning The calls to `FMDatabaseQueue`'s methods are blocking. So even though you are passing along blocks, they will **not** be run on another thread. + + */ + +@interface AWSFMDatabaseQueue : NSObject { + NSString *_path; + dispatch_queue_t _queue; + AWSFMDatabase *_db; + int _openFlags; +} + +/** Path of database */ + +@property (atomic, retain) NSString *path; + +/** Open flags */ + +@property (atomic, readonly) int openFlags; + +///---------------------------------------------------- +/// @name Initialization, opening, and closing of queue +///---------------------------------------------------- + +/** Create queue using path. + + @param aPath The file path of the database. + + @return The `FMDatabaseQueue` object. `nil` on error. + */ + ++ (instancetype)databaseQueueWithPath:(NSString*)aPath; + +/** Create queue using path and specified flags. + + @param aPath The file path of the database. + @param openFlags Flags passed to the openWithFlags method of the database + + @return The `FMDatabaseQueue` object. `nil` on error. + */ ++ (instancetype)databaseQueueWithPath:(NSString*)aPath flags:(int)openFlags; + +/** Create queue using path. + + @param aPath The file path of the database. + + @return The `FMDatabaseQueue` object. `nil` on error. + */ + +- (instancetype)initWithPath:(NSString*)aPath; + +/** Create queue using path and specified flags. + + @param aPath The file path of the database. + @param openFlags Flags passed to the openWithFlags method of the database + + @return The `FMDatabaseQueue` object. `nil` on error. + */ + +- (instancetype)initWithPath:(NSString*)aPath flags:(int)openFlags; + +/** Create queue using path and specified flags. + + @param aPath The file path of the database. + @param openFlags Flags passed to the openWithFlags method of the database + @param vfsName The name of a custom virtual file system + + @return The `FMDatabaseQueue` object. `nil` on error. + */ + +- (instancetype)initWithPath:(NSString*)aPath flags:(int)openFlags vfs:(NSString *)vfsName; + +/** Returns the Class of 'FMDatabase' subclass, that will be used to instantiate database object. + + Subclasses can override this method to return specified Class of 'FMDatabase' subclass. + + @return The Class of 'FMDatabase' subclass, that will be used to instantiate database object. + */ + ++ (Class)databaseClass; + +/** Close database used by queue. */ + +- (void)close; + +///----------------------------------------------- +/// @name Dispatching database operations to queue +///----------------------------------------------- + +/** Synchronously perform database operations on queue. + + @param block The code to be run on the queue of `FMDatabaseQueue` + */ + +- (void)inDatabase:(void (^)(AWSFMDatabase *db))block; + +/** Synchronously perform database operations on queue, using transactions. + + @param block The code to be run on the queue of `FMDatabaseQueue` + */ + +- (void)inTransaction:(void (^)(AWSFMDatabase *db, BOOL *rollback))block; + +/** Synchronously perform database operations on queue, using deferred transactions. + + @param block The code to be run on the queue of `FMDatabaseQueue` + */ + +- (void)inDeferredTransaction:(void (^)(AWSFMDatabase *db, BOOL *rollback))block; + +///----------------------------------------------- +/// @name Dispatching database operations to queue +///----------------------------------------------- + +/** Synchronously perform database operations using save point. + + @param block The code to be run on the queue of `FMDatabaseQueue` + */ + +// NOTE: you can not nest these, since calling it will pull another database out of the pool and you'll get a deadlock. +// If you need to nest, use FMDatabase's startSavePointWithName:error: instead. +- (NSError*)inSavePoint:(void (^)(AWSFMDatabase *db, BOOL *rollback))block; + +@end + diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMResultSet.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMResultSet.h new file mode 100755 index 0000000..f92568d --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSFMResultSet.h @@ -0,0 +1,468 @@ +#import + +#ifndef __has_feature // Optional. +#define __has_feature(x) 0 // Compatibility with non-clang compilers. +#endif + +#ifndef NS_RETURNS_NOT_RETAINED +#if __has_feature(attribute_ns_returns_not_retained) +#define NS_RETURNS_NOT_RETAINED __attribute__((ns_returns_not_retained)) +#else +#define NS_RETURNS_NOT_RETAINED +#endif +#endif + +@class AWSFMDatabase; +@class AWSFMStatement; + +/** Represents the results of executing a query on an ``. + + ### See also + + - `` + */ + +@interface AWSFMResultSet : NSObject { + AWSFMDatabase *_parentDB; + AWSFMStatement *_statement; + + NSString *_query; + NSMutableDictionary *_columnNameToIndexMap; +} + +///----------------- +/// @name Properties +///----------------- + +/** Executed query */ + +@property (atomic, retain) NSString *query; + +/** `NSMutableDictionary` mapping column names to numeric index */ + +@property (readonly) NSMutableDictionary *columnNameToIndexMap; + +/** `FMStatement` used by result set. */ + +@property (atomic, retain) AWSFMStatement *statement; + +///------------------------------------ +/// @name Creating and closing database +///------------------------------------ + +/** Create result set from `` + + @param statement A `` to be performed + + @param aDB A `` to be used + + @return A `FMResultSet` on success; `nil` on failure + */ + ++ (instancetype)resultSetWithStatement:(AWSFMStatement *)statement usingParentDatabase:(AWSFMDatabase*)aDB; + +/** Close result set */ + +- (void)close; + +- (void)setParentDB:(AWSFMDatabase *)newDb; + +///--------------------------------------- +/// @name Iterating through the result set +///--------------------------------------- + +/** Retrieve next row for result set. + + You must always invoke `next` or `nextWithError` before attempting to access the values returned in a query, even if you're only expecting one. + + @return `YES` if row successfully retrieved; `NO` if end of result set reached + + @see hasAnotherRow + */ + +- (BOOL)next; + +/** Retrieve next row for result set. + + You must always invoke `next` or `nextWithError` before attempting to access the values returned in a query, even if you're only expecting one. + + @param outErr A 'NSError' object to receive any error object (if any). + + @return 'YES' if row successfully retrieved; 'NO' if end of result set reached + + @see hasAnotherRow + */ + +- (BOOL)nextWithError:(NSError **)outErr; + +/** Did the last call to `` succeed in retrieving another row? + + @return `YES` if the last call to `` succeeded in retrieving another record; `NO` if not. + + @see next + + @warning The `hasAnotherRow` method must follow a call to ``. If the previous database interaction was something other than a call to `next`, then this method may return `NO`, whether there is another row of data or not. + */ + +- (BOOL)hasAnotherRow; + +///--------------------------------------------- +/// @name Retrieving information from result set +///--------------------------------------------- + +/** How many columns in result set + + @return Integer value of the number of columns. + */ + +- (int)columnCount; + +/** Column index for column name + + @param columnName `NSString` value of the name of the column. + + @return Zero-based index for column. + */ + +- (int)columnIndexForName:(NSString*)columnName; + +/** Column name for column index + + @param columnIdx Zero-based index for column. + + @return columnName `NSString` value of the name of the column. + */ + +- (NSString*)columnNameForIndex:(int)columnIdx; + +/** Result set integer value for column. + + @param columnName `NSString` value of the name of the column. + + @return `int` value of the result set's column. + */ + +- (int)intForColumn:(NSString*)columnName; + +/** Result set integer value for column. + + @param columnIdx Zero-based index for column. + + @return `int` value of the result set's column. + */ + +- (int)intForColumnIndex:(int)columnIdx; + +/** Result set `long` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `long` value of the result set's column. + */ + +- (long)longForColumn:(NSString*)columnName; + +/** Result set long value for column. + + @param columnIdx Zero-based index for column. + + @return `long` value of the result set's column. + */ + +- (long)longForColumnIndex:(int)columnIdx; + +/** Result set `long long int` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `long long int` value of the result set's column. + */ + +- (long long int)longLongIntForColumn:(NSString*)columnName; + +/** Result set `long long int` value for column. + + @param columnIdx Zero-based index for column. + + @return `long long int` value of the result set's column. + */ + +- (long long int)longLongIntForColumnIndex:(int)columnIdx; + +/** Result set `unsigned long long int` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `unsigned long long int` value of the result set's column. + */ + +- (unsigned long long int)unsignedLongLongIntForColumn:(NSString*)columnName; + +/** Result set `unsigned long long int` value for column. + + @param columnIdx Zero-based index for column. + + @return `unsigned long long int` value of the result set's column. + */ + +- (unsigned long long int)unsignedLongLongIntForColumnIndex:(int)columnIdx; + +/** Result set `BOOL` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `BOOL` value of the result set's column. + */ + +- (BOOL)boolForColumn:(NSString*)columnName; + +/** Result set `BOOL` value for column. + + @param columnIdx Zero-based index for column. + + @return `BOOL` value of the result set's column. + */ + +- (BOOL)boolForColumnIndex:(int)columnIdx; + +/** Result set `double` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `double` value of the result set's column. + + */ + +- (double)doubleForColumn:(NSString*)columnName; + +/** Result set `double` value for column. + + @param columnIdx Zero-based index for column. + + @return `double` value of the result set's column. + + */ + +- (double)doubleForColumnIndex:(int)columnIdx; + +/** Result set `NSString` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `NSString` value of the result set's column. + + */ + +- (NSString*)stringForColumn:(NSString*)columnName; + +/** Result set `NSString` value for column. + + @param columnIdx Zero-based index for column. + + @return `NSString` value of the result set's column. + */ + +- (NSString*)stringForColumnIndex:(int)columnIdx; + +/** Result set `NSDate` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `NSDate` value of the result set's column. + */ + +- (NSDate*)dateForColumn:(NSString*)columnName; + +/** Result set `NSDate` value for column. + + @param columnIdx Zero-based index for column. + + @return `NSDate` value of the result set's column. + + */ + +- (NSDate*)dateForColumnIndex:(int)columnIdx; + +/** Result set `NSData` value for column. + + This is useful when storing binary data in table (such as image or the like). + + @param columnName `NSString` value of the name of the column. + + @return `NSData` value of the result set's column. + + */ + +- (NSData*)dataForColumn:(NSString*)columnName; + +/** Result set `NSData` value for column. + + @param columnIdx Zero-based index for column. + + @return `NSData` value of the result set's column. + */ + +- (NSData*)dataForColumnIndex:(int)columnIdx; + +/** Result set `(const unsigned char *)` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `(const unsigned char *)` value of the result set's column. + */ + +- (const unsigned char *)UTF8StringForColumnName:(NSString*)columnName; + +/** Result set `(const unsigned char *)` value for column. + + @param columnIdx Zero-based index for column. + + @return `(const unsigned char *)` value of the result set's column. + */ + +- (const unsigned char *)UTF8StringForColumnIndex:(int)columnIdx; + +/** Result set object for column. + + @param columnName `NSString` value of the name of the column. + + @return Either `NSNumber`, `NSString`, `NSData`, or `NSNull`. If the column was `NULL`, this returns `[NSNull null]` object. + + @see objectForKeyedSubscript: + */ + +- (id)objectForColumnName:(NSString*)columnName; + +/** Result set object for column. + + @param columnIdx Zero-based index for column. + + @return Either `NSNumber`, `NSString`, `NSData`, or `NSNull`. If the column was `NULL`, this returns `[NSNull null]` object. + + @see objectAtIndexedSubscript: + */ + +- (id)objectForColumnIndex:(int)columnIdx; + +/** Result set object for column. + + This method allows the use of the "boxed" syntax supported in Modern Objective-C. For example, by defining this method, the following syntax is now supported: + + id result = rs[@"employee_name"]; + + This simplified syntax is equivalent to calling: + + id result = [rs objectForKeyedSubscript:@"employee_name"]; + + which is, it turns out, equivalent to calling: + + id result = [rs objectForColumnName:@"employee_name"]; + + @param columnName `NSString` value of the name of the column. + + @return Either `NSNumber`, `NSString`, `NSData`, or `NSNull`. If the column was `NULL`, this returns `[NSNull null]` object. + */ + +- (id)objectForKeyedSubscript:(NSString *)columnName; + +/** Result set object for column. + + This method allows the use of the "boxed" syntax supported in Modern Objective-C. For example, by defining this method, the following syntax is now supported: + + id result = rs[0]; + + This simplified syntax is equivalent to calling: + + id result = [rs objectForKeyedSubscript:0]; + + which is, it turns out, equivalent to calling: + + id result = [rs objectForColumnName:0]; + + @param columnIdx Zero-based index for column. + + @return Either `NSNumber`, `NSString`, `NSData`, or `NSNull`. If the column was `NULL`, this returns `[NSNull null]` object. + */ + +- (id)objectAtIndexedSubscript:(int)columnIdx; + +/** Result set `NSData` value for column. + + @param columnName `NSString` value of the name of the column. + + @return `NSData` value of the result set's column. + + @warning If you are going to use this data after you iterate over the next row, or after you close the +result set, make sure to make a copy of the data first (or just use ``/``) +If you don't, you're going to be in a world of hurt when you try and use the data. + + */ + +- (NSData*)dataNoCopyForColumn:(NSString*)columnName NS_RETURNS_NOT_RETAINED; + +/** Result set `NSData` value for column. + + @param columnIdx Zero-based index for column. + + @return `NSData` value of the result set's column. + + @warning If you are going to use this data after you iterate over the next row, or after you close the + result set, make sure to make a copy of the data first (or just use ``/``) + If you don't, you're going to be in a world of hurt when you try and use the data. + + */ + +- (NSData*)dataNoCopyForColumnIndex:(int)columnIdx NS_RETURNS_NOT_RETAINED; + +/** Is the column `NULL`? + + @param columnIdx Zero-based index for column. + + @return `YES` if column is `NULL`; `NO` if not `NULL`. + */ + +- (BOOL)columnIndexIsNull:(int)columnIdx; + +/** Is the column `NULL`? + + @param columnName `NSString` value of the name of the column. + + @return `YES` if column is `NULL`; `NO` if not `NULL`. + */ + +- (BOOL)columnIsNull:(NSString*)columnName; + + +/** Returns a dictionary of the row results mapped to case sensitive keys of the column names. + + @returns `NSDictionary` of the row results. + + @warning The keys to the dictionary are case sensitive of the column names. + */ + +- (NSDictionary*)resultDictionary; + +/** Returns a dictionary of the row results + + @see resultDictionary + + @warning **Deprecated**: Please use `` instead. Also, beware that `` is case sensitive! + */ + +- (NSDictionary*)resultDict __attribute__ ((deprecated)); + +///----------------------------- +/// @name Key value coding magic +///----------------------------- + +/** Performs `setValue` to yield support for key value observing. + + @param object The object for which the values will be set. This is the key-value-coding compliant object that you might, for example, observe. + + */ + +- (void)kvcMagic:(id)object; + + +@end + diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSGZIP.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSGZIP.h new file mode 100755 index 0000000..bd1dce4 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSGZIP.h @@ -0,0 +1,44 @@ +// +// GZIP.h +// +// Version 1.0.3 +// +// Created by Nick Lockwood on 03/06/2012. +// Copyright (C) 2012 Charcoal Design +// +// Distributed under the permissive zlib License +// Get the latest version from here: +// +// https://github.com/nicklockwood/GZIP +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would be +// appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not be +// misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// + + +#import + +void awsgzip_loadGZIP(); + +@interface NSData (AWSGZIP) + +- (NSData *)awsgzip_gzippedDataWithCompressionLevel:(float)level; +- (NSData *)awsgzip_gzippedData; +- (NSData *)awsgzip_gunzippedData; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSGeneric.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSGeneric.h new file mode 100755 index 0000000..c007032 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSGeneric.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +#pragma once + +/** + This exists to use along with `AWSTask` and `AWSTaskCompletionSource`. + + Instead of returning a `AWSTask` with no generic type, or a generic type of 'NSNull' + when there is no usable result from a task, we use the type 'AWSVoid', which will always have a value of `nil`. + + This allows you to provide a more enforced API contract to the caller, + as sending any message to `AWSVoid` will result in a compile time error. + */ +@class _AWSVoid_Nonexistant; +typedef _AWSVoid_Nonexistant *AWSVoid; diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSIdentityProvider.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSIdentityProvider.h new file mode 100755 index 0000000..8a42eb9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSIdentityProvider.h @@ -0,0 +1,147 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSServiceEnum.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSCognitoIdentityIdChangedNotification; +FOUNDATION_EXPORT NSString *const AWSCognitoNotificationPreviousId; +FOUNDATION_EXPORT NSString *const AWSCognitoNotificationNewId; + +FOUNDATION_EXPORT NSString *const AWSIdentityProviderDigits; +FOUNDATION_EXPORT NSString *const AWSIdentityProviderFacebook; +FOUNDATION_EXPORT NSString *const AWSIdentityProviderGoogle; +FOUNDATION_EXPORT NSString *const AWSIdentityProviderLoginWithAmazon; +FOUNDATION_EXPORT NSString *const AWSIdentityProviderTwitter; + +FOUNDATION_EXPORT NSString *const AWSIdentityProviderAmazonCognitoIdentity; + +FOUNDATION_EXPORT NSString *const AWSCognitoCredentialsProviderHelperErrorDomain; +typedef NS_ENUM(NSInteger, AWSCognitoCredentialsProviderHelperErrorType) { + AWSCognitoCredentialsProviderHelperErrorTypeIdentityIsNil, + AWSCognitoCredentialsProviderHelperErrorTypeTokenRefreshTimeout, +}; + +@class AWSTask<__covariant ResultType>; + +/** + AWSIdentityProvider provides an interface for acquiring an identity token from a provider. + */ +@protocol AWSIdentityProvider + +/** + The name of the identity provider. e.g. graph.facebook.com. + */ +@property (nonatomic, readonly) NSString *identityProviderName; + +/** + Returns the token associated with this provider. If the token is cached and invalid, should refresh and return the valid token. + */ +- (AWSTask *)token; + +@end + +/** + `AWSIdentityProviderManager` provides an interface for creating the `logins` dictionary for Amazon Cognito Identity. + */ +@protocol AWSIdentityProviderManager + +/** + Each entry in logins represents a single login with an identity provider. The key is the domain of the login provider (e.g. 'graph.facebook.com') and the value is the OAuth/OpenId Connect token that results from an authentication with that login provider. + */ +- (AWSTask *> *)logins; + +@optional +/** + * If the token contains the role arn and there are multiple roles, return the custom role to assume. This is currently only supported for SAML identity providers. + */ +@property (nonatomic, readonly) NSString *customRoleArn; + +@end + +/** + AWSCognitoCredentialsProviderHelper provides a Cognito specific identity provider. Cognito Identity providers are associated with an identity pool. If the identity pool supports authenticated access, multiple logins may be added to link to the Cognito identity. + */ +@protocol AWSCognitoCredentialsProviderHelper + +/** + The identity pool for this provider. Used to when making calls to the Amazon Cognito service + */ +@property (nonatomic, strong, readonly) NSString *identityPoolId; + +/** + The identity id as determined by the Amazon Cognito service + */ +@property (nonatomic, strong, nullable) NSString *identityId; + +/** + */ +@property (nonatomic, strong, readonly, nullable) id identityProviderManager; + +/** + Get/retrieve the identity id for this provider. If an identity id is already set on this provider, no remote call is made and the identity will be returned as a result of the AWSTask (the identityId is also available as a property). If no identityId is set on this provider, one will be retrieved from the service. + */ +- (AWSTask *)getIdentityId; + +/** + Is this provider considered 'authenticated'. By default, only returns YES if logins is set. + */ +- (BOOL)isAuthenticated; + +/** + Clear saved values for identityId, token, and logins. + */ +- (void)clear; + +@end + +/** + An abstract implementation of the AWSCognitoCredentialsProviderHelper. + */ +@interface AWSAbstractCognitoCredentialsProviderHelper : NSObject + +/** + The identity pool for this provider. Used to when making calls to the Amazon Cognito service + */ +@property (nonatomic, strong, readonly) NSString *identityPoolId; + +/** + The identity id as determined by the Amazon Cognito service + */ +@property (nonatomic, strong, nullable) NSString *identityId; + +/** + The identity provider manager that asynchronously returns `logins`. + */ +@property (nonatomic, strong, readonly, nullable) id identityProviderManager; + +@end + +/** + An abstract implementation of the AWSCognitoCredentialsProviderHelper. Developers should extend this class when they want to implement developer authenticated identities and want to support the basic Amazon Cognito authflow in the same application. + */ +@interface AWSCognitoCredentialsProviderHelper : AWSAbstractCognitoCredentialsProviderHelper + +@property (nonatomic, assign) BOOL useEnhancedFlow; + +- (instancetype)initWithRegionType:(AWSRegionType)regionType + identityPoolId:(NSString *)identityPoolId + useEnhancedFlow:(BOOL)useEnhancedFlow + identityProviderManager:(nullable id)identityProviderManager; +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSInfo.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSInfo.h new file mode 100755 index 0000000..6e03998 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSInfo.h @@ -0,0 +1,49 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSServiceEnum.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSInfoDefault; + +@class AWSServiceInfo; +@class AWSCognitoCredentialsProvider; + +@interface AWSInfo : NSObject + +@property (nonatomic, readonly) NSDictionary *rootInfoDictionary; + ++ (instancetype)defaultAWSInfo; + +- (nullable AWSServiceInfo *)serviceInfo:(NSString *)serviceName + forKey:(NSString *)key; + +- (nullable AWSServiceInfo *)defaultServiceInfo:(NSString *)serviceName; + +@end + +@interface AWSServiceInfo : NSObject + +@property (nonatomic, readonly) AWSCognitoCredentialsProvider *cognitoCredentialsProvider; + +@property (nonatomic, readonly) AWSRegionType region; + +@property (nonatomic, readonly) NSDictionary *infoDictionary; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSKSReachability.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSKSReachability.h new file mode 100755 index 0000000..6ed1f24 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSKSReachability.h @@ -0,0 +1,204 @@ +// +// KSReachability.h +// +// Created by Karl Stenerud on 5/5/12. +// +// Copyright (c) 2012 Karl Stenerud. All rights reserved. +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall remain in place +// in this source code. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. +// + +#import +#import + + +/** This is the notification name used in the Apple reachability example. + * It is not used internally, and is merely a suggested notification name. + */ +#define kAWSDefaultNetworkReachabilityChangedNotification @"kAWSNetworkReachabilityChangedNotification" + + +@class AWSKSReachability; + +typedef void(^AWSKSReachabilityCallback)(AWSKSReachability* reachability); + + +/** Monitors network connectivity. + * + * You can elect to be notified via blocks (onReachabilityChanged), + * notifications (notificationName), or KVO (flags, reachable, and WWANOnly). + * + * All notification methods are disabled by default. + * + * Note: Upon construction, this object will fetch its initial reachability + * state in the background. This means that the reachability status will ALWAYS + * be "unreachable" until some time after object construction (possibly up to 10 + * seconds, depending on how long the DNS lookup takes). Use the "initialized" + * property to monitor initialization, or set the callback "onInitializationComplete". + */ +@interface AWSKSReachability : NSObject + +#pragma mark Constructors + +/** Reachability to a specific host. Returns nil if an initialization error occurs. + * + * @param hostname The name or IP address of the host to monitor. If nil or + * empty string, check reachability to the internet in general. + */ ++ (AWSKSReachability*) reachabilityToHost:(NSString*) hostname; + +/** Reachability to the local (wired or wifi) network. Returns nil if an initialization error occurs. + */ ++ (AWSKSReachability*) reachabilityToLocalNetwork; + +/** Reachability to the internet. Returns nil if an initialization error occurs. + */ ++ (AWSKSReachability*) reachabilityToInternet; + + +#pragma mark General Information + +/** The host we are monitoring reachability to, if any. */ +@property(nonatomic,readonly,retain) NSString* hostname; + + +#pragma mark Notifications and Callbacks + +/** If non-nil, called when the KSReachability object has finished initializing. + * If initialization has already completed, calls on the next main thread run loop. + * This block will only be called once, and then discarded (released). + * Block will be invoked on the main thread. + */ +@property(atomic,readwrite,copy) AWSKSReachabilityCallback onInitializationComplete; + +/** If non-nil, called whenever reachability flags change. + * Block will be invoked on the main thread. + */ +@property(atomic,readwrite,copy) AWSKSReachabilityCallback onReachabilityChanged; + +/** The notification to send when reachability changes (nil = don't send). + * Default = nil + */ +@property(nonatomic,readwrite,retain) NSString* notificationName; + + +#pragma mark KVO Compliant Status Properties + +/** The current reachability flags. + * This property will always report 0 while "initialized" property = NO. + */ +@property(nonatomic,readonly,assign) SCNetworkReachabilityFlags flags; + +/** Whether the host is reachable or not. + * This property will always report NO while "initialized" property = NO. + */ +@property(nonatomic,readonly,assign) BOOL reachable; + +/* If YES, the host is only reachable by WWAN (iOS only). + * This property will always report NO while "initialized" property = NO. + */ +@property(nonatomic,readonly,assign) BOOL WWANOnly; + +/** If YES, this object's status properties are valid. */ +@property(atomic,readonly,assign) BOOL initialized; + +@end + + + +/** A one-time operation to perform as soon as a host is deemed reachable. + * The operation will only be performed once, regardless of how many times a + * host becomes reachable. + */ +@interface AWSKSReachableOperation: NSObject + +/** Constructor. Returns nil if an initialization error occurs. + * + * @param hostname The name or IP address of the host to monitor. If nil or + * empty string, check reachability to the internet in general. + * If hostname is a URL string, it will use the host portion. + * + * @param allowWWAN If NO, a WWAN-only connection is not enough to trigger + * this operation. + * + * @param onReachabilityAchieved Invoke when the host becomes reachable. + * This will be invoked ONE TIME ONLY, no matter + * how many times reachability changes. + * Block will be invoked on the main thread. + */ ++ (AWSKSReachableOperation*) operationWithHost:(NSString*) hostname + allowWWAN:(BOOL) allowWWAN + onReachabilityAchieved:(dispatch_block_t) onReachabilityAchieved; + +/** Constructor. Returns nil if an initialization error occurs. + * + * @param reachability A reachability instance. Note: This object will overwrite + * the onReachabilityChanged property. + * + * @param allowWWAN If NO, a WWAN-only connection is not enough to trigger + * this operation. + * + * @param onReachabilityAchieved Invoke when the host becomes reachable. + * This will be invoked ONE TIME ONLY, no matter + * how many times reachability changes. + * Block will be invoked on the main thread. + */ ++ (AWSKSReachableOperation*) operationWithReachability:(AWSKSReachability*) reachability + allowWWAN:(BOOL) allowWWAN + onReachabilityAchieved:(dispatch_block_t) onReachabilityAchieved; + +/** Initializer. Returns nil if an initialization error occurs. + * + * @param hostname The name or IP address of the host to monitor. If nil or + * empty string, check reachability to the internet in general. + * If hostname is a URL string, it will use the host portion. + * + * @param allowWWAN If NO, a WWAN-only connection is not enough to trigger + * this operation. + * + * @param onReachabilityAchieved Invoke when the host becomes reachable. + * This will be invoked ONE TIME ONLY, no matter + * how many times reachability changes. + * Block will be invoked on the main thread. + */ +- (id) initWithHost:(NSString*) hostname + allowWWAN:(BOOL) allowWWAN +onReachabilityAchieved:(dispatch_block_t) onReachabilityAchieved; + +/** Initializer. Returns nil if an initialization error occurs. + * + * @param reachability A reachability instance. Note: This object will overwrite + * the onReachabilityChanged property. + * + * @param allowWWAN If NO, a WWAN-only connection is not enough to trigger + * this operation. + * + * @param onReachabilityAchieved Invoke when the host becomes reachable. + * This will be invoked ONE TIME ONLY, no matter + * how many times reachability changes. + * Block will be invoked on the main thread. + */ +- (id) initWithReachability:(AWSKSReachability*) reachability + allowWWAN:(BOOL) allowWWAN + onReachabilityAchieved:(dispatch_block_t) onReachabilityAchieved; + +/** Access to internal reachability instance. Use this to monitor for errors. */ +@property(nonatomic,readonly,retain) AWSKSReachability* reachability; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSLogging.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSLogging.h new file mode 100755 index 0000000..fca8cd9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSLogging.h @@ -0,0 +1,96 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +#define AWSLogFormat @"%@ line:%d | %s | " + +#define AWSLogError(fmt, ...) [[AWSLogger defaultLogger] log:AWSLogLevelError format:(AWSLogFormat fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__] +#define AWSLogWarn(fmt, ...) [[AWSLogger defaultLogger] log:AWSLogLevelWarn format:(AWSLogFormat fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__] +#define AWSLogInfo(fmt, ...) [[AWSLogger defaultLogger] log:AWSLogLevelInfo format:(AWSLogFormat fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__] +#define AWSLogDebug(fmt, ...) [[AWSLogger defaultLogger] log:AWSLogLevelDebug format:(AWSLogFormat fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__] +#define AWSLogVerbose(fmt, ...) [[AWSLogger defaultLogger] log:AWSLogLevelVerbose format:(AWSLogFormat fmt), [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, __PRETTY_FUNCTION__, ##__VA_ARGS__] + +typedef NS_ENUM(NSInteger, AWSLogLevel) { + AWSLogLevelUnknown = -1, + AWSLogLevelNone = 0, + AWSLogLevelError = 1, + AWSLogLevelWarn = 2, + AWSLogLevelInfo = 3, + AWSLogLevelDebug = 4, + AWSLogLevelVerbose = 5 +}; + +/** + `AWSLogger` is an utility class that handles logging to the console. Changing log levels during development may make debugging easier. You can change the log level by importing `AWSCore.h` and calling: + + *Swift* + + AWSLogger.defaultLogger().logLevel = .None + + The following logging level options are available: + + .None + .Error + .Warn + .Info + .Debug (This is the default.) + .Verbose + + *Objective-C* + + [AWSLogger defaultLogger].logLevel = AWSLogLevelNone; + + The following logging level options are available: + + AWSLogLevelNone + AWSLogLevelError + AWSLogLevelWarn + AWSLogLevelInfo + AWSLogLevelDebug (This is the default.) + AWSLogLevelVerbose + + @note We recommend setting the log level to `None` before publishing to the Apple App Store. + */ +@interface AWSLogger : NSObject + +/** + The log level setting. The default value is `Debug`. + */ +@property (atomic, assign) AWSLogLevel logLevel; + +/** + Returns the shared logger object. + + @return The shared logger object. + */ ++ (instancetype)defaultLogger; + +/** + Prints out the formatted logs to the console. You can use the following predefined shorthand methods instead: + + AWSLogError(fmt, ...) + AWSLogWarn(fmt, ...) + AWSLogInfo(fmt, ...) + AWSLogDebug(fmt, ...) + AWSLogVerbose(fmt, ...) + + @param logLevel The level of this log. + @param fmt The formatted string to log. + */ +- (void)log:(AWSLogLevel)logLevel + format:(NSString *)fmt, ... NS_FORMAT_FUNCTION(2, 3); + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLJSONAdapter.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLJSONAdapter.h new file mode 100755 index 0000000..be64d95 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLJSONAdapter.h @@ -0,0 +1,172 @@ +// +// MTLJSONAdapter.h +// Mantle +// +// Created by Justin Spahr-Summers on 2013-02-12. +// Copyright (c) 2013 GitHub. All rights reserved. +// + +#import + +@class AWSMTLModel; + +// A MTLModel object that supports being parsed from and serialized to JSON. +@protocol AWSMTLJSONSerializing +@required + +// Specifies how to map property keys to different key paths in JSON. +// +// Subclasses overriding this method should combine their values with those of +// `super`. +// +// Any property keys not present in the dictionary are assumed to match the JSON +// key that should be used. Any keys associated with NSNull will not participate +// in JSON serialization. +// +// Returns a dictionary mapping property keys to JSON key paths (as strings) or +// NSNull values. ++ (NSDictionary *)JSONKeyPathsByPropertyKey; + +@optional + +// Specifies how to convert a JSON value to the given property key. If +// reversible, the transformer will also be used to convert the property value +// back to JSON. +// +// If the receiver implements a `+JSONTransformer` method, MTLJSONAdapter +// will use the result of that method instead. +// +// Returns a value transformer, or nil if no transformation should be performed. ++ (NSValueTransformer *)JSONTransformerForKey:(NSString *)key; + +// Overridden to parse the receiver as a different class, based on information +// in the provided dictionary. +// +// This is mostly useful for class clusters, where the abstract base class would +// be passed into -[MTLJSONAdapter initWithJSONDictionary:modelClass:], but +// a subclass should be instantiated instead. +// +// JSONDictionary - The JSON dictionary that will be parsed. +// +// Returns the class that should be parsed (which may be the receiver), or nil +// to abort parsing (e.g., if the data is invalid). ++ (Class)classForParsingJSONDictionary:(NSDictionary *)JSONDictionary; + +@end + +// The domain for errors originating from MTLJSONAdapter. +extern NSString * const AWSMTLJSONAdapterErrorDomain; + +// +classForParsingJSONDictionary: returned nil for the given dictionary. +extern const NSInteger AWSMTLJSONAdapterErrorNoClassFound; + +// The provided JSONDictionary is not valid. +extern const NSInteger AWSMTLJSONAdapterErrorInvalidJSONDictionary; + +// The model's implementation of +JSONKeyPathsByPropertyKey included a key which +// does not actually exist in +propertyKeys. +extern const NSInteger AWSMTLJSONAdapterErrorInvalidJSONMapping; + +// Converts a MTLModel object to and from a JSON dictionary. +@interface AWSMTLJSONAdapter : NSObject + +// The model object that the receiver was initialized with, or that the receiver +// parsed from a JSON dictionary. +@property (nonatomic, strong, readonly) AWSMTLModel *model; + +// Attempts to parse a JSON dictionary into a model object. +// +// modelClass - The MTLModel subclass to attempt to parse from the JSON. +// This class must conform to . This +// argument must not be nil. +// JSONDictionary - A dictionary representing JSON data. This should match the +// format returned by NSJSONSerialization. If this argument is +// nil, the method returns nil. +// error - If not NULL, this may be set to an error that occurs during +// parsing or initializing an instance of `modelClass`. +// +// Returns an instance of `modelClass` upon success, or nil if a parsing error +// occurred. ++ (id)modelOfClass:(Class)modelClass fromJSONDictionary:(NSDictionary *)JSONDictionary error:(NSError **)error; + +// Attempts to parse an array of JSON dictionary objects into a model objects +// of a specific class. +// +// modelClass - The MTLModel subclass to attempt to parse from the JSON. This +// class must conform to . This argument must +// not be nil. +// JSONArray - A array of dictionaries representing JSON data. This should +// match the format returned by NSJSONSerialization. If this +// argument is nil, the method returns nil. +// error - If not NULL, this may be set to an error that occurs during +// parsing or initializing an any of the instances of +// `modelClass`. +// +// Returns an array of `modelClass` instances upon success, or nil if a parsing +// error occurred. ++ (NSArray *)modelsOfClass:(Class)modelClass fromJSONArray:(NSArray *)JSONArray error:(NSError **)error; + +// Converts a model into a JSON representation. +// +// model - The model to use for JSON serialization. This argument must not be +// nil. +// +// Returns a JSON dictionary, or nil if a serialization error occurred. ++ (NSDictionary *)JSONDictionaryFromModel:(AWSMTLModel *)model; + +// Converts a array of models into a JSON representation. +// +// models - The array of models to use for JSON serialization. This argument +// must not be nil. +// +// Returns a JSON array, or nil if a serialization error occurred for any +// model. ++ (NSArray *)JSONArrayFromModels:(NSArray *)models; + +// Initializes the receiver by attempting to parse a JSON dictionary into +// a model object. +// +// JSONDictionary - A dictionary representing JSON data. This should match the +// format returned by NSJSONSerialization. If this argument is +// nil, the method returns nil and an error with code +// MTLJSONAdapterErrorInvalidJSONDictionary. +// modelClass - The MTLModel subclass to attempt to parse from the JSON. +// This class must conform to . This +// argument must not be nil. +// error - If not NULL, this may be set to an error that occurs during +// parsing or initializing an instance of `modelClass`. +// +// Returns an initialized adapter upon success, or nil if a parsing error +// occurred. +- (id)initWithJSONDictionary:(NSDictionary *)JSONDictionary modelClass:(Class)modelClass error:(NSError **)error; + +// Initializes the receiver with an existing model. +// +// model - The model to use for JSON serialization. This argument must not be +// nil. +- (id)initWithModel:(AWSMTLModel *)model; + +// Serializes the receiver's `model` into JSON. +// +// Returns a JSON dictionary, or nil if a serialization error occurred. +- (NSDictionary *)JSONDictionary; + +// Looks up the JSON key path in the model's +propertyKeys. +// +// Subclasses may override this method to customize the adapter's seralizing +// behavior. You should not call this method directly. +// +// key - The property key to retrieve the corresponding JSON key path for. This +// argument must not be nil. +// +// Returns a key path to use, or nil to omit the property from JSON. +- (NSString *)JSONKeyPathForPropertyKey:(NSString *)key; + +@end + +@interface AWSMTLJSONAdapter (Deprecated) + ++ (id)modelOfClass:(Class)modelClass fromJSONDictionary:(NSDictionary *)JSONDictionary __attribute__((deprecated("Replaced by +modelOfClass:fromJSONDictionary:error:"))); +- (id)initWithJSONDictionary:(NSDictionary *)JSONDictionary modelClass:(Class)modelClass __attribute__((deprecated("Replaced by -initWithJSONDictionary:modelClass:error:"))); + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLManagedObjectAdapter.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLManagedObjectAdapter.h new file mode 100755 index 0000000..e7f3c78 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLManagedObjectAdapter.h @@ -0,0 +1,215 @@ +// +// MTLManagedObjectAdapter.h +// Mantle +// +// Created by Justin Spahr-Summers on 2013-03-29. +// Copyright (c) 2013 GitHub. All rights reserved. +// + +#import + +@class AWSMTLModel; + +// A MTLModel object that supports being serialized to and from Core Data as an +// NSManagedObject. +@protocol AWSMTLManagedObjectSerializing +@required + +// The name of the Core Data entity that the receiver serializes to and +// deserializes from. +// +// This method must not return nil. ++ (NSString *)managedObjectEntityName; + +// Specifies how to map property keys to different keys on the receiver's +// +managedObjectEntity. +// +// Entity attributes will be mapped to and from the receiver's properties using +// +entityAttributeTransformerForKey:. Entity relationships will be mapped to +// and from MTLModel objects using +relationshipModelClassesByPropertyKey. +// Fetched properties are not supported. +// +// Subclasses overriding this method should combine their values with those of +// `super`. +// +// Any property keys not present in the dictionary are assumed to match the +// entity key that should be used. Any keys associated with NSNull will not +// participate in managed object serialization. +// +// Returns a dictionary mapping property keys to entity keys (as strings) or +// NSNull values. ++ (NSDictionary *)managedObjectKeysByPropertyKey; + +@optional + +// Specifies a set of property keys used by the adapter to check for an already +// existing managed object when converting the MTLModel to its related +// NSManagedObject. +// +// The adapter will first map any keys provided by this method to the correct +// keys in managedObjectKeysByPropertyKey. +// +// The adapter will then perform a fetch request in the provided context for a +// managed object that matches the MTLModel's managedObjectEntityName and has +// equal values set for the property keys on the MTLModel. +// +// The managed object returned by the fetch request will then be set with all +// values from the MTLModel that the managed object is being converted from. +// +// If a property value of our MTLModel is yet another MTLModel which needs to be +// converted to a managed object, the class for that MTLModel can also implement +// this method to perform its own uniqing. +// +// For example: +// 1. An MTLModel subclass has id_number = 10. +// 2. An NSManagedObject accessible to the adapter's context has idnumber = 10. +// 3. managedObjectKeysByPropertyKey returns @{@"id_number" : @"idnumber"} +// 4. propertyKeysForManagedObjectUniquing returns +// [NSSet setWithObject:@"id_number"]; +// 5. Then our fetch request may return this managed object (or another managed +// object with idnumber = 10). +// +// NOTE: If multiple managed objects follow the same uniquing criteria only one +// of them will be set with our MTLModel's values. ++ (NSSet *)propertyKeysForManagedObjectUniquing; + +// Specifies how to convert the given property key to a managed object +// attribute. If reversible, the transformer will also be used to convert the +// managed object attribute back to the property. +// +// If the receiver implements a `+EntityAttributeTransformer` method, +// MTLManagedObjectAdapter will use the result of that method instead. +// +// Returns a value transformer, or nil if no transformation should be performed. ++ (NSValueTransformer *)entityAttributeTransformerForKey:(NSString *)key; + +// Specifies the MTLModel subclasses that should be deserialized to the +// receiver's property keys when a property key corresponds to an entity +// relationship. +// +// In other words, the dictionary returned by this method is used to decode +// managed object relationships into MTLModels (or NSArrays or NSSets thereof) +// set on the receiver. +// +// If a property key is omitted from the returned dictionary, but present in +// +managedObjectKeysByPropertyKey, and the receiver's +managedObjectEntity has +// a relationship at the corresponding key, an exception will be thrown during +// deserialization. +// +// Subclasses overriding this method should combine their values with those of +// `super`. +// +// Returns a dictionary mapping property keys to the Class objects that should +// be used. ++ (NSDictionary *)relationshipModelClassesByPropertyKey; + +// Overridden to deserialize a different class instead of the receiver, based on +// information in the provided object. +// +// This is mostly useful for class clusters, where the abstract base class would +// be passed into +[MTLManagedObjectAdapter +// modelOfClass:fromManagedObject:error:], but a subclass should be instantiated +// instead. +// +// managedObject - The object that will be deserialized. +// +// Returns the class that should be instantiated (which may be the receiver), or +// nil to abort parsing (e.g., if the data is invalid). ++ (Class)classForDeserializingManagedObject:(NSManagedObject *)managedObject; + +// Overriden when merging the value of the given key on the receiver with the +// value of the same key from the given `NSManagedObject` requires custom +// handling. +// +// By default, this method is not implemented, and precedence will be given to +// the value of the receiving model implicitly. +// +// When implemented, this method is called when an existing `NSManagedObject` +// is found for the receiving model, before updating the `NSManagedObject`'s +// properties. +// +// When implementing, you should use `+managedObjectKeysByPropertyKey` to map +// the given `key` to the appropriate `NSManagedObject` property. +- (void)mergeValueForKey:(NSString *)key fromManagedObject:(NSManagedObject *)managedObject; + +// Overriden when merging values on the receiver with the given +// `NSManagedObject` requires custom handling. +// +// By default, this method is not implemented, and precedence will be given to +// the values of the receiving model implicitly. +// +// When implemented, this method is called when an existing `NSManagedObject` +// is found for the receiving model, before updating the `NSManagedObject`'s +// properties. +// +// When implementing, you should use `+managedObjectKeysByPropertyKey` to map +// the given `key` to the appropriate `NSManagedObject` property. +// +// If you have also implemented `mergeValueForKey:fromManagedObject:` you have +// to make sure to call `mergeValueForKey:fromManagedObject:` from this method +// when appropriate. +- (void)mergeValuesForKeysFromManagedObject:(NSManagedObject *)managedObject; + +@end + +// The domain for errors originating from MTLManagedObjectAdapter. +extern NSString * const AWSMTLManagedObjectAdapterErrorDomain; + +// +classForDeserializingManagedObject: returned nil for the given object. +extern const NSInteger AWSMTLManagedObjectAdapterErrorNoClassFound; + +// An NSManagedObject failed to initialize. +extern const NSInteger AWSMTLManagedObjectAdapterErrorInitializationFailed; + +// The managed object key specified by +managedObjectKeysByPropertyKey does not +// exist in the NSEntityDescription. +extern const NSInteger AWSMTLManagedObjectAdapterErrorInvalidManagedObjectKey; + +// The managed object property specified has a type that isn't supported by +// MTLManagedObjectAdapter. +extern const NSInteger AWSMTLManagedObjectAdapterErrorUnsupportedManagedObjectPropertyType; + +// The fetch request to find an existing managed object based on +// `+propertyKeysForManagedObjectUniquing` failed. +extern const NSInteger AWSMTLManagedObjectAdapterErrorUniqueFetchRequestFailed; + +// A MTLModel property cannot be serialized to or deserialized from an +// NSManagedObject relationship. +// +// For a to-one relationship, this means that the property does not contain +// a MTLModel, or the MTLModel does not conform to . +// +// For a to-many relationship, this means that the property does not contain an +// NSArray or NSSet of MTLModel instances. +extern const NSInteger AWSMTLManagedObjectAdapterErrorUnsupportedRelationshipClass; + +// The model's implementation of +managedObjectKeysByPropertyKey included a key +// which does not actually exist in +propertyKeys. +extern const NSInteger AWSMTLManagedObjectAdapterErrorInvalidManagedObjectMapping; + +// Converts a MTLModel object to and from an NSManagedObject. +@interface AWSMTLManagedObjectAdapter : NSObject + +// Attempts to deserialize an NSManagedObject into a MTLModel object. +// +// modelClass - The MTLModel subclass to return. This class must conform to +// . This argument must not be nil. +// managedObject - The managed object to deserialize. If this argument is nil, +// the method returns nil. +// error - If not NULL, this may be set to an error that occurs during +// deserialization or initializing an instance of `modelClass`. +// +// Returns an instance of `modelClass` upon success, or nil if an error +// occurred. ++ (id)modelOfClass:(Class)modelClass fromManagedObject:(NSManagedObject *)managedObject error:(NSError **)error; + +// Serializes a MTLModel into an NSManagedObject. +// +// model - The model object to serialize. This argument must not be nil. +// context - The context into which to insert the created managed object. This +// argument must not be nil. +// error - If not NULL, this may be set to an error that occurs during +// serialization or insertion. ++ (id)managedObjectFromModel:(AWSMTLModel *)model insertingIntoContext:(NSManagedObjectContext *)context error:(NSError **)error; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLModel+NSCoding.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLModel+NSCoding.h new file mode 100755 index 0000000..336b780 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLModel+NSCoding.h @@ -0,0 +1,130 @@ +// +// MTLModel+NSCoding.h +// Mantle +// +// Created by Justin Spahr-Summers on 2013-02-12. +// Copyright (c) 2013 GitHub. All rights reserved. +// + +#import "AWSMTLModel.h" + +void awsmtl_loadMTLNSCoding(); + +// Defines how a MTLModel property key should be encoded into an archive. +// +// MTLModelEncodingBehaviorExcluded - The property should never be encoded. +// MTLModelEncodingBehaviorUnconditional - The property should always be +// encoded. +// MTLModelEncodingBehaviorConditional - The object should be encoded only +// if unconditionally encoded elsewhere. +// This should only be used for object +// properties. +typedef enum : NSUInteger { + AWSMTLModelEncodingBehaviorExcluded = 0, + AWSMTLModelEncodingBehaviorUnconditional, + AWSMTLModelEncodingBehaviorConditional, +} AWSMTLModelEncodingBehavior; + +// Implements default archiving and unarchiving behaviors for MTLModel. +@interface AWSMTLModel (NSCoding) + +// Initializes the receiver from an archive. +// +// This will decode the original +modelVersion of the archived object, then +// invoke -decodeValueForKey:withCoder:modelVersion: for each of the receiver's +// +propertyKeys. +// +// Returns an initialized model object, or nil if a decoding error occurred. +- (id)initWithCoder:(NSCoder *)coder; + +// Archives the receiver using the given coder. +// +// This will encode the receiver's +modelVersion, then the receiver's properties +// according to the behaviors specified in +encodingBehaviorsByPropertyKey. +- (void)encodeWithCoder:(NSCoder *)coder; + +// Determines how the +propertyKeys of the class are encoded into an archive. +// The values of this dictionary should be boxed MTLModelEncodingBehavior +// values. +// +// Any keys not present in the dictionary will be excluded from the archive. +// +// Subclasses overriding this method should combine their values with those of +// `super`. +// +// Returns a dictionary mapping the receiver's +propertyKeys to default encoding +// behaviors. If a property is an object with `weak` semantics, the default +// behavior is MTLModelEncodingBehaviorConditional; otherwise, the default is +// MTLModelEncodingBehaviorUnconditional. ++ (NSDictionary *)encodingBehaviorsByPropertyKey; + +// Determines the classes that are allowed to be decoded for each of the +// receiver's properties when using . The values of this +// dictionary should be NSArrays of Class objects. +// +// If any encodable keys (as determined by +encodingBehaviorsByPropertyKey) are +// not present in the dictionary, an exception will be thrown during secure +// encoding or decoding. +// +// Subclasses overriding this method should combine their values with those of +// `super`. +// +// Returns a dictionary mapping the receiver's encodable keys (as determined by +// +encodingBehaviorsByPropertyKey) to default allowed classes, based on the +// type that each property is declared as. If type of an encodable property +// cannot be determined (e.g., it is declared as `id`), it will be omitted from +// the dictionary, and subclasses must provide a valid value to prevent an +// exception being thrown during encoding/decoding. ++ (NSDictionary *)allowedSecureCodingClassesByPropertyKey; + +// Decodes the value of the given property key from an archive. +// +// By default, this method looks for a `-decodeWithCoder:modelVersion:` +// method on the receiver, and invokes it if found. +// +// If the custom method is not implemented and `coder` does not require secure +// coding, `-[NSCoder decodeObjectForKey:]` will be invoked with the given +// `key`. +// +// If the custom method is not implemented and `coder` requires secure coding, +// `-[NSCoder decodeObjectOfClasses:forKey:]` will be invoked with the +// information from +allowedSecureCodingClassesByPropertyKey and the given `key`. The +// receiver must conform to for this to work correctly. +// +// key - The property key to decode the value for. This argument cannot +// be nil. +// coder - The NSCoder representing the archive being decoded. This +// argument cannot be nil. +// modelVersion - The version of the original model object that was encoded. +// +// Returns the decoded and boxed value, or nil if the key was not present. +- (id)decodeValueForKey:(NSString *)key withCoder:(NSCoder *)coder modelVersion:(NSUInteger)modelVersion; + +// The version of this MTLModel subclass. +// +// This version number is saved in archives so that later model changes can be +// made backwards-compatible with old versions. +// +// Subclasses should override this method to return a higher version number +// whenever a breaking change is made to the model. +// +// Returns 0. ++ (NSUInteger)modelVersion; + +@end + +// This method must be overridden to support archives created by older versions +// of Mantle (before the `MTLModel+NSCoding` interface existed). +@interface AWSMTLModel (OldArchiveSupport) + +// Converts an archived external representation to a dictionary suitable for +// passing to -initWithDictionary:. +// +// externalRepresentation - The decoded external representation of the receiver. +// fromVersion - The model version at the time the external +// representation was encoded. +// +// Returns nil by default, indicating that conversion failed. ++ (NSDictionary *)dictionaryValueFromArchivedExternalRepresentation:(NSDictionary *)externalRepresentation version:(NSUInteger)fromVersion; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLModel.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLModel.h new file mode 100755 index 0000000..7c02c99 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLModel.h @@ -0,0 +1,125 @@ +// +// MTLModel.h +// Mantle +// +// Created by Justin Spahr-Summers on 2012-09-11. +// Copyright (c) 2012 GitHub. All rights reserved. +// + +#import + +// An abstract base class for model objects, using reflection to provide +// sensible default behaviors. +// +// The default implementations of , -hash, and -isEqual: make use of +// the +propertyKeys method. +@interface AWSMTLModel : NSObject + +// Returns a new instance of the receiver initialized using +// -initWithDictionary:error:. ++ (instancetype)modelWithDictionary:(NSDictionary *)dictionaryValue error:(NSError **)error; + +// Initializes the receiver with default values. +// +// This is the designated initializer for this class. +- (instancetype)init; + +// Initializes the receiver using key-value coding, setting the keys and values +// in the given dictionary. +// +// Subclass implementations may override this method, calling the super +// implementation, in order to perform further processing and initialization +// after deserialization. +// +// dictionaryValue - Property keys and values to set on the receiver. Any NSNull +// values will be converted to nil before being used. KVC +// validation methods will automatically be invoked for all of +// the properties given. If nil, this method is equivalent to +// -init. +// error - If not NULL, this may be set to any error that occurs +// (like a KVC validation error). +// +// Returns an initialized model object, or nil if validation failed. +- (instancetype)initWithDictionary:(NSDictionary *)dictionaryValue error:(NSError **)error; + +// Returns the keys for all @property declarations, except for `readonly` +// properties without ivars, or properties on MTLModel itself. ++ (NSSet *)propertyKeys; + +// A dictionary representing the properties of the receiver. +// +// The default implementation combines the values corresponding to all +// +propertyKeys into a dictionary, with any nil values represented by NSNull. +// +// This property must never be nil. +@property (nonatomic, copy, readonly) NSDictionary *dictionaryValue; + +// Merges the value of the given key on the receiver with the value of the same +// key from the given model object, giving precedence to the other model object. +// +// By default, this method looks for a `-mergeFromModel:` method on the +// receiver, and invokes it if found. If not found, and `model` is not nil, the +// value for the given key is taken from `model`. +- (void)mergeValueForKey:(NSString *)key fromModel:(AWSMTLModel *)model; + +// Merges the values of the given model object into the receiver, using +// -mergeValueForKey:fromModel: for each key in +propertyKeys. +// +// `model` must be an instance of the receiver's class or a subclass thereof. +- (void)mergeValuesForKeysFromModel:(AWSMTLModel *)model; + +// Compares the receiver with another object for equality. +// +// The default implementation is equivalent to comparing both models' +// -dictionaryValue. +// +// Note that this may lead to infinite loops if the receiver holds a circular +// reference to another MTLModel and both use the default behavior. +// It is recommended to override -isEqual: in this scenario. +- (BOOL)isEqual:(id)object; + +// A string that describes the contents of the receiver. +// +// The default implementation is based on the receiver's class and its +// -dictionaryValue. +// +// Note that this may lead to infinite loops if the receiver holds a circular +// reference to another MTLModel and both use the default behavior. +// It is recommended to override -description in this scenario. +- (NSString *)description; + +@end + +// Implements validation logic for MTLModel. +@interface AWSMTLModel (Validation) + +// Validates the model. +// +// The default implementation simply invokes -validateValue:forKey:error: with +// all +propertyKeys and their current value. If -validateValue:forKey:error: +// returns a new value, the property is set to that new value. +// +// error - If not NULL, this may be set to any error that occurs during +// validation +// +// Returns YES if the model is valid, or NO if the validation failed. +- (BOOL)validate:(NSError **)error; + +@end + +@interface AWSMTLModel (Unavailable) + ++ (instancetype)modelWithDictionary:(NSDictionary *)dictionaryValue __attribute__((deprecated("Replaced by +modelWithDictionary:error:"))); +- (instancetype)initWithDictionary:(NSDictionary *)dictionaryValue __attribute__((deprecated("Replaced by -initWithDictionary:error:"))); + ++ (instancetype)modelWithExternalRepresentation:(NSDictionary *)externalRepresentation __attribute__((deprecated("Replaced by -[MTLJSONAdapter initWithJSONDictionary:modelClass:]"))); +- (instancetype)initWithExternalRepresentation:(NSDictionary *)externalRepresentation __attribute__((deprecated("Replaced by -[MTLJSONAdapter initWithJSONDictionary:modelClass:]"))); + +@property (nonatomic, copy, readonly) NSDictionary *externalRepresentation __attribute__((deprecated("Replaced by MTLJSONAdapter.JSONDictionary"))); + ++ (NSDictionary *)externalRepresentationKeyPathsByPropertyKey __attribute__((deprecated("Replaced by +JSONKeyPathsByPropertyKey in "))); ++ (NSValueTransformer *)transformerForKey:(NSString *)key __attribute__((deprecated("Replaced by +JSONTransformerForKey: in "))); + ++ (NSDictionary *)migrateExternalRepresentation:(NSDictionary *)externalRepresentation fromVersion:(NSUInteger)fromVersion __attribute__((deprecated("Replaced by -decodeValueForKey:withCoder:modelVersion:"))); + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLValueTransformer.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLValueTransformer.h new file mode 100755 index 0000000..f8026e6 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMTLValueTransformer.h @@ -0,0 +1,29 @@ +// +// MTLValueTransformer.h +// Mantle +// +// Created by Justin Spahr-Summers on 2012-09-11. +// Copyright (c) 2012 GitHub. All rights reserved. +// + +#import + +typedef id (^AWSMTLValueTransformerBlock)(id); + +// +// A value transformer supporting block-based transformation. +// +@interface AWSMTLValueTransformer : NSValueTransformer + +// Returns a transformer which transforms values using the given block. Reverse +// transformations will not be allowed. ++ (instancetype)transformerWithBlock:(AWSMTLValueTransformerBlock)transformationBlock; + +// Returns a transformer which transforms values using the given block, for +// forward or reverse transformations. ++ (instancetype)reversibleTransformerWithBlock:(AWSMTLValueTransformerBlock)transformationBlock; + +// Returns a transformer which transforms values using the given blocks. ++ (instancetype)reversibleTransformerWithForwardBlock:(AWSMTLValueTransformerBlock)forwardBlock reverseBlock:(AWSMTLValueTransformerBlock)reverseBlock; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMantle.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMantle.h new file mode 100755 index 0000000..0ce2689 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSMantle.h @@ -0,0 +1,26 @@ +// +// Mantle.h +// Mantle +// +// Created by Justin Spahr-Summers on 2012-09-04. +// Copyright (c) 2012 GitHub. All rights reserved. +// + +#import + +//! Project version number for Mantle. +FOUNDATION_EXPORT double AWSMantleVersionNumber; + +//! Project version string for Mantle. +FOUNDATION_EXPORT const unsigned char AWSMantleVersionString[]; + +#import "AWSMTLJSONAdapter.h" +#import "AWSMTLManagedObjectAdapter.h" +#import "AWSMTLModel.h" +#import "AWSMTLModel+NSCoding.h" +#import "AWSMTLValueTransformer.h" +#import "NSArray+AWSMTLManipulationAdditions.h" +#import "NSDictionary+AWSMTLManipulationAdditions.h" +#import "NSObject+AWSMTLComparisonAdditions.h" +#import "NSValueTransformer+AWSMTLInversionAdditions.h" +#import "NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSModel.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSModel.h new file mode 100755 index 0000000..1adbb0c --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSModel.h @@ -0,0 +1,38 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import "AWSMantle.h" + +@interface AWSModel : AWSMTLModel + +@end + +@interface AWSModelUtility : NSObject + ++ (NSDictionary *)mapMTLDictionaryFromJSONArrayDictionary:(NSDictionary *)JSONArrayDictionary + arrayElementType:(NSString *)arrayElementType + withModelClass:(Class)modelClass; ++ (NSDictionary *)JSONArrayDictionaryFromMapMTLDictionary:(NSDictionary *)mapMTLDictionary + arrayElementType:(NSString *)arrayElementType; + ++ (NSArray *)mapMTLArrayFromJSONArray:(NSArray *)JSONArray + withModelClass:(Class)modelClass; ++ (NSArray *)JSONArrayFromMapMTLArray:(NSArray *)mapMTLArray; + ++ (NSDictionary *)mapMTLDictionaryFromJSONDictionary:(NSDictionary *)JSONDictionary + withModelClass:(Class)modelClass; ++ (NSDictionary *)JSONDictionaryFromMapMTLDictionary:(NSDictionary *)mapMTLDictionary; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSNetworking.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSNetworking.h new file mode 100755 index 0000000..e1fa491 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSNetworking.h @@ -0,0 +1,212 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSModel.h" + +FOUNDATION_EXPORT NSString *const AWSNetworkingErrorDomain; +typedef NS_ENUM(NSInteger, AWSNetworkingErrorType) { + AWSNetworkingErrorUnknown, + AWSNetworkingErrorCancelled +}; + +typedef NS_ENUM(NSInteger, AWSNetworkingRetryType) { + AWSNetworkingRetryTypeUnknown, + AWSNetworkingRetryTypeShouldNotRetry, + AWSNetworkingRetryTypeShouldRetry, + AWSNetworkingRetryTypeShouldRefreshCredentialsAndRetry, + AWSNetworkingRetryTypeShouldCorrectClockSkewAndRetry, + AWSNetworkingRetryTypeResetStreamAndRetry +}; + +@class AWSNetworkingConfiguration; +@class AWSNetworkingRequest; +@class AWSTask<__covariant ResultType>; + +typedef void (^AWSNetworkingUploadProgressBlock) (int64_t bytesSent, int64_t totalBytesSent, int64_t totalBytesExpectedToSend); +typedef void (^AWSNetworkingDownloadProgressBlock) (int64_t bytesWritten, int64_t totalBytesWritten, int64_t totalBytesExpectedToWrite); + +#pragma mark - AWSHTTPMethod + +typedef NS_ENUM(NSInteger, AWSHTTPMethod) { + AWSHTTPMethodUnknown, + AWSHTTPMethodGET, + AWSHTTPMethodHEAD, + AWSHTTPMethodPOST, + AWSHTTPMethodPUT, + AWSHTTPMethodPATCH, + AWSHTTPMethodDELETE +}; + +@interface NSString (AWSHTTPMethod) + ++ (instancetype)aws_stringWithHTTPMethod:(AWSHTTPMethod)HTTPMethod; + +@end + +#pragma mark - AWSNetworking + +@interface AWSNetworking : NSObject + +- (instancetype)initWithConfiguration:(AWSNetworkingConfiguration *)configuration; + +- (AWSTask *)sendRequest:(AWSNetworkingRequest *)request; + +@end + +#pragma mark - Protocols + +@protocol AWSURLRequestSerializer + +@required +- (AWSTask *)validateRequest:(NSURLRequest *)request; +- (AWSTask *)serializeRequest:(NSMutableURLRequest *)request + headers:(NSDictionary *)headers + parameters:(NSDictionary *)parameters; + +@end + +@protocol AWSNetworkingRequestInterceptor + +@required +- (AWSTask *)interceptRequest:(NSMutableURLRequest *)request; + +@end + +@protocol AWSNetworkingHTTPResponseInterceptor + +@required +- (AWSTask *)interceptResponse:(NSHTTPURLResponse *)response + data:(id)data + originalRequest:(NSURLRequest *)originalRequest + currentRequest:(NSURLRequest *)currentRequest; + +@end + +@protocol AWSHTTPURLResponseSerializer + +@required + +- (BOOL)validateResponse:(NSHTTPURLResponse *)response + fromRequest:(NSURLRequest *)request + data:(id)data + error:(NSError *__autoreleasing *)error; +- (id)responseObjectForResponse:(NSHTTPURLResponse *)response + originalRequest:(NSURLRequest *)originalRequest + currentRequest:(NSURLRequest *)currentRequest + data:(id)data + error:(NSError *__autoreleasing *)error; + +@end + +@protocol AWSURLRequestRetryHandler + +@required + +@property (nonatomic, assign) uint32_t maxRetryCount; + +- (AWSNetworkingRetryType)shouldRetry:(uint32_t)currentRetryCount + originalRequest:(AWSNetworkingRequest *)originalRequest + response:(NSHTTPURLResponse *)response + data:(NSData *)data + error:(NSError *)error; + +- (NSTimeInterval)timeIntervalForRetry:(uint32_t)currentRetryCount + response:(NSHTTPURLResponse *)response + data:(NSData *)data + error:(NSError *)error; + +@optional + +- (NSDictionary *)resetParameters:(NSDictionary *)parameters; + +@end + + +#pragma mark - AWSNetworkingConfiguration + +@interface AWSNetworkingConfiguration : NSObject + +@property (nonatomic, readonly) NSURL *URL; +@property (nonatomic, strong) NSURL *baseURL; +@property (nonatomic, strong) NSString *URLString; +@property (nonatomic, assign) AWSHTTPMethod HTTPMethod; +@property (nonatomic, strong) NSDictionary *headers; +@property (nonatomic, assign) BOOL allowsCellularAccess; +@property (nonatomic, strong) NSString *sharedContainerIdentifier; + +@property (nonatomic, strong) id requestSerializer; +@property (nonatomic, strong) NSArray> *requestInterceptors; +@property (nonatomic, strong) id responseSerializer; +@property (nonatomic, strong) NSArray> *responseInterceptors; +@property (nonatomic, strong) id retryHandler; + +/** + The maximum number of retries for failed requests. The value needs to be between 0 and 10 inclusive. If set to higher than 10, it becomes 10. + */ +@property (nonatomic, assign) uint32_t maxRetryCount; + +/** + The timeout interval to use when waiting for additional data. + */ +@property (nonatomic, assign) NSTimeInterval timeoutIntervalForRequest; + +/** + The maximum amount of time that a resource request should be allowed to take. + */ +@property (nonatomic, assign) NSTimeInterval timeoutIntervalForResource; + +@end + +#pragma mark - AWSNetworkingRequest + +@interface AWSNetworkingRequest : AWSNetworkingConfiguration + +@property (nonatomic, strong) NSDictionary *parameters; +@property (nonatomic, strong) NSURL *uploadingFileURL; +@property (nonatomic, strong) NSURL *downloadingFileURL; +@property (nonatomic, assign) BOOL shouldWriteDirectly; + +@property (nonatomic, copy) AWSNetworkingUploadProgressBlock uploadProgress; +@property (nonatomic, copy) AWSNetworkingDownloadProgressBlock downloadProgress; + +@property (readonly, nonatomic, strong) NSURLSessionTask *task; +@property (readonly, nonatomic, assign, getter = isCancelled) BOOL cancelled; + +- (void)assignProperties:(AWSNetworkingConfiguration *)configuration; +- (void)cancel; +- (void)pause; + +@end + +@interface AWSRequest : AWSModel + +@property (nonatomic, copy) AWSNetworkingUploadProgressBlock uploadProgress; +@property (nonatomic, copy) AWSNetworkingDownloadProgressBlock downloadProgress; +@property (nonatomic, assign, readonly, getter = isCancelled) BOOL cancelled; +@property (nonatomic, strong) NSURL *downloadingFileURL; + +- (AWSTask *)cancel; +- (AWSTask *)pause; + +@end + +@interface AWSNetworkingRequestInterceptor : NSObject + +@property (nonatomic, readonly) NSString *userAgent; + +- (instancetype)initWithUserAgent:(NSString *)userAgent; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTS.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTS.h new file mode 100755 index 0000000..eba548b --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTS.h @@ -0,0 +1,22 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + + + + +#import "AWSCore.h" +#import "AWSSTSService.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSModel.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSModel.h new file mode 100755 index 0000000..8a485e6 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSModel.h @@ -0,0 +1,483 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSNetworking.h" +#import "AWSModel.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSSTSErrorDomain; + +typedef NS_ENUM(NSInteger, AWSSTSErrorType) { + AWSSTSErrorUnknown, + AWSSTSErrorExpiredToken, + AWSSTSErrorIDPCommunicationError, + AWSSTSErrorIDPRejectedClaim, + AWSSTSErrorInvalidAuthorizationMessage, + AWSSTSErrorInvalidIdentityToken, + AWSSTSErrorMalformedPolicyDocument, + AWSSTSErrorPackedPolicyTooLarge, + AWSSTSErrorRegionDisabled, +}; + +@class AWSSTSAssumeRoleRequest; +@class AWSSTSAssumeRoleResponse; +@class AWSSTSAssumeRoleWithSAMLRequest; +@class AWSSTSAssumeRoleWithSAMLResponse; +@class AWSSTSAssumeRoleWithWebIdentityRequest; +@class AWSSTSAssumeRoleWithWebIdentityResponse; +@class AWSSTSAssumedRoleUser; +@class AWSSTSCredentials; +@class AWSSTSDecodeAuthorizationMessageRequest; +@class AWSSTSDecodeAuthorizationMessageResponse; +@class AWSSTSFederatedUser; +@class AWSSTSGetCallerIdentityRequest; +@class AWSSTSGetCallerIdentityResponse; +@class AWSSTSGetFederationTokenRequest; +@class AWSSTSGetFederationTokenResponse; +@class AWSSTSGetSessionTokenRequest; +@class AWSSTSGetSessionTokenResponse; + +/** + + */ +@interface AWSSTSAssumeRoleRequest : AWSRequest + + +/** +

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds.

This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable durationSeconds; + +/** +

A unique identifier that is used by third parties when assuming roles in their customers' accounts. For each role that the third party can assume, they should instruct their customers to ensure the role's trust policy checks for the external ID that the third party generated. Each time the third party assumes the role, they should pass the customer's external ID. The external ID is useful in order to help third parties bind a role to the customer who created it. For more information about the external ID, see How to Use an External ID When Granting Access to Your AWS Resources to a Third Party in the IAM User Guide.

The regex used to validated this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@:\/-

+ */ +@property (nonatomic, strong) NSString * _Nullable externalId; + +/** +

An IAM policy in JSON format.

This parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both (the intersection of) the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

+ */ +@property (nonatomic, strong) NSString * _Nullable policy; + +/** +

The Amazon Resource Name (ARN) of the role to assume.

+ */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** +

An identifier for the assumed role session.

Use the role session name to uniquely identify a session when the same role is assumed by different principals or for different reasons. In cross-account scenarios, the role session name is visible to, and can be logged by the account that owns the role. The role session name is also used in the ARN of the assumed role principal. This means that subsequent cross-account API requests using the temporary security credentials will expose the role session name to the external account in their CloudTrail logs.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable roleSessionName; + +/** +

The identification number of the MFA device that is associated with the user who is making the AssumeRole call. Specify this value if the trust policy of the role being assumed includes a condition that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user).

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable serialNumber; + +/** +

The value provided by the MFA device, if the trust policy of the role being assumed requires MFA (that is, if the policy includes a condition that tests for MFA). If the role being assumed requires MFA and if the TokenCode value is missing or expired, the AssumeRole call returns an "access denied" error.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

+ */ +@property (nonatomic, strong) NSString * _Nullable tokenCode; + +@end + +/** +

Contains the response to a successful AssumeRole request, including temporary AWS credentials that can be used to make AWS requests.

+ */ +@interface AWSSTSAssumeRoleResponse : AWSModel + + +/** +

The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the resulting temporary security credentials. For example, you can reference these credentials as a principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName that you specified when you called AssumeRole.

+ */ +@property (nonatomic, strong) AWSSTSAssumedRoleUser * _Nullable assumedRoleUser; + +/** +

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

+ */ +@property (nonatomic, strong) AWSSTSCredentials * _Nullable credentials; + +/** +

A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable packedPolicySize; + +@end + +/** + + */ +@interface AWSSTSAssumeRoleWithSAMLRequest : AWSRequest + + +/** +

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. An expiration can also be specified in the SAML authentication response's SessionNotOnOrAfter value. The actual expiration time is whichever value is shorter.

This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Enabling SAML 2.0 Federated Users to Access the AWS Management Console in the IAM User Guide.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable durationSeconds; + +/** +

An IAM policy in JSON format.

The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

+ */ +@property (nonatomic, strong) NSString * _Nullable policy; + +/** +

The Amazon Resource Name (ARN) of the SAML provider in IAM that describes the IdP.

+ */ +@property (nonatomic, strong) NSString * _Nullable principalArn; + +/** +

The Amazon Resource Name (ARN) of the role that the caller is assuming.

+ */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** +

The base-64 encoded SAML authentication response provided by the IdP.

For more information, see Configuring a Relying Party and Adding Claims in the Using IAM guide.

+ */ +@property (nonatomic, strong) NSString * _Nullable SAMLAssertion; + +@end + +/** +

Contains the response to a successful AssumeRoleWithSAML request, including temporary AWS credentials that can be used to make AWS requests.

+ */ +@interface AWSSTSAssumeRoleWithSAMLResponse : AWSModel + + +/** +

The identifiers for the temporary security credentials that the operation returns.

+ */ +@property (nonatomic, strong) AWSSTSAssumedRoleUser * _Nullable assumedRoleUser; + +/** +

The value of the Recipient attribute of the SubjectConfirmationData element of the SAML assertion.

+ */ +@property (nonatomic, strong) NSString * _Nullable audience; + +/** +

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

+ */ +@property (nonatomic, strong) AWSSTSCredentials * _Nullable credentials; + +/** +

The value of the Issuer element of the SAML assertion.

+ */ +@property (nonatomic, strong) NSString * _Nullable issuer; + +/** +

A hash value based on the concatenation of the Issuer response value, the AWS account ID, and the friendly name (the last part of the ARN) of the SAML provider in IAM. The combination of NameQualifier and Subject can be used to uniquely identify a federated user.

The following pseudocode shows how the hash value is calculated:

BASE64 ( SHA1 ( "https://example.com/saml" + "123456789012" + "/MySAMLIdP" ) )

+ */ +@property (nonatomic, strong) NSString * _Nullable nameQualifier; + +/** +

A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable packedPolicySize; + +/** +

The value of the NameID element in the Subject element of the SAML assertion.

+ */ +@property (nonatomic, strong) NSString * _Nullable subject; + +/** +

The format of the name ID, as defined by the Format attribute in the NameID element of the SAML assertion. Typical examples of the format are transient or persistent.

If the format includes the prefix urn:oasis:names:tc:SAML:2.0:nameid-format, that prefix is removed. For example, urn:oasis:names:tc:SAML:2.0:nameid-format:transient is returned as transient. If the format includes any other prefix, the format is returned with no modifications.

+ */ +@property (nonatomic, strong) NSString * _Nullable subjectType; + +@end + +/** + + */ +@interface AWSSTSAssumeRoleWithWebIdentityRequest : AWSRequest + + +/** +

The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds.

This is separate from the duration of a console session that you might request using the returned credentials. The request to the federation endpoint for a console sign-in token takes a SessionDuration parameter that specifies the maximum length of the console session, separately from the DurationSeconds parameter on this API. For more information, see Creating a URL that Enables Federated Users to Access the AWS Management Console in the IAM User Guide.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable durationSeconds; + +/** +

An IAM policy in JSON format.

The policy parameter is optional. If you pass a policy, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRoleWithWebIdentity in the IAM User Guide.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

+ */ +@property (nonatomic, strong) NSString * _Nullable policy; + +/** +

The fully qualified host component of the domain name of the identity provider.

Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com and graph.facebook.com are the only supported identity providers for OAuth 2.0 access tokens. Do not include URL schemes and port numbers.

Do not specify this value for OpenID Connect ID tokens.

+ */ +@property (nonatomic, strong) NSString * _Nullable providerId; + +/** +

The Amazon Resource Name (ARN) of the role that the caller is assuming.

+ */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** +

An identifier for the assumed role session. Typically, you pass the name or identifier that is associated with the user who is using your application. That way, the temporary security credentials that your application will use are associated with that user. This session name is included as part of the ARN and assumed role ID in the AssumedRoleUser response element.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable roleSessionName; + +/** +

The OAuth 2.0 access token or OpenID Connect ID token that is provided by the identity provider. Your application must get this token by authenticating the user who is using your application with a web identity provider before the application makes an AssumeRoleWithWebIdentity call.

+ */ +@property (nonatomic, strong) NSString * _Nullable webIdentityToken; + +@end + +/** +

Contains the response to a successful AssumeRoleWithWebIdentity request, including temporary AWS credentials that can be used to make AWS requests.

+ */ +@interface AWSSTSAssumeRoleWithWebIdentityResponse : AWSModel + + +/** +

The Amazon Resource Name (ARN) and the assumed role ID, which are identifiers that you can use to refer to the resulting temporary security credentials. For example, you can reference these credentials as a principal in a resource-based policy by using the ARN or assumed role ID. The ARN and ID include the RoleSessionName that you specified when you called AssumeRole.

+ */ +@property (nonatomic, strong) AWSSTSAssumedRoleUser * _Nullable assumedRoleUser; + +/** +

The intended audience (also known as client ID) of the web identity token. This is traditionally the client identifier issued to the application that requested the web identity token.

+ */ +@property (nonatomic, strong) NSString * _Nullable audience; + +/** +

The temporary security credentials, which include an access key ID, a secret access key, and a security token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

+ */ +@property (nonatomic, strong) AWSSTSCredentials * _Nullable credentials; + +/** +

A percentage value that indicates the size of the policy in packed form. The service rejects any policy with a packed size greater than 100 percent, which means the policy exceeded the allowed space.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable packedPolicySize; + +/** +

The issuing authority of the web identity token presented. For OpenID Connect ID Tokens this contains the value of the iss field. For OAuth 2.0 access tokens, this contains the value of the ProviderId parameter that was passed in the AssumeRoleWithWebIdentity request.

+ */ +@property (nonatomic, strong) NSString * _Nullable provider; + +/** +

The unique user identifier that is returned by the identity provider. This identifier is associated with the WebIdentityToken that was submitted with the AssumeRoleWithWebIdentity call. The identifier is typically unique to the user and the application that acquired the WebIdentityToken (pairwise identifier). For OpenID Connect ID tokens, this field contains the value returned by the identity provider as the token's sub (Subject) claim.

+ */ +@property (nonatomic, strong) NSString * _Nullable subjectFromWebIdentityToken; + +@end + +/** +

The identifiers for the temporary security credentials that the operation returns.

+ Required parameters: [AssumedRoleId, Arn] + */ +@interface AWSSTSAssumedRoleUser : AWSModel + + +/** +

The ARN of the temporary security credentials that are returned from the AssumeRole action. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

+ */ +@property (nonatomic, strong) NSString * _Nullable arn; + +/** +

A unique identifier that contains the role ID and the role session name of the role that is being assumed. The role ID is generated by AWS when the role is created.

+ */ +@property (nonatomic, strong) NSString * _Nullable assumedRoleId; + +@end + +/** +

AWS credentials for API authentication.

+ Required parameters: [AccessKeyId, SecretAccessKey, SessionToken, Expiration] + */ +@interface AWSSTSCredentials : AWSModel + + +/** +

The access key ID that identifies the temporary security credentials.

+ */ +@property (nonatomic, strong) NSString * _Nullable accessKeyId; + +/** +

The date on which the current credentials expire.

+ */ +@property (nonatomic, strong) NSDate * _Nullable expiration; + +/** +

The secret access key that can be used to sign requests.

+ */ +@property (nonatomic, strong) NSString * _Nullable secretAccessKey; + +/** +

The token that users must pass to the service API to use the temporary credentials.

+ */ +@property (nonatomic, strong) NSString * _Nullable sessionToken; + +@end + +/** + + */ +@interface AWSSTSDecodeAuthorizationMessageRequest : AWSRequest + + +/** +

The encoded message that was returned with the response.

+ */ +@property (nonatomic, strong) NSString * _Nullable encodedMessage; + +@end + +/** +

A document that contains additional information about the authorization status of a request from an encoded message that is returned in response to an AWS request.

+ */ +@interface AWSSTSDecodeAuthorizationMessageResponse : AWSModel + + +/** +

An XML document that contains the decoded message.

+ */ +@property (nonatomic, strong) NSString * _Nullable decodedMessage; + +@end + +/** +

Identifiers for the federated user that is associated with the credentials.

+ Required parameters: [FederatedUserId, Arn] + */ +@interface AWSSTSFederatedUser : AWSModel + + +/** +

The ARN that specifies the federated user that is associated with the credentials. For more information about ARNs and how to use them in policies, see IAM Identifiers in Using IAM.

+ */ +@property (nonatomic, strong) NSString * _Nullable arn; + +/** +

The string that identifies the federated user associated with the credentials, similar to the unique ID of an IAM user.

+ */ +@property (nonatomic, strong) NSString * _Nullable federatedUserId; + +@end + +/** + + */ +@interface AWSSTSGetCallerIdentityRequest : AWSRequest + + +@end + +/** +

Contains the response to a successful GetCallerIdentity request, including information about the entity making the request.

+ */ +@interface AWSSTSGetCallerIdentityResponse : AWSModel + + +/** +

The AWS account ID number of the account that owns or contains the calling entity.

+ */ +@property (nonatomic, strong) NSString * _Nullable account; + +/** +

The AWS ARN associated with the calling entity.

+ */ +@property (nonatomic, strong) NSString * _Nullable arn; + +/** +

The unique identifier of the calling entity. The exact value depends on the type of entity making the call. The values returned are those listed in the aws:userid column in the Principal table found on the Policy Variables reference page in the IAM User Guide.

+ */ +@property (nonatomic, strong) NSString * _Nullable userId; + +@end + +/** + + */ +@interface AWSSTSGetFederationTokenRequest : AWSRequest + + +/** +

The duration, in seconds, that the session should last. Acceptable durations for federation sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions obtained using AWS account (root) credentials are restricted to a maximum of 3600 seconds (one hour). If the specified duration is longer than one hour, the session obtained by using AWS account (root) credentials defaults to one hour.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable durationSeconds; + +/** +

The name of the federated user. The name is used as an identifier for the temporary security credentials (such as Bob). For example, you can reference the federated user name in a resource-based policy, such as in an Amazon S3 bucket policy.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** +

An IAM policy in JSON format that is passed with the GetFederationToken call and evaluated along with the policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken. The passed policy is used to scope down the permissions that are available to the IAM user, by allowing only a subset of the permissions that are granted to the IAM user. The passed policy cannot grant more permissions than those granted to the IAM user. The final permissions for the federated user are the most restrictive set based on the intersection of the passed policy and the IAM user policy.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

The format for this parameter, as described by its regex pattern, is a string of characters up to 2048 characters in length. The characters can be any ASCII character from the space character to the end of the valid character list (\u0020-\u00FF). It can also include the tab (\u0009), linefeed (\u000A), and carriage return (\u000D) characters.

The policy plain text must be 2048 bytes or shorter. However, an internal conversion compresses it into a packed binary format with a separate limit. The PackedPolicySize response element indicates by percentage how close to the upper size limit the policy is, with 100% equaling the maximum allowed size.

For more information about how permissions work, see Permissions for GetFederationToken.

+ */ +@property (nonatomic, strong) NSString * _Nullable policy; + +@end + +/** +

Contains the response to a successful GetFederationToken request, including temporary AWS credentials that can be used to make AWS requests.

+ */ +@interface AWSSTSGetFederationTokenResponse : AWSModel + + +/** +

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

+ */ +@property (nonatomic, strong) AWSSTSCredentials * _Nullable credentials; + +/** +

Identifiers for the federated user associated with the credentials (such as arn:aws:sts::123456789012:federated-user/Bob or 123456789012:Bob). You can use the federated user's ARN in your resource-based policies, such as an Amazon S3 bucket policy.

+ */ +@property (nonatomic, strong) AWSSTSFederatedUser * _Nullable federatedUser; + +/** +

A percentage value indicating the size of the policy in packed form. The service rejects policies for which the packed size is greater than 100 percent of the allowed value.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable packedPolicySize; + +@end + +/** + + */ +@interface AWSSTSGetSessionTokenRequest : AWSRequest + + +/** +

The duration, in seconds, that the credentials should remain valid. Acceptable durations for IAM user sessions range from 900 seconds (15 minutes) to 129600 seconds (36 hours), with 43200 seconds (12 hours) as the default. Sessions for AWS account owners are restricted to a maximum of 3600 seconds (one hour). If the duration is longer than one hour, the session for AWS account owners defaults to one hour.

+ */ +@property (nonatomic, strong) NSNumber * _Nullable durationSeconds; + +/** +

The identification number of the MFA device that is associated with the IAM user who is making the GetSessionToken call. Specify this value if the IAM user has a policy that requires MFA authentication. The value is either the serial number for a hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user). You can find the device for an IAM user by going to the AWS Management Console and viewing the user's security credentials.

The regex used to validate this parameter is a string of characters consisting of upper- and lower-case alphanumeric characters with no spaces. You can also include underscores or any of the following characters: =,.@-

+ */ +@property (nonatomic, strong) NSString * _Nullable serialNumber; + +/** +

The value provided by the MFA device, if MFA is required. If any policy requires the IAM user to submit an MFA code, specify this value. If MFA authentication is required, and the user does not provide a code when requesting a set of temporary security credentials, the user will receive an "access denied" response when requesting resources that require MFA authentication.

The format for this parameter, as described by its regex pattern, is a sequence of six numeric digits.

+ */ +@property (nonatomic, strong) NSString * _Nullable tokenCode; + +@end + +/** +

Contains the response to a successful GetSessionToken request, including temporary AWS credentials that can be used to make AWS requests.

+ */ +@interface AWSSTSGetSessionTokenResponse : AWSModel + + +/** +

The temporary security credentials, which include an access key ID, a secret access key, and a security (or session) token.

Note: The size of the security token that STS APIs return is not fixed. We strongly recommend that you make no assumptions about the maximum size. As of this writing, the typical size is less than 4096 bytes, but that can vary. Also, future updates to AWS might require larger sizes.

+ */ +@property (nonatomic, strong) AWSSTSCredentials * _Nullable credentials; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSResources.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSResources.h new file mode 100755 index 0000000..ba03f12 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSResources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSSTSResources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSService.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSService.h new file mode 100755 index 0000000..5e22afb --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSTSService.h @@ -0,0 +1,351 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSCore.h" +#import "AWSSTSModel.h" +#import "AWSSTSResources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + AWS Security Token Service

The AWS Security Token Service (STS) is a web service that enables you to request temporary, limited-privilege credentials for AWS Identity and Access Management (IAM) users or for users that you authenticate (federated users). This guide provides descriptions of the STS API. For more detailed information about using this service, go to Temporary Security Credentials.

As an alternative to using the API, you can use one of the AWS SDKs, which consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to STS. For example, the SDKs take care of cryptographically signing requests, managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

For information about setting up signatures and authorization through the API, go to Signing AWS API Requests in the AWS General Reference. For general information about the Query API, go to Making Query Requests in Using IAM. For information about using security tokens with other AWS products, go to AWS Services That Work with IAM in the IAM User Guide.

If you're new to AWS and need additional technical information about a specific AWS product, you can find the product's technical documentation at http://aws.amazon.com/documentation/.

Endpoints

The AWS Security Token Service (STS) has a default endpoint of https://sts.amazonaws.com that maps to the US East (N. Virginia) region. Additional regions are available and are activated by default. For more information, see Activating and Deactivating AWS STS in an AWS Region in the IAM User Guide.

For information about STS endpoints, see Regions and Endpoints in the AWS General Reference.

Recording API requests

STS supports AWS CloudTrail, which is a service that records AWS calls for your AWS account and delivers log files to an Amazon S3 bucket. By using information collected by CloudTrail, you can determine what requests were successfully made to STS, who made the request, when it was made, and so on. To learn more about CloudTrail, including how to turn it on and find your log files, see the AWS CloudTrail User Guide.

+ */ +@interface AWSSTS : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let STS = AWSSTS.default() + + *Objective-C* + + AWSSTS *STS = [AWSSTS defaultSTS]; + + @return The default service client. + */ ++ (instancetype)defaultSTS; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSSTS.register(with: configuration!, forKey: "USWest2STS") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSSTS registerSTSWithConfiguration:configuration forKey:@"USWest2STS"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let STS = AWSSTS(forKey: "USWest2STS") + + *Objective-C* + + AWSSTS *STS = [AWSSTS STSForKey:@"USWest2STS"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerSTSWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerSTSWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSSTS.register(with: configuration!, forKey: "USWest2STS") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSSTS registerSTSWithConfiguration:configuration forKey:@"USWest2STS"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let STS = AWSSTS(forKey: "USWest2STS") + + *Objective-C* + + AWSSTS *STS = [AWSSTS STSForKey:@"USWest2STS"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)STSForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeSTSForKey:(NSString *)key; + +/** +

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide.

For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide.

The temporary security credentials are valid for the duration that you specified when calling AssumeRole, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role.

The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy

Using MFA with AssumeRole

You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces.

+ + @param request A container for the necessary parameters to execute the AssumeRole service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSAssumeRoleResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSAssumeRoleRequest + @see AWSSTSAssumeRoleResponse + */ +- (AWSTask *)assumeRole:(AWSSTSAssumeRoleRequest *)request; + +/** +

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) that you can use to access AWS resources that you might not normally have access to. Typically, you use AssumeRole for cross-account access or federation. For a comparison of AssumeRole with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

Important: You cannot call AssumeRole by using AWS root account credentials; access is denied. You must use credentials for an IAM user or an IAM role to call AssumeRole.

For cross-account access, imagine that you own multiple accounts and need to access resources in each account. You could create long-term credentials in each account to access those resources. However, managing all those credentials and remembering which one can access which account can be time consuming. Instead, you can create one set of long-term credentials in one account and then use temporary security credentials to access all the other accounts by assuming roles in those accounts. For more information about roles, see IAM Roles (Delegation and Federation) in the IAM User Guide.

For federation, you can, for example, grant single sign-on access to the AWS Management Console. If you already have an identity and authentication system in your corporate network, you don't have to recreate user identities in AWS in order to grant those user identities access to AWS. Instead, after a user has been authenticated, you call AssumeRole (and specify the role with the appropriate permissions) to get temporary security credentials for that user. With those temporary security credentials, you construct a sign-in URL that users can use to access the console. For more information, see Common Scenarios for Temporary Credentials in the IAM User Guide.

The temporary security credentials are valid for the duration that you specified when calling AssumeRole, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRole can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

To assume a role, your AWS account must be trusted by the role. The trust relationship is defined in the role's trust policy when the role is created. That trust policy states which accounts are allowed to delegate access to this account's role.

The user who wants to access the role must also have permissions delegated from the role's administrator. If the user is in a different account than the role, then the user's administrator must attach a policy that allows the user to call AssumeRole on the ARN of the role in the other account. If the user is in the same account as the role, then you can either attach a policy to the user (identical to the previous different account user), or you can add the user as a principal directly in the role's trust policy

Using MFA with AssumeRole

You can optionally include multi-factor authentication (MFA) information when you call AssumeRole. This is useful for cross-account scenarios in which you want to make sure that the user who is assuming the role has been authenticated using an AWS MFA device. In that scenario, the trust policy of the role being assumed includes a condition that tests for MFA authentication; if the caller does not include valid MFA information, the request to assume the role is denied. The condition in a trust policy that tests for MFA authentication might look like the following example.

"Condition": {"Bool": {"aws:MultiFactorAuthPresent": true}}

For more information, see Configuring MFA-Protected API Access in the IAM User Guide guide.

To use MFA with AssumeRole, you pass values for the SerialNumber and TokenCode parameters. The SerialNumber value identifies the user's hardware or virtual MFA device. The TokenCode is the time-based one-time password (TOTP) that the MFA devices produces.

+ + @param request A container for the necessary parameters to execute the AssumeRole service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSAssumeRoleRequest + @see AWSSTSAssumeRoleResponse + */ +- (void)assumeRole:(AWSSTSAssumeRoleRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSAssumeRoleResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

The temporary security credentials are valid for the duration that you specified when calling AssumeRole, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. The duration can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

For more information, see the following resources:

+ + @param request A container for the necessary parameters to execute the AssumeRoleWithSAML service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSAssumeRoleWithSAMLResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorIDPRejectedClaim`, `AWSSTSErrorInvalidIdentityToken`, `AWSSTSErrorExpiredToken`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSAssumeRoleWithSAMLRequest + @see AWSSTSAssumeRoleWithSAMLResponse + */ +- (AWSTask *)assumeRoleWithSAML:(AWSSTSAssumeRoleWithSAMLRequest *)request; + +/** +

Returns a set of temporary security credentials for users who have been authenticated via a SAML authentication response. This operation provides a mechanism for tying an enterprise identity store or directory to role-based AWS access without user-specific credentials or configuration. For a comparison of AssumeRoleWithSAML with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this operation consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS services.

The temporary security credentials are valid for the duration that you specified when calling AssumeRole, or until the time specified in the SAML authentication response's SessionNotOnOrAfter value, whichever is shorter. The duration can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRoleWithSAML can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by the intersection of both the access policy of the role that is being assumed, and the policy that you pass. This means that both policies must grant the permission for the action to be allowed. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithSAML, you must configure your SAML identity provider (IdP) to issue the claims required by AWS. Additionally, you must use AWS Identity and Access Management (IAM) to create a SAML provider entity in your AWS account that represents your identity provider, and create an IAM role that specifies this SAML provider in its trust policy.

Calling AssumeRoleWithSAML does not require the use of AWS security credentials. The identity of the caller is validated by using keys in the metadata document that is uploaded for the SAML provider entity for your identity provider.

Calling AssumeRoleWithSAML can result in an entry in your AWS CloudTrail logs. The entry includes the value in the NameID element of the SAML assertion. We recommend that you use a NameIDType that is not associated with any personally identifiable information (PII). For example, you could instead use the Persistent Identifier (urn:oasis:names:tc:SAML:2.0:nameid-format:persistent).

For more information, see the following resources:

+ + @param request A container for the necessary parameters to execute the AssumeRoleWithSAML service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorIDPRejectedClaim`, `AWSSTSErrorInvalidIdentityToken`, `AWSSTSErrorExpiredToken`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSAssumeRoleWithSAMLRequest + @see AWSSTSAssumeRoleWithSAMLResponse + */ +- (void)assumeRoleWithSAML:(AWSSTSAssumeRoleWithSAMLRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSAssumeRoleWithSAMLResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs.

The credentials are valid for the duration that you specified when calling AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

+ + @param request A container for the necessary parameters to execute the AssumeRoleWithWebIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSAssumeRoleWithWebIdentityResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorIDPRejectedClaim`, `AWSSTSErrorIDPCommunicationError`, `AWSSTSErrorInvalidIdentityToken`, `AWSSTSErrorExpiredToken`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSAssumeRoleWithWebIdentityRequest + @see AWSSTSAssumeRoleWithWebIdentityResponse + */ +- (AWSTask *)assumeRoleWithWebIdentity:(AWSSTSAssumeRoleWithWebIdentityRequest *)request; + +/** +

Returns a set of temporary security credentials for users who have been authenticated in a mobile or web application with a web identity provider, such as Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID Connect-compatible identity provider.

For mobile applications, we recommend that you use Amazon Cognito. You can use Amazon Cognito with the AWS SDK for iOS and the AWS SDK for Android to uniquely identify a user and supply the user with a consistent identity throughout the lifetime of an application.

To learn more about Amazon Cognito, see Amazon Cognito Overview in the AWS SDK for Android Developer Guide guide and Amazon Cognito Overview in the AWS SDK for iOS Developer Guide.

Calling AssumeRoleWithWebIdentity does not require the use of AWS security credentials. Therefore, you can distribute an application (for example, on mobile devices) that requests temporary security credentials without including long-term AWS credentials in the application, and without deploying server-based proxy services that use long-term AWS credentials. Instead, the identity of the caller is validated by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The temporary security credentials returned by this API consist of an access key ID, a secret access key, and a security token. Applications can use these temporary security credentials to sign calls to AWS service APIs.

The credentials are valid for the duration that you specified when calling AssumeRoleWithWebIdentity, which can be from 900 seconds (15 minutes) to a maximum of 3600 seconds (1 hour). The default is 1 hour.

The temporary security credentials created by AssumeRoleWithWebIdentity can be used to make API calls to any AWS service with the following exception: you cannot call the STS service's GetFederationToken or GetSessionToken APIs.

Optionally, you can pass an IAM access policy to this operation. If you choose not to pass a policy, the temporary security credentials that are returned by the operation have the permissions that are defined in the access policy of the role that is being assumed. If you pass a policy to this operation, the temporary security credentials that are returned by the operation have the permissions that are allowed by both the access policy of the role that is being assumed, and the policy that you pass. This gives you a way to further restrict the permissions for the resulting temporary security credentials. You cannot use the passed policy to grant permissions that are in excess of those allowed by the access policy of the role that is being assumed. For more information, see Permissions for AssumeRole, AssumeRoleWithSAML, and AssumeRoleWithWebIdentity in the IAM User Guide.

Before your application can call AssumeRoleWithWebIdentity, you must have an identity token from a supported identity provider and create a role that the application can assume. The role that your application assumes must trust the identity provider that is associated with the identity token. In other words, the identity provider must be specified in the role's trust policy.

Calling AssumeRoleWithWebIdentity can result in an entry in your AWS CloudTrail logs. The entry includes the Subject of the provided Web Identity Token. We recommend that you avoid using any personally identifiable information (PII) in this field. For example, you could instead use a GUID or a pairwise identifier, as suggested in the OIDC specification.

For more information about how to use web identity federation and the AssumeRoleWithWebIdentity API, see the following resources:

+ + @param request A container for the necessary parameters to execute the AssumeRoleWithWebIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorIDPRejectedClaim`, `AWSSTSErrorIDPCommunicationError`, `AWSSTSErrorInvalidIdentityToken`, `AWSSTSErrorExpiredToken`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSAssumeRoleWithWebIdentityRequest + @see AWSSTSAssumeRoleWithWebIdentityResponse + */ +- (void)assumeRoleWithWebIdentity:(AWSSTSAssumeRoleWithWebIdentityRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSAssumeRoleWithWebIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an action that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS actions additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS actions return an encoded authorization message. The documentation for an individual action indicates whether that action returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the action should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

+ + @param request A container for the necessary parameters to execute the DecodeAuthorizationMessage service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSDecodeAuthorizationMessageResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorInvalidAuthorizationMessage`. + + @see AWSSTSDecodeAuthorizationMessageRequest + @see AWSSTSDecodeAuthorizationMessageResponse + */ +- (AWSTask *)decodeAuthorizationMessage:(AWSSTSDecodeAuthorizationMessageRequest *)request; + +/** +

Decodes additional information about the authorization status of a request from an encoded message returned in response to an AWS request.

For example, if a user is not authorized to perform an action that he or she has requested, the request returns a Client.UnauthorizedOperation response (an HTTP 403 response). Some AWS actions additionally return an encoded message that can provide details about this authorization failure.

Only certain AWS actions return an encoded authorization message. The documentation for an individual action indicates whether that action returns an encoded message in addition to returning an HTTP code.

The message is encoded because the details of the authorization status can constitute privileged information that the user who requested the action should not see. To decode an authorization status message, a user must be granted permissions via an IAM policy to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage) action.

The decoded message includes the following type of information:

  • Whether the request was denied due to an explicit deny or due to the absence of an explicit allow. For more information, see Determining Whether a Request is Allowed or Denied in the IAM User Guide.

  • The principal who made the request.

  • The requested action.

  • The requested resource.

  • The values of condition keys in the context of the user's request.

+ + @param request A container for the necessary parameters to execute the DecodeAuthorizationMessage service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorInvalidAuthorizationMessage`. + + @see AWSSTSDecodeAuthorizationMessageRequest + @see AWSSTSDecodeAuthorizationMessageResponse + */ +- (void)decodeAuthorizationMessage:(AWSSTSDecodeAuthorizationMessageRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSDecodeAuthorizationMessageResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns details about the IAM identity whose credentials are used to call the API.

+ + @param request A container for the necessary parameters to execute the GetCallerIdentity service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSGetCallerIdentityResponse`. + + @see AWSSTSGetCallerIdentityRequest + @see AWSSTSGetCallerIdentityResponse + */ +- (AWSTask *)getCallerIdentity:(AWSSTSGetCallerIdentityRequest *)request; + +/** +

Returns details about the IAM identity whose credentials are used to call the API.

+ + @param request A container for the necessary parameters to execute the GetCallerIdentity service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSSTSGetCallerIdentityRequest + @see AWSSTSGetCallerIdentityResponse + */ +- (void)getCallerIdentity:(AWSSTSGetCallerIdentityRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSGetCallerIdentityResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. Because you must call the GetFederationToken action using the long-term security credentials of an IAM user, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

If you are creating a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.

The GetFederationToken action must be called by using the long-term AWS security credentials of an IAM user. You can also call GetFederationToken using the security credentials of an AWS root account, but we do not recommended it. Instead, we recommend that you create an IAM user for the purpose of the proxy application and then attach a policy to the IAM user that limits federated users to only the actions and resources that they need access to. For more information, see IAM Best Practices in the IAM User Guide.

The temporary security credentials that are obtained by using the long-term credentials of an IAM user are valid for the specified duration, from 900 seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default is 43200 seconds (12 hours). Temporary credentials that are obtained by using AWS root account credentials have a maximum duration of 3600 seconds (1 hour).

The temporary security credentials created by GetFederationToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot use these credentials to call any IAM APIs.

  • You cannot call any STS APIs except GetCallerIdentity.

Permissions

The permissions for the temporary security credentials returned by GetFederationToken are determined by a combination of the following:

  • The policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken.

  • The policy that is passed as a parameter in the call.

The passed policy is attached to the temporary security credentials that result from the GetFederationToken API call--that is, to the federated user. When the federated user makes an AWS request, AWS evaluates the policy attached to the federated user in combination with the policy or policies attached to the IAM user whose credentials were used to call GetFederationToken. AWS allows the federated user's request only when both the federated user and the IAM user are explicitly allowed to perform the requested action. The passed policy cannot grant more permissions than those that are defined in the IAM user policy.

A typical use case is that the permissions of the IAM user whose credentials are used to call GetFederationToken are designed to allow access to all the actions and resources that any federated user will need. Then, for individual users, you pass a policy to the operation that scopes down the permissions to a level that's appropriate to that individual user, using a policy that allows only a subset of permissions that are granted to the IAM user.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

For more information about how permissions work, see Permissions for GetFederationToken. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

+ + @param request A container for the necessary parameters to execute the GetFederationToken service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSGetFederationTokenResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSGetFederationTokenRequest + @see AWSSTSGetFederationTokenResponse + */ +- (AWSTask *)getFederationToken:(AWSSTSGetFederationTokenRequest *)request; + +/** +

Returns a set of temporary security credentials (consisting of an access key ID, a secret access key, and a security token) for a federated user. A typical use is in a proxy application that gets temporary security credentials on behalf of distributed applications inside a corporate network. Because you must call the GetFederationToken action using the long-term security credentials of an IAM user, this call is appropriate in contexts where those credentials can be safely stored, usually in a server-based application. For a comparison of GetFederationToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

If you are creating a mobile-based or browser-based app that can authenticate users using a web identity provider like Login with Amazon, Facebook, Google, or an OpenID Connect-compatible identity provider, we recommend that you use Amazon Cognito or AssumeRoleWithWebIdentity. For more information, see Federation Through a Web-based Identity Provider.

The GetFederationToken action must be called by using the long-term AWS security credentials of an IAM user. You can also call GetFederationToken using the security credentials of an AWS root account, but we do not recommended it. Instead, we recommend that you create an IAM user for the purpose of the proxy application and then attach a policy to the IAM user that limits federated users to only the actions and resources that they need access to. For more information, see IAM Best Practices in the IAM User Guide.

The temporary security credentials that are obtained by using the long-term credentials of an IAM user are valid for the specified duration, from 900 seconds (15 minutes) up to a maximium of 129600 seconds (36 hours). The default is 43200 seconds (12 hours). Temporary credentials that are obtained by using AWS root account credentials have a maximum duration of 3600 seconds (1 hour).

The temporary security credentials created by GetFederationToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot use these credentials to call any IAM APIs.

  • You cannot call any STS APIs except GetCallerIdentity.

Permissions

The permissions for the temporary security credentials returned by GetFederationToken are determined by a combination of the following:

  • The policy or policies that are attached to the IAM user whose credentials are used to call GetFederationToken.

  • The policy that is passed as a parameter in the call.

The passed policy is attached to the temporary security credentials that result from the GetFederationToken API call--that is, to the federated user. When the federated user makes an AWS request, AWS evaluates the policy attached to the federated user in combination with the policy or policies attached to the IAM user whose credentials were used to call GetFederationToken. AWS allows the federated user's request only when both the federated user and the IAM user are explicitly allowed to perform the requested action. The passed policy cannot grant more permissions than those that are defined in the IAM user policy.

A typical use case is that the permissions of the IAM user whose credentials are used to call GetFederationToken are designed to allow access to all the actions and resources that any federated user will need. Then, for individual users, you pass a policy to the operation that scopes down the permissions to a level that's appropriate to that individual user, using a policy that allows only a subset of permissions that are granted to the IAM user.

If you do not pass a policy, the resulting temporary security credentials have no effective permissions. The only exception is when the temporary security credentials are used to access a resource that has a resource-based policy that specifically allows the federated user to access the resource.

For more information about how permissions work, see Permissions for GetFederationToken. For information about using GetFederationToken to create temporary security credentials, see GetFederationToken—Federation Through a Custom Identity Broker.

+ + @param request A container for the necessary parameters to execute the GetFederationToken service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorMalformedPolicyDocument`, `AWSSTSErrorPackedPolicyTooLarge`, `AWSSTSErrorRegionDisabled`. + + @see AWSSTSGetFederationTokenRequest + @see AWSSTSGetFederationTokenResponse + */ +- (void)getFederationToken:(AWSSTSGetFederationTokenRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSGetFederationTokenResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to APIs that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The GetSessionToken action must be called by using the long-term AWS security credentials of the AWS account or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify, from 900 seconds (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default of 43200 seconds (12 hours); credentials that are created by using account credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 seconds (1 hour), with a default of 1 hour.

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM APIs unless MFA authentication information is included in the request.

  • You cannot call any STS API exceptAssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with root account credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The permissions associated with the temporary security credentials returned by GetSessionToken are based on the permissions associated with account or IAM user whose credentials are used to call the action. If GetSessionToken is called using root account credentials, the temporary credentials have root account permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

+ + @param request A container for the necessary parameters to execute the GetSessionToken service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSSTSGetSessionTokenResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorRegionDisabled`. + + @see AWSSTSGetSessionTokenRequest + @see AWSSTSGetSessionTokenResponse + */ +- (AWSTask *)getSessionToken:(AWSSTSGetSessionTokenRequest *)request; + +/** +

Returns a set of temporary credentials for an AWS account or IAM user. The credentials consist of an access key ID, a secret access key, and a security token. Typically, you use GetSessionToken if you want to use MFA to protect programmatic calls to specific AWS APIs like Amazon EC2 StopInstances. MFA-enabled IAM users would need to call GetSessionToken and submit an MFA code that is associated with their MFA device. Using the temporary security credentials that are returned from the call, IAM users can then make programmatic calls to APIs that require MFA authentication. If you do not supply a correct MFA code, then the API returns an access denied error. For a comparison of GetSessionToken with the other APIs that produce temporary credentials, see Requesting Temporary Security Credentials and Comparing the AWS STS APIs in the IAM User Guide.

The GetSessionToken action must be called by using the long-term AWS security credentials of the AWS account or an IAM user. Credentials that are created by IAM users are valid for the duration that you specify, from 900 seconds (15 minutes) up to a maximum of 129600 seconds (36 hours), with a default of 43200 seconds (12 hours); credentials that are created by using account credentials can range from 900 seconds (15 minutes) up to a maximum of 3600 seconds (1 hour), with a default of 1 hour.

The temporary security credentials created by GetSessionToken can be used to make API calls to any AWS service with the following exceptions:

  • You cannot call any IAM APIs unless MFA authentication information is included in the request.

  • You cannot call any STS API exceptAssumeRole or GetCallerIdentity.

We recommend that you do not call GetSessionToken with root account credentials. Instead, follow our best practices by creating one or more IAM users, giving them the necessary permissions, and using IAM users for everyday interaction with AWS.

The permissions associated with the temporary security credentials returned by GetSessionToken are based on the permissions associated with account or IAM user whose credentials are used to call the action. If GetSessionToken is called using root account credentials, the temporary credentials have root account permissions. Similarly, if GetSessionToken is called using the credentials of an IAM user, the temporary credentials have the same permissions as the IAM user.

For more information about using GetSessionToken to create temporary credentials, go to Temporary Credentials for Users in Untrusted Environments in the IAM User Guide.

+ + @param request A container for the necessary parameters to execute the GetSessionToken service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSSTSErrorDomain` domain and the following error code: `AWSSTSErrorRegionDisabled`. + + @see AWSSTSGetSessionTokenRequest + @see AWSSTSGetSessionTokenResponse + */ +- (void)getSessionToken:(AWSSTSGetSessionTokenRequest *)request completionHandler:(void (^ _Nullable)(AWSSTSGetSessionTokenResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSerialization.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSerialization.h new file mode 100755 index 0000000..930f488 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSerialization.h @@ -0,0 +1,171 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +// defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSXMLBuilderErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSXMLBuilderErrorType) { + // AWSJSON Validation related errors + AWSXMLBuilderUnknownError = 900, // Unknown Error found + AWSXMLBuilderDefinitionFileIsEmpty = 901, + AWSXMLBuilderUndefinedXMLNamespace = 902, + AWSXMLBuilderUndefinedActionRule = 903, + AWSXMLBuilderMissingRequiredXMLElements = 904, + AWSXMLBuilderInvalidXMLValue = 905, + AWSXMLBuilderUnCatchedRuleTypeInDifinitionFile = 906, +}; + +// defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSXMLParserErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSXMLParserErrorType) { + // AWSJSON Validation related errors + AWSXMLParserUnknownError, // Unknown Error found + AWSXMLParserNoTypeDefinitionInRule, // Unknown Type in JSON Definition (rules) file + AWSXMLParserUnHandledType, //Unhandled Type + AWSXMLParserUnExpectedType, //Unexpected type + AWSXMLParserDefinitionFileIsEmpty, //the rule is empty. + AWSXMLParserUnexpectedXMLElement, + AWSXMLParserXMLNameNotFoundInDefinition, //can not find the 'xmlname' key in definition file for unflattened xml list + AWSXMLParserMissingRequiredXMLElements, + AWSXMLParserInvalidXMLValue, +}; + +//defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSQueryParamBuilderErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSQueryParamBuilderErrorType) { + AWSQueryParamBuilderUnknownError, + AWSQueryParamBuilderDefinitionFileIsEmpty, + AWSQueryParamBuilderUndefinedActionRule, + AWSQueryParamBuilderInternalError, + AWSQueryParamBuilderInvalidParameter, +}; + +//defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSEC2ParamBuilderErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSEC2ParamBuilderErrorType) { + AWSEC2ParamBuilderUnknownError, + AWSEC2ParamBuilderDefinitionFileIsEmpty, + AWSEC2ParamBuilderUndefinedActionRule, + AWSEC2ParamBuilderInternalError, + AWSEC2ParamBuilderInvalidParameter, +}; + +//defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSJSONBuilderErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSJSONBuilderErrorType) { + AWSJSONBuilderUnknownError, + AWSJSONBuilderDefinitionFileIsEmpty, + AWSJSONBuilderUndefinedActionRule, + AWSJSONBuilderInternalError, + AWSJSONBuilderInvalidParameter, +}; + +//defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSJSONParserErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSJSONParserErrorType) { + AWSJSONParserUnknownError, + AWSJSONParserDefinitionFileIsEmpty, + AWSJSONParserUndefinedActionRule, + AWSJSONParserInternalError, + AWSJSONParserInvalidParameter, +}; + +@interface AWSJSONDictionary : NSDictionary + +- (instancetype)initWithDictionary:(NSDictionary *)otherDictionary + JSONDefinitionRule:(NSDictionary *)rule; +- (NSUInteger)count; +- (id)objectForKey:(id)aKey; + +@end + +@interface AWSXMLBuilder : NSObject + ++ (NSData *)xmlDataForDictionary:(NSDictionary *)params + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + ++ (NSString *)xmlStringForDictionary:(NSDictionary *)params + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + +@end + +@interface AWSXMLParser : NSObject + ++ (AWSXMLParser *)sharedInstance; + +- (NSMutableDictionary *)dictionaryForXMLData:(NSData *)data + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + +@end + +@interface AWSQueryParamBuilder : NSObject + ++ (NSDictionary *)buildFormattedParams:(NSDictionary *)params + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + +@end + +@interface AWSEC2ParamBuilder : NSObject + ++ (NSDictionary *)buildFormattedParams:(NSDictionary *)params + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + +@end + +@interface AWSJSONBuilder : NSObject + ++ (NSData *)jsonDataForDictionary:(NSDictionary *)params + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + +@end + +@interface AWSJSONParser : NSObject + ++ (NSDictionary *)dictionaryForJsonData:(NSData *)data + response:(NSHTTPURLResponse *)response + actionName:(NSString *)actionName + serviceDefinitionRule:(NSDictionary *)serviceDefinitionRule + error:(NSError *__autoreleasing *)error; + +@end + + + + diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSService.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSService.h new file mode 100755 index 0000000..66bf58b --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSService.h @@ -0,0 +1,135 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSNetworking.h" +#import "AWSCredentialsProvider.h" +#import "AWSServiceEnum.h" + +FOUNDATION_EXPORT NSString *const AWSiOSSDKVersion; + +FOUNDATION_EXPORT NSString *const AWSServiceErrorDomain; + +typedef NS_ENUM(NSInteger, AWSServiceErrorType) { + AWSServiceErrorUnknown, + AWSServiceErrorRequestTimeTooSkewed, + AWSServiceErrorInvalidSignatureException, + AWSServiceErrorSignatureDoesNotMatch, + AWSServiceErrorRequestExpired, + AWSServiceErrorAuthFailure, + AWSServiceErrorAccessDeniedException, + AWSServiceErrorUnrecognizedClientException, + AWSServiceErrorIncompleteSignature, + AWSServiceErrorInvalidClientTokenId, + AWSServiceErrorMissingAuthenticationToken, + AWSServiceErrorAccessDenied, + AWSServiceErrorExpiredToken, + AWSServiceErrorInvalidAccessKeyId, + AWSServiceErrorInvalidToken, + AWSServiceErrorTokenRefreshRequired, + AWSServiceErrorAccessFailure, + AWSServiceErrorAuthMissingFailure, + AWSServiceErrorThrottling, + AWSServiceErrorThrottlingException, +}; + +@class AWSEndpoint; + +#pragma mark - AWSService + +/** + An abstract representation of AWS services. + */ +@interface AWSService : NSObject + ++ (NSDictionary *)errorCodeDictionary; + +@end + +#pragma mark - AWSServiceManager + +@class AWSServiceConfiguration; + +/** + The service manager class that manages the default service configuration. + */ +@interface AWSServiceManager : NSObject + +/** + The default service configuration object. This property can be set only once, and any subsequent setters are ignored. + */ +@property (nonatomic, copy) AWSServiceConfiguration *defaultServiceConfiguration; + +/** + Returns a default singleton object. You should use this singleton method instead of creating an instance of the service manager. + + @return The default service manager. This is a singleton object. + */ ++ (instancetype)defaultServiceManager; + +@end + +#pragma mark - AWSServiceConfiguration + +/** + A service configuration object. + */ +@interface AWSServiceConfiguration : AWSNetworkingConfiguration + +@property (nonatomic, assign, readonly) AWSRegionType regionType; +@property (nonatomic, strong, readonly) id credentialsProvider; +@property (nonatomic, strong, readonly) AWSEndpoint *endpoint; +@property (nonatomic, readonly) NSString *userAgent; + ++ (NSString *)baseUserAgent; + ++ (void)addGlobalUserAgentProductToken:(NSString *)productToken; + +- (instancetype)initWithRegion:(AWSRegionType)regionType + credentialsProvider:(id)credentialsProvider; + +- (instancetype)initWithRegion:(AWSRegionType)regionType + endpoint:(AWSEndpoint *)endpoint + credentialsProvider:(id)credentialsProvider; + +- (void)addUserAgentProductToken:(NSString *)productToken; + +@end + +#pragma mark - AWSEndpoint + +@interface AWSEndpoint : NSObject + +@property (nonatomic, readonly) AWSRegionType regionType; +@property (nonatomic, readonly) NSString *regionName; +@property (nonatomic, readonly) AWSServiceType serviceType; +@property (nonatomic, readonly) NSString *serviceName; +@property (nonatomic, readonly) NSURL *URL; +@property (nonatomic, readonly) NSString *hostName; +@property (nonatomic, readonly) BOOL useUnsafeURL; + +- (instancetype)initWithRegion:(AWSRegionType)regionType + service:(AWSServiceType)serviceType + useUnsafeURL:(BOOL)useUnsafeURL; + +- (instancetype)initWithRegion:(AWSRegionType)regionType + service:(AWSServiceType)serviceType + URL:(NSURL *)URL; + +- (instancetype)initWithURL:(NSURL *)URL; + +- (instancetype)initWithURLString:(NSString *)URLString; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSServiceEnum.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSServiceEnum.h new file mode 100755 index 0000000..13e1286 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSServiceEnum.h @@ -0,0 +1,217 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#ifndef AWSiOSSDK_AWSServiceEnum_h +#define AWSiOSSDK_AWSServiceEnum_h + +/** + * Enums for AWS regions. + * + * For information about which regions are supported for each service, see the linked website: + * http://docs.aws.amazon.com/general/latest/gr/rande.html + */ +typedef NS_ENUM(NSInteger, AWSRegionType) { + /** + * Unknown Region + */ + AWSRegionUnknown NS_SWIFT_NAME(Unknown), + /** + * US East (N. Virginia) + */ + AWSRegionUSEast1 NS_SWIFT_NAME(USEast1), + /** + * US East (Ohio) + */ + AWSRegionUSEast2 NS_SWIFT_NAME(USEast2), + /** + * US West (N. California) + */ + AWSRegionUSWest1 NS_SWIFT_NAME(USWest1), + /** + * US West (Oregon) + */ + AWSRegionUSWest2 NS_SWIFT_NAME(USWest2), + /** + * EU (Ireland) + */ + AWSRegionEUWest1 NS_SWIFT_NAME(EUWest1), + /** + * EU (London) + */ + AWSRegionEUWest2 NS_SWIFT_NAME(EUWest2), + /** + * EU (Frankfurt) + */ + AWSRegionEUCentral1 NS_SWIFT_NAME(EUCentral1), + /** + * Asia Pacific (Singapore) + */ + AWSRegionAPSoutheast1 NS_SWIFT_NAME(APSoutheast1), + /** + * Asia Pacific (Tokyo) + */ + AWSRegionAPNortheast1 NS_SWIFT_NAME(APNortheast1), + /** + * Asia Pacific (Seoul) + */ + AWSRegionAPNortheast2 NS_SWIFT_NAME(APNortheast2), + /** + * Asia Pacific (Sydney) + */ + AWSRegionAPSoutheast2 NS_SWIFT_NAME(APSoutheast2), + /** + * Asia Pacific (Mumbai) + */ + AWSRegionAPSouth1 NS_SWIFT_NAME(APSouth1), + /** + * South America (Sao Paulo) + */ + AWSRegionSAEast1 NS_SWIFT_NAME(SAEast1), + /** + * China (Beijing) + */ + AWSRegionCNNorth1 NS_SWIFT_NAME(CNNorth1), + /** + * Canada (Central) + */ + AWSRegionCACentral1 NS_SWIFT_NAME(CACentral1), + /** + * AWS GovCloud (US) + */ + AWSRegionUSGovWest1 NS_SWIFT_NAME(USGovWest1), +}; + +/** + * Enums for AWS services. + * + * For information about which regions are supported for each service, see the linked website: + * http://docs.aws.amazon.com/general/latest/gr/rande.html + */ +typedef NS_ENUM(NSInteger, AWSServiceType) { + /** + * Unknown service + */ + AWSServiceUnknown NS_SWIFT_NAME(Unknown), + /** + * Amazon API Gateway + */ + AWSServiceAPIGateway NS_SWIFT_NAME(APIGateway), + /** + * Auto Scaling + */ + AWSServiceAutoScaling NS_SWIFT_NAME(AutoScaling), + /** + * Amazon CloudWatch + */ + AWSServiceCloudWatch NS_SWIFT_NAME(CloudWatch), + /** + * Amazon Cognito Identity + */ + AWSServiceCognitoIdentity NS_SWIFT_NAME(CognitoIdentity), + /** + * Amazon Cognito Identity Provider + */ + AWSServiceCognitoIdentityProvider NS_SWIFT_NAME(CognitoIdentityProvider), + /** + * Amazon Cognito Sync + */ + AWSServiceCognitoSync NS_SWIFT_NAME(CognitoSync), + /** + * Amazon DynamoDB + */ + AWSServiceDynamoDB NS_SWIFT_NAME(DynamoDB), + /** + * Amazon Elastic Compute Cloud (EC2) + */ + AWSServiceEC2 NS_SWIFT_NAME(EC2), + /** + * Elastic Load Balancing + */ + AWSServiceElasticLoadBalancing NS_SWIFT_NAME(ElasticLoadBalancing), + /** + * AWS IoT + */ + AWSServiceIoT NS_SWIFT_NAME(IoT), + /** + * AWS IoT Data + */ + AWSServiceIoTData NS_SWIFT_NAME(IoTData), + /** + * Amazon Kinesis Firehose + */ + AWSServiceFirehose NS_SWIFT_NAME(Firehose), + /** + * Amazon Kinesis + */ + AWSServiceKinesis NS_SWIFT_NAME(Kinesis), + /** + * AWS Key Management Service (KMS) + */ + AWSServiceKMS NS_SWIFT_NAME(KMS), + /** + * AWS Lambda + */ + AWSServiceLambda NS_SWIFT_NAME(Lambda), + /** + * Amazon Lex Runtime Service + */ + AWSServiceLexRuntime NS_SWIFT_NAME(LexRuntime), + /** + * Amazon Machine Learning + */ + AWSServiceMachineLearning NS_SWIFT_NAME(MachineLearning), + /** + * Amazon Mobile Analytics + */ + AWSServiceMobileAnalytics NS_SWIFT_NAME(MobileAnalytics), + /** + * Amazon Mobile Targeting + */ + AWSServiceMobileTargeting NS_SWIFT_NAME(MobileTargeting), + /** + * Amazon Polly + */ + AWSServicePolly NS_SWIFT_NAME(Polly), + /** + * Amazon Rekognition + */ + AWSServiceRekognition NS_SWIFT_NAME(Rekognition), + /** + * Amazon Simple Storage Service (S3) + */ + AWSServiceS3 NS_SWIFT_NAME(S3), + /** + * Amazon Simple Email Service (SES) + */ + AWSServiceSES NS_SWIFT_NAME(SES), + /** + * Amazon SimpleDB + */ + AWSServiceSimpleDB NS_SWIFT_NAME(SimpleDB), + /** + * Amazon Simple Notification Service (SNS) + */ + AWSServiceSNS NS_SWIFT_NAME(SNS), + /** + * Amazon Simple Queue Service (SQS) + */ + AWSServiceSQS NS_SWIFT_NAME(SQS), + /** + * AWS Security Token Service (STS) + */ + AWSServiceSTS NS_SWIFT_NAME(STS), +}; + +#endif diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSignature.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSignature.h new file mode 100755 index 0000000..2289800 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSignature.h @@ -0,0 +1,101 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSNetworking.h" + +FOUNDATION_EXPORT NSString *const AWSSignatureV4Algorithm; +FOUNDATION_EXPORT NSString *const AWSSignatureV4Terminator; + +@class AWSEndpoint; + +@protocol AWSCredentialsProvider; + +@interface AWSSignatureSignerUtility : NSObject + ++ (NSData *)sha256HMacWithData:(NSData *)data withKey:(NSData *)key; ++ (NSString *)hashString:(NSString *)stringToHash; ++ (NSData *)hash:(NSData *)dataToHash; ++ (NSString *)hexEncode:(NSString *)string; ++ (NSString *)HMACSign:(NSData *)data withKey:(NSString *)key usingAlgorithm:(uint32_t)algorithm; + +@end + +@interface AWSSignatureV4Signer : NSObject + +@property (nonatomic, strong, readonly) id credentialsProvider; + +- (instancetype)initWithCredentialsProvider:(id)credentialsProvider + endpoint:(AWSEndpoint *)endpoint; + ++ (AWSTask *)generateQueryStringForSignatureV4WithCredentialProvider:(id)credentialsProvider + httpMethod:(AWSHTTPMethod)httpMethod + expireDuration:(int32_t)expireDuration + endpoint:(AWSEndpoint *)endpoint + keyPath:(NSString *)keyPath + requestHeaders:(NSDictionary *)requestHeaders + requestParameters:(NSDictionary *)requestParameters + signBody:(BOOL)signBody; + ++ (NSString *)getCanonicalizedRequest:(NSString *)method + path:(NSString *)path + query:(NSString *)query + headers:(NSDictionary *)headers + contentSha256:(NSString *)contentSha256; + ++ (NSData *)getV4DerivedKey:(NSString *)secret + date:(NSString *)dateStamp + region:(NSString *)regionName + service:(NSString *)serviceName; + ++ (NSString *)getSignedHeadersString:(NSDictionary *)headers; + +@end + +@interface AWSSignatureV2Signer : NSObject + +@property (nonatomic, strong, readonly) id credentialsProvider; + ++ (instancetype)signerWithCredentialsProvider:(id)credentialsProvider + endpoint:(AWSEndpoint *)endpoint; + +- (instancetype)initWithCredentialsProvider:(id)credentialsProvider + endpoint:(AWSEndpoint *)endpoint; + +@end + +/** + * A subclass of NSInputStream that wraps an input stream and adds + * signature of chunk data. + **/ +@interface AWSS3ChunkedEncodingInputStream : NSInputStream + +@property (atomic, assign) int64_t totalLengthOfChunkSignatureSent; +/** + * Initialize the input stream with date, scope, signing key and signature + * of request headers. + **/ +- (instancetype)initWithInputStream:(NSInputStream *)stream + date:(NSDate *)date + scope:(NSString *)scope + kSigning:(NSData *)kSigning + headerSignature:(NSString *)headerSignature; + +/** + * Computes new content length after data being chunked encoded. + **/ ++ (NSUInteger)computeContentLengthForChunkedData:(NSUInteger)dataLength; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSynchronizedMutableDictionary.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSynchronizedMutableDictionary.h new file mode 100755 index 0000000..846c528 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSSynchronizedMutableDictionary.h @@ -0,0 +1,26 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSSynchronizedMutableDictionary : NSObject + +- (id)objectForKey:(id)aKey; +- (void)removeObjectForKey:(id)aKey; +- (void)removeObject:(id)object; +- (void)setObject:(id)anObject forKey:(id )aKey; +- (NSArray *)allKeys; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMCache.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMCache.h new file mode 100755 index 0000000..0a7c7d0 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMCache.h @@ -0,0 +1,177 @@ +/** + `TMCache` is a thread safe key/value store designed for persisting temporary objects that are expensive to + reproduce, such as downloaded data or the results of slow processing. It is comprised of two self-similar + stores, one in memory () and one on disk (). + + `TMCache` itself actually does very little; its main function is providing a front end for a common use case: + a small, fast memory cache that asynchronously persists itself to a large, slow disk cache. When objects are + removed from the memory cache in response to an "apocalyptic" event they remain in the disk cache and are + repopulated in memory the next time they are accessed. `TMCache` also does the tedious work of creating a + dispatch group to wait for both caches to finish their operations without blocking each other. + + The parallel caches are accessible as public properties ( and ) and can be manipulated + separately if necessary. See the docs for and for more details. + */ + +#import + +#import "AWSTMDiskCache.h" +#import "AWSTMMemoryCache.h" + +@class AWSTMCache; + +typedef void (^AWSTMCacheBlock)(AWSTMCache *cache); +typedef void (^AWSTMCacheObjectBlock)(AWSTMCache *cache, NSString *key, id object); + +@interface AWSTMCache : NSObject + +#pragma mark - +/// @name Core + +/** + The name of this cache, used to create the and also appearing in stack traces. + */ +@property (readonly) NSString *name; + +/** + A concurrent queue on which blocks passed to the asynchronous access methods are run. + */ +@property (readonly) dispatch_queue_t queue; + +/** + Synchronously retrieves the total byte count of the on the shared disk queue. + */ +@property (readonly) NSUInteger diskByteCount; + +/** + The underlying disk cache, see for additional configuration and trimming options. + */ +@property (readonly) AWSTMDiskCache *diskCache; + +/** + The underlying memory cache, see for additional configuration and trimming options. + */ +@property (readonly) AWSTMMemoryCache *memoryCache; + +#pragma mark - +/// @name Initialization + +/** + A shared cache. + + @result The shared singleton cache instance. + */ ++ (instancetype)sharedCache; + +/** + Multiple instances with the same name are allowed and can safely access + the same data on disk thanks to the magic of seriality. Also used to create the . + + @see name + @param name The name of the cache. + @result A new cache with the specified name. + */ +- (instancetype)initWithName:(NSString *)name; + +/** + The designated initializer. Multiple instances with the same name are allowed and can safely access + the same data on disk thanks to the magic of seriality. Also used to create the . + + @see name + @param name The name of the cache. + @param rootPath The path of the cache on disk. + @result A new cache with the specified name. + */ +- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath; + +#pragma mark - +/// @name Asynchronous Methods + +/** + Retrieves the object for the specified key. This method returns immediately and executes the passed + block after the object is available, potentially in parallel with other blocks on the . + + @param key The key associated with the requested object. + @param block A block to be executed concurrently when the object is available. + */ +- (void)objectForKey:(NSString *)key block:(AWSTMCacheObjectBlock)block; + +/** + Stores an object in the cache for the specified key. This method returns immediately and executes the + passed block after the object has been stored, potentially in parallel with other blocks on the . + + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + @param block A block to be executed concurrently after the object has been stored, or nil. + */ +- (void)setObject:(id )object forKey:(NSString *)key block:(AWSTMCacheObjectBlock)block; + +/** + Removes the object for the specified key. This method returns immediately and executes the passed + block after the object has been removed, potentially in parallel with other blocks on the . + + @param key The key associated with the object to be removed. + @param block A block to be executed concurrently after the object has been removed, or nil. + */ +- (void)removeObjectForKey:(NSString *)key block:(AWSTMCacheObjectBlock)block; + +/** + Removes all objects from the cache that have not been used since the specified date. This method returns immediately and + executes the passed block after the cache has been trimmed, potentially in parallel with other blocks on the . + + @param date Objects that haven't been accessed since this date are removed from the cache. + @param block A block to be executed concurrently after the cache has been trimmed, or nil. + */ +- (void)trimToDate:(NSDate *)date block:(AWSTMCacheBlock)block; + +/** + Removes all objects from the cache.This method returns immediately and executes the passed block after the + cache has been cleared, potentially in parallel with other blocks on the . + + @param block A block to be executed concurrently after the cache has been cleared, or nil. + */ +- (void)removeAllObjects:(AWSTMCacheBlock)block; + +#pragma mark - +/// @name Synchronous Methods + +/** + Retrieves the object for the specified key. This method blocks the calling thread until the object is available. + + @see objectForKey:block: + @param key The key associated with the object. + @result The object for the specified key. + */ +- (id)objectForKey:(NSString *)key; + +/** + Stores an object in the cache for the specified key. This method blocks the calling thread until the object has been set. + + @see setObject:forKey:block: + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + */ +- (void)setObject:(id )object forKey:(NSString *)key; + +/** + Removes the object for the specified key. This method blocks the calling thread until the object + has been removed. + + @param key The key associated with the object to be removed. + */ +- (void)removeObjectForKey:(NSString *)key; + +/** + Removes all objects from the cache that have not been used since the specified date. + This method blocks the calling thread until the cache has been trimmed. + + @param date Objects that haven't been accessed since this date are removed from the cache. + */ +- (void)trimToDate:(NSDate *)date; + +/** + Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. + */ +- (void)removeAllObjects; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMDiskCache.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMDiskCache.h new file mode 100755 index 0000000..0a9c87a --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMDiskCache.h @@ -0,0 +1,350 @@ +/** + `TMDiskCache` is a thread safe key/value store backed by the file system. It accepts any object conforming + to the `NSCoding` protocol, which includes the basic Foundation data types and collection classes and also + many UIKit classes, notably `UIImage`. All work is performed on a serial queue shared by all instances in + the app, and archiving is handled by `NSKeyedArchiver`. This is a particular advantage for `UIImage` because + it skips `UIImagePNGRepresentation()` and retains information like scale and orientation. + + The designated initializer for `TMDiskCache` is . The string is used to create a directory + under Library/Caches that scopes disk access for any instance sharing this name. Multiple instances with the + same name are allowed because all disk access is serialized on the . The also appears in + stack traces and return value for `description:`. + + Unless otherwise noted, all properties and methods are safe to access from any thread at any time. All blocks + will cause the queue to wait, making it safe to access and manipulate the actual cache files on disk for the + duration of the block. In addition, the can be set to target an existing serial I/O queue, should + your app already have one. + + Because this cache is bound by disk I/O it can be much slower than , although values stored in + `TMDiskCache` persist after application relaunch. Using is recommended over using `TMDiskCache` + by itself, as it adds a fast layer of additional memory caching while still writing to disk. + + All access to the cache is dated so the that the least-used objects can be trimmed first. Setting an optional + will trigger a GCD timer to periodically to trim the cache with . + */ + +#import + +@class AWSTMDiskCache; +@protocol AWSTMCacheBackgroundTaskManager; + +typedef void (^AWSTMDiskCacheBlock)(AWSTMDiskCache *cache); +typedef void (^AWSTMDiskCacheObjectBlock)(AWSTMDiskCache *cache, NSString *key, id object, NSURL *fileURL); + +@interface AWSTMDiskCache : NSObject + +#pragma mark - +/// @name Core + +/** + The name of this cache, used to create a directory under Library/Caches and also appearing in stack traces. + */ +@property (readonly) NSString *name; + +/** + The URL of the directory used by this cache, usually `Library/Caches/com.tumblr.TMDiskCache.(name)` + + @warning Do not interact with files under this URL except on the . + */ +@property (readonly) NSURL *cacheURL; + +/** + The total number of bytes used on disk, as reported by `NSURLTotalFileAllocatedSizeKey`. + + @warning This property is technically safe to access from any thread, but it reflects the value *right now*, + not taking into account any pending operations. In most cases this value should only be read from a block on the + , which will ensure its accuracy and prevent it from changing during the lifetime of the block. + + For example: + + // some background thread, not a block already running on the shared queue + + dispatch_sync([TMDiskCache sharedQueue], ^{ + NSLog(@"accurate, unchanging byte count: %d", [[TMDiskCache sharedCache] byteCount]); + }); + */ +@property (readonly) NSUInteger byteCount; + +/** + The maximum number of bytes allowed on disk. This value is checked every time an object is set, if the written + size exceeds the limit a trim call is queued. Defaults to `0.0`, meaning no practical limit. + + @warning Do not read this property on the (including asynchronous method blocks). + */ +@property (assign) NSUInteger byteLimit; + +/** + The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value + greater than `0.0` will start a recurring GCD timer with the same period that calls . + Setting it back to `0.0` will stop the timer. Defaults to `0.0`, meaning no limit. + + @warning Do not read this property on the (including asynchronous method blocks). + */ +@property (assign) NSTimeInterval ageLimit; + +#pragma mark - +/// @name Event Blocks + +/** + A block to be executed just before an object is added to the cache. The queue waits during execution. + */ +@property (copy) AWSTMDiskCacheObjectBlock willAddObjectBlock; + +/** + A block to be executed just before an object is removed from the cache. The queue waits during execution. + */ +@property (copy) AWSTMDiskCacheObjectBlock willRemoveObjectBlock; + +/** + A block to be executed just before all objects are removed from the cache as a result of . + The queue waits during execution. + */ +@property (copy) AWSTMDiskCacheBlock willRemoveAllObjectsBlock; + +/** + A block to be executed just after an object is added to the cache. The queue waits during execution. + */ +@property (copy) AWSTMDiskCacheObjectBlock didAddObjectBlock; + +/** + A block to be executed just after an object is removed from the cache. The queue waits during execution. + */ +@property (copy) AWSTMDiskCacheObjectBlock didRemoveObjectBlock; + +/** + A block to be executed just after all objects are removed from the cache as a result of . + The queue waits during execution. + */ +@property (copy) AWSTMDiskCacheBlock didRemoveAllObjectsBlock; + +#pragma mark - +/// @name Initialization + +/** + A shared cache. + + @result The shared singleton cache instance. + */ ++ (instancetype)sharedCache; + +/** + A shared serial queue, used by all instances of this class. Use `dispatch_set_target_queue` to integrate + this queue with an exisiting serial I/O queue. + + @result The shared singleton queue instance. + */ ++ (dispatch_queue_t)sharedQueue; + +/** + Empties the trash with `DISPATCH_QUEUE_PRIORITY_BACKGROUND`. Does not block the . + */ ++ (void)emptyTrash; + + +/** + Multiple instances with the same name are allowed and can safely access + the same data on disk thanks to the magic of seriality. + + @see name + @param name The name of the cache. + @result A new cache with the specified name. + */ +- (instancetype)initWithName:(NSString *)name; + +/** + The designated initializer. Multiple instances with the same name are allowed and can safely access + the same data on disk thanks to the magic of seriality. + + @see name + @param name The name of the cache. + @param rootPath The path of the cache. + @result A new cache with the specified name. + */ +- (instancetype)initWithName:(NSString *)name rootPath:(NSString *)rootPath; + +#pragma mark - +/// @name Asynchronous Methods + +/** + Retrieves the object for the specified key. This method returns immediately and executes the passed + block as soon as the object is available on the serial . + + @warning The fileURL is only valid for the duration of this block, do not use it after the block ends. + + @param key The key associated with the requested object. + @param block A block to be executed serially when the object is available. + */ +- (void)objectForKey:(NSString *)key block:(AWSTMDiskCacheObjectBlock)block; + +/** + Retrieves the fileURL for the specified key without actually reading the data from disk. This method + returns immediately and executes the passed block as soon as the object is available on the serial + . + + @warning Access is protected for the duration of the block, but to maintain safe disk access do not + access this fileURL after the block has ended. Do all work on the . + + @param key The key associated with the requested object. + @param block A block to be executed serially when the file URL is available. + */ +- (void)fileURLForKey:(NSString *)key block:(AWSTMDiskCacheObjectBlock)block; + +/** + Stores an object in the cache for the specified key. This method returns immediately and executes the + passed block as soon as the object has been stored. + + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + @param block A block to be executed serially after the object has been stored, or nil. + */ +- (void)setObject:(id )object forKey:(NSString *)key block:(AWSTMDiskCacheObjectBlock)block; + +/** + Removes the object for the specified key. This method returns immediately and executes the passed block + as soon as the object has been removed. + + @param key The key associated with the object to be removed. + @param block A block to be executed serially after the object has been removed, or nil. + */ +- (void)removeObjectForKey:(NSString *)key block:(AWSTMDiskCacheObjectBlock)block; + +/** + Removes all objects from the cache that have not been used since the specified date. + This method returns immediately and executes the passed block as soon as the cache has been trimmed. + + @param date Objects that haven't been accessed since this date are removed from the cache. + @param block A block to be executed serially after the cache has been trimmed, or nil. + */ +- (void)trimToDate:(NSDate *)date block:(AWSTMDiskCacheBlock)block; + +/** + Removes objects from the cache, largest first, until the cache is equal to or smaller than the specified byteCount. + This method returns immediately and executes the passed block as soon as the cache has been trimmed. + + @param byteCount The cache will be trimmed equal to or smaller than this size. + @param block A block to be executed serially after the cache has been trimmed, or nil. + */ +- (void)trimToSize:(NSUInteger)byteCount block:(AWSTMDiskCacheBlock)block; + +/** + Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or smaller + than the specified byteCount. This method returns immediately and executes the passed block as soon as the cache has + been trimmed. + + @param byteCount The cache will be trimmed equal to or smaller than this size. + @param block A block to be executed serially after the cache has been trimmed, or nil. + */ +- (void)trimToSizeByDate:(NSUInteger)byteCount block:(AWSTMDiskCacheBlock)block; + +/** + Removes all objects from the cache. This method returns immediately and executes the passed block as soon as the + cache has been cleared. + + @param block A block to be executed serially after the cache has been cleared, or nil. + */ +- (void)removeAllObjects:(AWSTMDiskCacheBlock)block; + +/** + Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually + read from disk, the `object` parameter of the block will be `nil` but the `fileURL` will be available. + This method returns immediately. + + @param block A block to be executed for every object in the cache. + @param completionBlock An optional block to be executed after the enumeration is complete. + */ +- (void)enumerateObjectsWithBlock:(AWSTMDiskCacheObjectBlock)block completionBlock:(AWSTMDiskCacheBlock)completionBlock; + +#pragma mark - +/// @name Synchronous Methods + +/** + Retrieves the object for the specified key. This method blocks the calling thread until the + object is available. + + @see objectForKey:block: + @param key The key associated with the object. + @result The object for the specified key. + */ +- (id )objectForKey:(NSString *)key; + +/** + Retrieves the file URL for the specified key. This method blocks the calling thread until the + url is available. Do not use this URL anywhere but on the . This method probably + shouldn't even exist, just use the asynchronous one. + + @see fileURLForKey:block: + @param key The key associated with the object. + @result The file URL for the specified key. + */ +- (NSURL *)fileURLForKey:(NSString *)key; + +/** + Stores an object in the cache for the specified key. This method blocks the calling thread until + the object has been stored. + + @see setObject:forKey:block: + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + */ +- (void)setObject:(id )object forKey:(NSString *)key; + +/** + Removes the object for the specified key. This method blocks the calling thread until the object + has been removed. + + @param key The key associated with the object to be removed. + */ +- (void)removeObjectForKey:(NSString *)key; + +/** + Removes all objects from the cache that have not been used since the specified date. + This method blocks the calling thread until the cache has been trimmed. + + @param date Objects that haven't been accessed since this date are removed from the cache. + */ +- (void)trimToDate:(NSDate *)date; + +/** + Removes objects from the cache, largest first, until the cache is equal to or smaller than the + specified byteCount. This method blocks the calling thread until the cache has been trimmed. + + @param byteCount The cache will be trimmed equal to or smaller than this size. + */ +- (void)trimToSize:(NSUInteger)byteCount; + +/** + Removes objects from the cache, ordered by date (least recently used first), until the cache is equal to or + smaller than the specified byteCount. This method blocks the calling thread until the cache has been trimmed. + + @param byteCount The cache will be trimmed equal to or smaller than this size. + */ +- (void)trimToSizeByDate:(NSUInteger)byteCount; + +/** + Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. + */ +- (void)removeAllObjects; + +/** + Loops through all objects in the cache (reads and writes are suspended during the enumeration). Data is not actually + read from disk, the `object` parameter of the block will be `nil` but the `fileURL` will be available. + This method blocks the calling thread until all objects have been enumerated. + + @param block A block to be executed for every object in the cache. + + @warning Do not call this method within the event blocks (, etc.) + Instead use the asynchronous version, . + */ +- (void)enumerateObjectsWithBlock:(AWSTMDiskCacheObjectBlock)block; + +#pragma mark - +/// @name Background Tasks + +/** + Set a global manager to be used for setting up/tearing down any background tasks needed by TMCache. + + @param backgroundTaskManager Background task manager. + */ ++ (void)setBackgroundTaskManager:(id )backgroundTaskManager; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMMemoryCache.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMMemoryCache.h new file mode 100755 index 0000000..f8612d9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTMMemoryCache.h @@ -0,0 +1,310 @@ +/** + `TMMemoryCache` is a fast, thread safe key/value store similar to `NSCache`. On iOS it will clear itself + automatically to reduce memory usage when the app receives a memory warning or goes into the background. + + Access is natively asynchronous. Every method accepts a callback block that runs on a concurrent + , with cache writes protected by GCD barriers. Synchronous variations are provided. + + All access to the cache is dated so the that the least-used objects can be trimmed first. Setting an + optional will trigger a GCD timer to periodically to trim the cache to that age. + + Objects can optionally be set with a "cost", which could be a byte count or any other meaningful integer. + Setting a will automatically keep the cache below that value with . + + Values will not persist after application relaunch or returning from the background. See for + a memory cache backed by a disk cache. + */ + +#import + +@class AWSTMMemoryCache; + +typedef void (^AWSTMMemoryCacheBlock)(AWSTMMemoryCache *cache); +typedef void (^AWSTMMemoryCacheObjectBlock)(AWSTMMemoryCache *cache, NSString *key, id object); + +@interface AWSTMMemoryCache : NSObject + +#pragma mark - +/// @name Core + +/** + A concurrent queue on which all work is done. It is exposed here so that it can be set to target some + other queue, such as a global concurrent queue with a priority other than the default. + */ +@property (readonly) dispatch_queue_t queue; + +/** + The total accumulated cost. + */ +@property (readonly) NSUInteger totalCost; + +/** + The maximum cost allowed to accumulate before objects begin to be removed with . + */ +@property (assign) NSUInteger costLimit; + +/** + The maximum number of seconds an object is allowed to exist in the cache. Setting this to a value + greater than `0.0` will start a recurring GCD timer with the same period that calls . + Setting it back to `0.0` will stop the timer. Defaults to `0.0`. + */ +@property (assign) NSTimeInterval ageLimit; + +/** + When `YES` on iOS the cache will remove all objects when the app receives a memory warning. + Defaults to `YES`. + */ +@property (assign) BOOL removeAllObjectsOnMemoryWarning; + +/** + When `YES` on iOS the cache will remove all objects when the app enters the background. + Defaults to `YES`. + */ +@property (assign) BOOL removeAllObjectsOnEnteringBackground; + +#pragma mark - +/// @name Event Blocks + +/** + A block to be executed just before an object is added to the cache. This block will be excuted within + a barrier, i.e. all reads and writes are suspended for the duration of the block. + */ +@property (copy) AWSTMMemoryCacheObjectBlock willAddObjectBlock; + +/** + A block to be executed just before an object is removed from the cache. This block will be excuted + within a barrier, i.e. all reads and writes are suspended for the duration of the block. + */ +@property (copy) AWSTMMemoryCacheObjectBlock willRemoveObjectBlock; + +/** + A block to be executed just before all objects are removed from the cache as a result of . + This block will be excuted within a barrier, i.e. all reads and writes are suspended for the duration of the block. + */ +@property (copy) AWSTMMemoryCacheBlock willRemoveAllObjectsBlock; + +/** + A block to be executed just after an object is added to the cache. This block will be excuted within + a barrier, i.e. all reads and writes are suspended for the duration of the block. + */ +@property (copy) AWSTMMemoryCacheObjectBlock didAddObjectBlock; + +/** + A block to be executed just after an object is removed from the cache. This block will be excuted + within a barrier, i.e. all reads and writes are suspended for the duration of the block. + */ +@property (copy) AWSTMMemoryCacheObjectBlock didRemoveObjectBlock; + +/** + A block to be executed just after all objects are removed from the cache as a result of . + This block will be excuted within a barrier, i.e. all reads and writes are suspended for the duration of the block. + */ +@property (copy) AWSTMMemoryCacheBlock didRemoveAllObjectsBlock; + +/** + A block to be executed upon receiving a memory warning (iOS only) potentially in parallel with other blocks on the . + This block will be executed regardless of the value of . Defaults to `nil`. + */ +@property (copy) AWSTMMemoryCacheBlock didReceiveMemoryWarningBlock; + +/** + A block to be executed when the app enters the background (iOS only) potentially in parallel with other blocks on the . + This block will be executed regardless of the value of . Defaults to `nil`. + */ +@property (copy) AWSTMMemoryCacheBlock didEnterBackgroundBlock; + +#pragma mark - +/// @name Shared Cache + +/** + A shared cache. + + @result The shared singleton cache instance. + */ ++ (instancetype)sharedCache; + +#pragma mark - +/// @name Asynchronous Methods + +/** + Retrieves the object for the specified key. This method returns immediately and executes the passed + block after the object is available, potentially in parallel with other blocks on the . + + @param key The key associated with the requested object. + @param block A block to be executed concurrently when the object is available. + */ +- (void)objectForKey:(NSString *)key block:(AWSTMMemoryCacheObjectBlock)block; + +/** + Stores an object in the cache for the specified key. This method returns immediately and executes the + passed block after the object has been stored, potentially in parallel with other blocks on the . + + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + @param block A block to be executed concurrently after the object has been stored, or nil. + */ +- (void)setObject:(id)object forKey:(NSString *)key block:(AWSTMMemoryCacheObjectBlock)block; + +/** + Stores an object in the cache for the specified key and the specified cost. If the cost causes the total + to go over the the cache is trimmed (oldest objects first). This method returns immediately + and executes the passed block after the object has been stored, potentially in parallel with other blocks + on the . + + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + @param cost An amount to add to the . + @param block A block to be executed concurrently after the object has been stored, or nil. + */ +- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost block:(AWSTMMemoryCacheObjectBlock)block; + +/** + Removes the object for the specified key. This method returns immediately and executes the passed + block after the object has been removed, potentially in parallel with other blocks on the . + + @param key The key associated with the object to be removed. + @param block A block to be executed concurrently after the object has been removed, or nil. + */ +- (void)removeObjectForKey:(NSString *)key block:(AWSTMMemoryCacheObjectBlock)block; + +/** + Removes all objects from the cache that have not been used since the specified date. + This method returns immediately and executes the passed block after the cache has been trimmed, + potentially in parallel with other blocks on the . + + @param date Objects that haven't been accessed since this date are removed from the cache. + @param block A block to be executed concurrently after the cache has been trimmed, or nil. + */ +- (void)trimToDate:(NSDate *)date block:(AWSTMMemoryCacheBlock)block; + +/** + Removes objects from the cache, costliest objects first, until the is below the specified + value. This method returns immediately and executes the passed block after the cache has been trimmed, + potentially in parallel with other blocks on the . + + @param cost The total accumulation allowed to remain after the cache has been trimmed. + @param block A block to be executed concurrently after the cache has been trimmed, or nil. + */ +- (void)trimToCost:(NSUInteger)cost block:(AWSTMMemoryCacheBlock)block; + +/** + Removes objects from the cache, ordered by date (least recently used first), until the is below + the specified value. This method returns immediately and executes the passed block after the cache has been + trimmed, potentially in parallel with other blocks on the . + + @param cost The total accumulation allowed to remain after the cache has been trimmed. + @param block A block to be executed concurrently after the cache has been trimmed, or nil. + */ +- (void)trimToCostByDate:(NSUInteger)cost block:(AWSTMMemoryCacheBlock)block; + +/** + Removes all objects from the cache. This method returns immediately and executes the passed block after + the cache has been cleared, potentially in parallel with other blocks on the . + + @param block A block to be executed concurrently after the cache has been cleared, or nil. + */ +- (void)removeAllObjects:(AWSTMMemoryCacheBlock)block; + +/** + Loops through all objects in the cache within a memory barrier (reads and writes are suspended during the enumeration). + This method returns immediately. + + @param block A block to be executed for every object in the cache. + @param completionBlock An optional block to be executed concurrently when the enumeration is complete. + */ +- (void)enumerateObjectsWithBlock:(AWSTMMemoryCacheObjectBlock)block completionBlock:(AWSTMMemoryCacheBlock)completionBlock; + +#pragma mark - +/// @name Synchronous Methods + +/** + Retrieves the object for the specified key. This method blocks the calling thread until the + object is available. + + @see objectForKey:block: + @param key The key associated with the object. + @result The object for the specified key. + */ +- (id)objectForKey:(NSString *)key; + +/** + Stores an object in the cache for the specified key. This method blocks the calling thread until the object + has been set. + + @see setObject:forKey:block: + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + */ +- (void)setObject:(id)object forKey:(NSString *)key; + +/** + Stores an object in the cache for the specified key and the specified cost. If the cost causes the total + to go over the the cache is trimmed (oldest objects first). This method blocks the calling thread + until the object has been stored. + + @param object An object to store in the cache. + @param key A key to associate with the object. This string will be copied. + @param cost An amount to add to the . + */ +- (void)setObject:(id)object forKey:(NSString *)key withCost:(NSUInteger)cost; + +/** + Removes the object for the specified key. This method blocks the calling thread until the object + has been removed. + + @param key The key associated with the object to be removed. + */ +- (void)removeObjectForKey:(NSString *)key; + +/** + Removes all objects from the cache that have not been used since the specified date. + This method blocks the calling thread until the cache has been trimmed. + + @param date Objects that haven't been accessed since this date are removed from the cache. + */ +- (void)trimToDate:(NSDate *)date; + +/** + Removes objects from the cache, costliest objects first, until the is below the specified + value. This method blocks the calling thread until the cache has been trimmed. + + @param cost The total accumulation allowed to remain after the cache has been trimmed. + */ +- (void)trimToCost:(NSUInteger)cost; + +/** + Removes objects from the cache, ordered by date (least recently used first), until the is below + the specified value. This method blocks the calling thread until the cache has been trimmed. + + @param cost The total accumulation allowed to remain after the cache has been trimmed. + */ +- (void)trimToCostByDate:(NSUInteger)cost; + +/** + Removes all objects from the cache. This method blocks the calling thread until the cache has been cleared. + */ +- (void)removeAllObjects; + +/** + Loops through all objects in the cache within a memory barrier (reads and writes are suspended during the enumeration). + This method blocks the calling thread until all objects have been enumerated. + + @param block A block to be executed for every object in the cache. + + @warning Do not call this method within the event blocks (, etc.) + Instead use the asynchronous version, . + + */ +- (void)enumerateObjectsWithBlock:(AWSTMMemoryCacheObjectBlock)block; + +/** + Handle a memory warning. + */ +- (void)handleMemoryWarning __deprecated_msg("This happens automatically in TMCache 2.1. There’s no longer a need to call it directly."); + +/** + Handle the application having been backgrounded. + */ +- (void)handleApplicationBackgrounding __deprecated_msg("This happens automatically in TMCache 2.1. There’s no longer a need to call it directly."); + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTask.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTask.h new file mode 100755 index 0000000..4d1de57 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTask.h @@ -0,0 +1,266 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +#import "AWSCancellationToken.h" +#import "AWSGeneric.h" + +NS_ASSUME_NONNULL_BEGIN + +/*! + Error domain used if there was multiple errors on . + */ +extern NSString *const AWSTaskErrorDomain; + +/*! + An error code used for , if there were multiple errors. + */ +extern NSInteger const kAWSMultipleErrorsError; + +/*! + An error userInfo key used if there were multiple errors on . + Value type is `NSArray *`. + */ +extern NSString *const AWSTaskMultipleErrorsUserInfoKey; + +@class AWSExecutor; +@class AWSTask; + +/*! + The consumer view of a Task. A AWSTask has methods to + inspect the state of the task, and to add continuations to + be run once the task is complete. + */ +@interface AWSTask<__covariant ResultType> : NSObject + +/*! + A block that can act as a continuation for a task. + */ +typedef __nullable id(^AWSContinuationBlock)(AWSTask *t); + +/*! + Creates a task that is already completed with the given result. + @param result The result for the task. + */ ++ (instancetype)taskWithResult:(nullable ResultType)result; + +/*! + Creates a task that is already completed with the given error. + @param error The error for the task. + */ ++ (instancetype)taskWithError:(NSError *)error; + +/*! + Creates a task that is already cancelled. + */ ++ (instancetype)cancelledTask; + +/*! + Returns a task that will be completed (with result == nil) once + all of the input tasks have completed. + @param tasks An `NSArray` of the tasks to use as an input. + */ ++ (instancetype)taskForCompletionOfAllTasks:(nullable NSArray *)tasks; + +/*! + Returns a task that will be completed once all of the input tasks have completed. + If all tasks complete successfully without being faulted or cancelled the result will be + an `NSArray` of all task results in the order they were provided. + @param tasks An `NSArray` of the tasks to use as an input. + */ ++ (instancetype)taskForCompletionOfAllTasksWithResults:(nullable NSArray *)tasks; + +/*! + Returns a task that will be completed once there is at least one successful task. + The first task to successuly complete will set the result, all other tasks results are + ignored. + @param tasks An `NSArray` of the tasks to use as an input. + */ ++ (instancetype)taskForCompletionOfAnyTask:(nullable NSArray *)tasks; + +/*! + Returns a task that will be completed a certain amount of time in the future. + @param millis The approximate number of milliseconds to wait before the + task will be finished (with result == nil). + */ ++ (AWSTask *)taskWithDelay:(int)millis; + +/*! + Returns a task that will be completed a certain amount of time in the future. + @param millis The approximate number of milliseconds to wait before the + task will be finished (with result == nil). + @param token The cancellation token (optional). + */ ++ (AWSTask *)taskWithDelay:(int)millis cancellationToken:(nullable AWSCancellationToken *)token; + +/*! + Returns a task that will be completed after the given block completes with + the specified executor. + @param executor A AWSExecutor responsible for determining how the + continuation block will be run. + @param block The block to immediately schedule to run with the given executor. + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ ++ (instancetype)taskFromExecutor:(AWSExecutor *)executor withBlock:(nullable id (^)())block; + +// Properties that will be set on the task once it is completed. + +/*! + The result of a successful task. + */ +@property (nullable, nonatomic, strong, readonly) ResultType result; + +/*! + The error of a failed task. + */ +@property (nullable, nonatomic, strong, readonly) NSError *error; + +/*! + Whether this task has been cancelled. + */ +@property (nonatomic, assign, readonly, getter=isCancelled) BOOL cancelled; + +/*! + Whether this task has completed due to an error. + */ +@property (nonatomic, assign, readonly, getter=isFaulted) BOOL faulted; + +/*! + Whether this task has completed. + */ +@property (nonatomic, assign, readonly, getter=isCompleted) BOOL completed; + +/*! + Enqueues the given block to be run once this task is complete. + This method uses a default execution strategy. The block will be + run on the thread where the previous task completes, unless the + the stack depth is too deep, in which case it will be run on a + dispatch queue with default priority. + @param block The block to be run once this task is complete. + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithBlock:(AWSContinuationBlock)block NS_SWIFT_NAME(continueWith(block:)); + +/*! + Enqueues the given block to be run once this task is complete. + This method uses a default execution strategy. The block will be + run on the thread where the previous task completes, unless the + the stack depth is too deep, in which case it will be run on a + dispatch queue with default priority. + @param block The block to be run once this task is complete. + @param cancellationToken The cancellation token (optional). + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithBlock:(AWSContinuationBlock)block + cancellationToken:(nullable AWSCancellationToken *)cancellationToken NS_SWIFT_NAME(continueWith(block:cancellationToken:)); + +/*! + Enqueues the given block to be run once this task is complete. + @param executor A AWSExecutor responsible for determining how the + continuation block will be run. + @param block The block to be run once this task is complete. + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithExecutor:(AWSExecutor *)executor + withBlock:(AWSContinuationBlock)block NS_SWIFT_NAME(continueWith(executor:block:)); + +/*! + Enqueues the given block to be run once this task is complete. + @param executor A AWSExecutor responsible for determining how the + continuation block will be run. + @param block The block to be run once this task is complete. + @param cancellationToken The cancellation token (optional). + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + his method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithExecutor:(AWSExecutor *)executor + block:(AWSContinuationBlock)block + cancellationToken:(nullable AWSCancellationToken *)cancellationToken +NS_SWIFT_NAME(continueWith(executor:block:cancellationToken:)); + +/*! + Identical to continueWithBlock:, except that the block is only run + if this task did not produce a cancellation or an error. + If it did, then the failure will be propagated to the returned + task. + @param block The block to be run once this task is complete. + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithSuccessBlock:(AWSContinuationBlock)block NS_SWIFT_NAME(continueOnSuccessWith(block:)); + +/*! + Identical to continueWithBlock:, except that the block is only run + if this task did not produce a cancellation or an error. + If it did, then the failure will be propagated to the returned + task. + @param block The block to be run once this task is complete. + @param cancellationToken The cancellation token (optional). + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithSuccessBlock:(AWSContinuationBlock)block + cancellationToken:(nullable AWSCancellationToken *)cancellationToken +NS_SWIFT_NAME(continueOnSuccessWith(block:cancellationToken:)); + +/*! + Identical to continueWithExecutor:withBlock:, except that the block + is only run if this task did not produce a cancellation, error, or an error. + If it did, then the failure will be propagated to the returned task. + @param executor A AWSExecutor responsible for determining how the + continuation block will be run. + @param block The block to be run once this task is complete. + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithExecutor:(AWSExecutor *)executor + withSuccessBlock:(AWSContinuationBlock)block NS_SWIFT_NAME(continueOnSuccessWith(executor:block:)); + +/*! + Identical to continueWithExecutor:withBlock:, except that the block + is only run if this task did not produce a cancellation or an error. + If it did, then the failure will be propagated to the returned task. + @param executor A AWSExecutor responsible for determining how the + continuation block will be run. + @param block The block to be run once this task is complete. + @param cancellationToken The cancellation token (optional). + @returns A task that will be completed after block has run. + If block returns a AWSTask, then the task returned from + this method will not be completed until that task is completed. + */ +- (AWSTask *)continueWithExecutor:(AWSExecutor *)executor + successBlock:(AWSContinuationBlock)block + cancellationToken:(nullable AWSCancellationToken *)cancellationToken +NS_SWIFT_NAME(continueOnSuccessWith(executor:block:cancellationToken:)); + +/*! + Waits until this operation is completed. + This method is inefficient and consumes a thread resource while + it's running. It should be avoided. This method logs a warning + message if it is used on the main thread. + */ +- (void)waitUntilFinished; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTaskCompletionSource.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTaskCompletionSource.h new file mode 100755 index 0000000..5092e56 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSTaskCompletionSource.h @@ -0,0 +1,75 @@ +/* + * Copyright (c) 2014, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class AWSTask<__covariant ResultType>; + +/*! + A AWSTaskCompletionSource represents the producer side of tasks. + It is a task that also has methods for changing the state of the + task by settings its completion values. + */ +@interface AWSTaskCompletionSource<__covariant ResultType> : NSObject + +/*! + Creates a new unfinished task. + */ ++ (instancetype)taskCompletionSource; + +/*! + The task associated with this TaskCompletionSource. + */ +@property (nonatomic, strong, readonly) AWSTask *task; + +/*! + Completes the task by setting the result. + Attempting to set this for a completed task will raise an exception. + @param result The result of the task. + */ +- (void)setResult:(nullable ResultType)result NS_SWIFT_NAME(set(result:)); + +/*! + Completes the task by setting the error. + Attempting to set this for a completed task will raise an exception. + @param error The error for the task. + */ +- (void)setError:(NSError *)error NS_SWIFT_NAME(set(error:)); + +/*! + Completes the task by marking it as cancelled. + Attempting to set this for a completed task will raise an exception. + */ +- (void)cancel; + +/*! + Sets the result of the task if it wasn't already completed. + @returns whether the new value was set. + */ +- (BOOL)trySetResult:(nullable ResultType)result NS_SWIFT_NAME(trySet(result:)); + +/*! + Sets the error of the task if it wasn't already completed. + @param error The error for the task. + @returns whether the new value was set. + */ +- (BOOL)trySetError:(NSError *)error NS_SWIFT_NAME(trySet(error:)); + +/*! + Sets the cancellation state of the task if it wasn't already completed. + @returns whether the new value was set. + */ +- (BOOL)trySetCancelled; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSUICKeyChainStore.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSUICKeyChainStore.h new file mode 100755 index 0000000..56b6315 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSUICKeyChainStore.h @@ -0,0 +1,281 @@ +// +// UICKeyChainStore.h +// UICKeyChainStore +// +// Created by Kishikawa Katsumi on 11/11/20. +// Copyright (c) 2011 Kishikawa Katsumi. All rights reserved. +// + +#import + +#if !__has_feature(nullability) +#define NS_ASSUME_NONNULL_BEGIN +#define NS_ASSUME_NONNULL_END +#define nullable +#define nonnull +#define null_unspecified +#define null_resettable +#define __nullable +#define __nonnull +#define __null_unspecified +#endif + +#if __has_extension(objc_generics) +#define UIC_KEY_TYPE +#define UIC_CREDENTIAL_TYPE *> +#else +#define UIC_KEY_TYPE +#define UIC_CREDENTIAL_TYPE +#endif + +NS_ASSUME_NONNULL_BEGIN + +extern NSString * const AWSUICKeyChainStoreErrorDomain; + +typedef NS_ENUM(NSInteger, AWSUICKeyChainStoreErrorCode) { + AWSUICKeyChainStoreErrorInvalidArguments = 1, +}; + +typedef NS_ENUM(NSInteger, AWSUICKeyChainStoreItemClass) { + AWSUICKeyChainStoreItemClassGenericPassword = 1, + AWSUICKeyChainStoreItemClassInternetPassword, +}; + +typedef NS_ENUM(NSInteger, AWSUICKeyChainStoreProtocolType) { + AWSUICKeyChainStoreProtocolTypeFTP = 1, + AWSUICKeyChainStoreProtocolTypeFTPAccount, + AWSUICKeyChainStoreProtocolTypeHTTP, + AWSUICKeyChainStoreProtocolTypeIRC, + AWSUICKeyChainStoreProtocolTypeNNTP, + AWSUICKeyChainStoreProtocolTypePOP3, + AWSUICKeyChainStoreProtocolTypeSMTP, + AWSUICKeyChainStoreProtocolTypeSOCKS, + AWSUICKeyChainStoreProtocolTypeIMAP, + AWSUICKeyChainStoreProtocolTypeLDAP, + AWSUICKeyChainStoreProtocolTypeAppleTalk, + AWSUICKeyChainStoreProtocolTypeAFP, + AWSUICKeyChainStoreProtocolTypeTelnet, + AWSUICKeyChainStoreProtocolTypeSSH, + AWSUICKeyChainStoreProtocolTypeFTPS, + AWSUICKeyChainStoreProtocolTypeHTTPS, + AWSUICKeyChainStoreProtocolTypeHTTPProxy, + AWSUICKeyChainStoreProtocolTypeHTTPSProxy, + AWSUICKeyChainStoreProtocolTypeFTPProxy, + AWSUICKeyChainStoreProtocolTypeSMB, + AWSUICKeyChainStoreProtocolTypeRTSP, + AWSUICKeyChainStoreProtocolTypeRTSPProxy, + AWSUICKeyChainStoreProtocolTypeDAAP, + AWSUICKeyChainStoreProtocolTypeEPPC, + AWSUICKeyChainStoreProtocolTypeNNTPS, + AWSUICKeyChainStoreProtocolTypeLDAPS, + AWSUICKeyChainStoreProtocolTypeTelnetS, + AWSUICKeyChainStoreProtocolTypeIRCS, + AWSUICKeyChainStoreProtocolTypePOP3S, +}; + +typedef NS_ENUM(NSInteger, AWSUICKeyChainStoreAuthenticationType) { + AWSUICKeyChainStoreAuthenticationTypeNTLM = 1, + AWSUICKeyChainStoreAuthenticationTypeMSN, + AWSUICKeyChainStoreAuthenticationTypeDPA, + AWSUICKeyChainStoreAuthenticationTypeRPA, + AWSUICKeyChainStoreAuthenticationTypeHTTPBasic, + AWSUICKeyChainStoreAuthenticationTypeHTTPDigest, + AWSUICKeyChainStoreAuthenticationTypeHTMLForm, + AWSUICKeyChainStoreAuthenticationTypeDefault, +}; + +typedef NS_ENUM(NSInteger, AWSUICKeyChainStoreAccessibility) { + AWSUICKeyChainStoreAccessibilityWhenUnlocked = 1, + AWSUICKeyChainStoreAccessibilityAfterFirstUnlock, + AWSUICKeyChainStoreAccessibilityAlways, + AWSUICKeyChainStoreAccessibilityWhenPasscodeSetThisDeviceOnly + __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0), + AWSUICKeyChainStoreAccessibilityWhenUnlockedThisDeviceOnly, + AWSUICKeyChainStoreAccessibilityAfterFirstUnlockThisDeviceOnly, + AWSUICKeyChainStoreAccessibilityAlwaysThisDeviceOnly, +} +__OSX_AVAILABLE_STARTING(__MAC_10_9, __IPHONE_4_0); + +typedef NS_ENUM(NSInteger, AWSUICKeyChainStoreAuthenticationPolicy) { + AWSUICKeyChainStoreAuthenticationPolicyUserPresence = kSecAccessControlUserPresence, +}; + +@interface AWSUICKeyChainStore : NSObject + +@property (nonatomic, readonly) AWSUICKeyChainStoreItemClass itemClass; + +@property (nonatomic, readonly, nullable) NSString *service; +@property (nonatomic, readonly, nullable) NSString *accessGroup; + +@property (nonatomic, readonly, nullable) NSURL *server; +@property (nonatomic, readonly) AWSUICKeyChainStoreProtocolType protocolType; +@property (nonatomic, readonly) AWSUICKeyChainStoreAuthenticationType authenticationType; + +@property (nonatomic) AWSUICKeyChainStoreAccessibility accessibility; +@property (nonatomic, readonly) AWSUICKeyChainStoreAuthenticationPolicy authenticationPolicy +__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); + +@property (nonatomic) BOOL synchronizable; + +@property (nonatomic, nullable) NSString *authenticationPrompt +__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_8_0); + +@property (nonatomic, readonly, nullable) NSArray UIC_KEY_TYPE *allKeys; +@property (nonatomic, readonly, nullable) NSArray *allItems; + ++ (NSString *)defaultService; ++ (void)setDefaultService:(NSString *)defaultService; + ++ (AWSUICKeyChainStore *)keyChainStore; ++ (AWSUICKeyChainStore *)keyChainStoreWithService:(nullable NSString *)service; ++ (AWSUICKeyChainStore *)keyChainStoreWithService:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; + ++ (AWSUICKeyChainStore *)keyChainStoreWithServer:(NSURL *)server protocolType:(AWSUICKeyChainStoreProtocolType)protocolType; ++ (AWSUICKeyChainStore *)keyChainStoreWithServer:(NSURL *)server protocolType:(AWSUICKeyChainStoreProtocolType)protocolType authenticationType:(AWSUICKeyChainStoreAuthenticationType)authenticationType; + +- (instancetype)init; +- (instancetype)initWithService:(nullable NSString *)service; +- (instancetype)initWithService:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; + +- (instancetype)initWithServer:(NSURL *)server protocolType:(AWSUICKeyChainStoreProtocolType)protocolType; +- (instancetype)initWithServer:(NSURL *)server protocolType:(AWSUICKeyChainStoreProtocolType)protocolType authenticationType:(AWSUICKeyChainStoreAuthenticationType)authenticationType; + ++ (nullable NSString *)stringForKey:(NSString *)key; ++ (nullable NSString *)stringForKey:(NSString *)key service:(nullable NSString *)service; ++ (nullable NSString *)stringForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; + ++ (nullable NSData *)dataForKey:(NSString *)key; ++ (nullable NSData *)dataForKey:(NSString *)key service:(nullable NSString *)service; ++ (nullable NSData *)dataForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; + +- (BOOL)contains:(nullable NSString *)key; + +- (BOOL)setString:(nullable NSString *)string forKey:(nullable NSString *)key; +- (BOOL)setString:(nullable NSString *)string forKey:(nullable NSString *)key label:(nullable NSString *)label comment:(nullable NSString *)comment; +- (nullable NSString *)stringForKey:(NSString *)key; + +- (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key; +- (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key label:(nullable NSString *)label comment:(nullable NSString *)comment; +- (nullable NSData *)dataForKey:(NSString *)key; + ++ (BOOL)removeItemForKey:(NSString *)key; ++ (BOOL)removeItemForKey:(NSString *)key service:(nullable NSString *)service; ++ (BOOL)removeItemForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; + ++ (BOOL)removeAllItems; ++ (BOOL)removeAllItemsForService:(nullable NSString *)service; ++ (BOOL)removeAllItemsForService:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup; + +- (BOOL)removeItemForKey:(NSString *)key; + +- (BOOL)removeAllItems; + +- (nullable NSString *)objectForKeyedSubscript:(NSString *)key; +- (void)setObject:(nullable NSString *)obj forKeyedSubscript:(NSString *)key; + ++ (nullable NSArray UIC_KEY_TYPE *)allKeysWithItemClass:(AWSUICKeyChainStoreItemClass)itemClass; +- (nullable NSArray UIC_KEY_TYPE *)allKeys; + ++ (nullable NSArray *)allItemsWithItemClass:(AWSUICKeyChainStoreItemClass)itemClass; +- (nullable NSArray *)allItems; + +- (void)setAccessibility:(AWSUICKeyChainStoreAccessibility)accessibility authenticationPolicy:(AWSUICKeyChainStoreAuthenticationPolicy)authenticationPolicy +__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); + +#if TARGET_OS_IOS +- (void)sharedPasswordWithCompletion:(nullable void (^)(NSString * __nullable account, NSString * __nullable password, NSError * __nullable error))completion; +- (void)sharedPasswordForAccount:(NSString *)account completion:(nullable void (^)(NSString * __nullable password, NSError * __nullable error))completion; + +- (void)setSharedPassword:(nullable NSString *)password forAccount:(NSString *)account completion:(nullable void (^)(NSError * __nullable error))completion; +- (void)removeSharedPasswordForAccount:(NSString *)account completion:(nullable void (^)(NSError * __nullable error))completion; + ++ (void)requestSharedWebCredentialWithCompletion:(nullable void (^)(NSArray UIC_CREDENTIAL_TYPE *credentials, NSError * __nullable error))completion; ++ (void)requestSharedWebCredentialForDomain:(nullable NSString *)domain account:(nullable NSString *)account completion:(nullable void (^)(NSArray UIC_CREDENTIAL_TYPE *credentials, NSError * __nullable error))completion; + ++ (NSString *)generatePassword; +#endif + +@end + +@interface AWSUICKeyChainStore (ErrorHandling) + ++ (nullable NSString *)stringForKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (nullable NSString *)stringForKey:(NSString *)key service:(nullable NSString *)service error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (nullable NSString *)stringForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (nullable NSData *)dataForKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (nullable NSData *)dataForKey:(NSString *)key service:(nullable NSString *)service error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (nullable NSData *)dataForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup error:(NSError * __nullable __autoreleasing * __nullable)error; + +- (BOOL)setString:(nullable NSString *)string forKey:(NSString * )key error:(NSError * __nullable __autoreleasing * __nullable)error; +- (BOOL)setString:(nullable NSString *)string forKey:(NSString * )key label:(nullable NSString *)label comment:(nullable NSString *)comment error:(NSError * __nullable __autoreleasing * __nullable)error; + +- (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; +- (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key label:(nullable NSString *)label comment:(nullable NSString *)comment error:(NSError * __nullable __autoreleasing * __nullable)error; + +- (nullable NSString *)stringForKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; +- (nullable NSData *)dataForKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)removeItemForKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)removeItemForKey:(NSString *)key service:(nullable NSString *)service error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)removeItemForKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)removeAllItemsWithError:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)removeAllItemsForService:(nullable NSString *)service error:(NSError * __nullable __autoreleasing * __nullable)error; ++ (BOOL)removeAllItemsForService:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup error:(NSError * __nullable __autoreleasing * __nullable)error; + +- (BOOL)removeItemForKey:(NSString *)key error:(NSError * __nullable __autoreleasing * __nullable)error; +- (BOOL)removeAllItemsWithError:(NSError * __nullable __autoreleasing * __nullable)error; + +@end + +@interface AWSUICKeyChainStore (ForwardCompatibility) + ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service genericAttribute:(nullable id)genericAttribute; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup genericAttribute:(nullable id)genericAttribute; ++ (BOOL)setString:(nullable NSString *)value forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service genericAttribute:(nullable id)genericAttribute; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup genericAttribute:(nullable id)genericAttribute; ++ (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key service:(nullable NSString *)service accessGroup:(nullable NSString *)accessGroup genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + +- (BOOL)setString:(nullable NSString *)string forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute; +- (BOOL)setString:(nullable NSString *)string forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + +- (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute; +- (BOOL)setData:(nullable NSData *)data forKey:(NSString *)key genericAttribute:(nullable id)genericAttribute error:(NSError * __nullable __autoreleasing * __nullable)error; + +@end + +@interface AWSUICKeyChainStore (Deprecation) + +- (void)synchronize __attribute__((deprecated("calling this method is no longer required"))); +- (BOOL)synchronizeWithError:(NSError * __nullable __autoreleasing * __nullable)error __attribute__((deprecated("calling this method is no longer required"))); + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLRequestRetryHandler.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLRequestRetryHandler.h new file mode 100755 index 0000000..b836c10 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLRequestRetryHandler.h @@ -0,0 +1,26 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +#import "AWSNetworking.h" + +@interface AWSURLRequestRetryHandler : NSObject + +@property (nonatomic, assign) uint32_t maxRetryCount; + +- (instancetype)initWithMaximumRetryCount:(uint32_t)maxRetryCount; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLRequestSerialization.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLRequestSerialization.h new file mode 100755 index 0000000..27e4e25 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLRequestSerialization.h @@ -0,0 +1,47 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +#import "AWSNetworking.h" +#import "AWSSerialization.h" + +@interface AWSJSONRequestSerializer : NSObject + +- (instancetype)initWithJSONDefinition:(NSDictionary *)JSONDefinition + actionName:(NSString *)actionName; + +@end + +@interface AWSXMLRequestSerializer : NSObject + +- (instancetype)initWithJSONDefinition:(NSDictionary *)JSONDefinition + actionName:(NSString *)actionName; + ++ (BOOL)constructURIandHeadersAndBody:(NSMutableURLRequest *)request + rules:(AWSJSONDictionary *)rules + parameters:(NSDictionary *)params + uriSchema:(NSString *)uriSchema + error:(NSError *__autoreleasing *)error; +@end + +@interface AWSQueryStringRequestSerializer : NSObject + +- (instancetype)initWithJSONDefinition:(NSDictionary *)JSONDefinition + actionName:(NSString *)actionName; + +@property (nonatomic, strong) NSDictionary *additionalParameters; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLResponseSerialization.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLResponseSerialization.h new file mode 100755 index 0000000..4dd6a69 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLResponseSerialization.h @@ -0,0 +1,47 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +#import "AWSNetworking.h" +#import "AWSSerialization.h" + +@interface AWSJSONResponseSerializer : NSObject + +@property (nonatomic, strong, readonly) NSDictionary *serviceDefinitionJSON; +@property (nonatomic, strong, readonly) NSString *actionName; +@property (nonatomic, assign, readonly) Class outputClass; + +- (instancetype)initWithJSONDefinition:(NSDictionary *)JSONDefinition + actionName:(NSString *)actionName + outputClass:(Class)outputClass; + +@end + +@interface AWSXMLResponseSerializer : NSObject + +@property (nonatomic, assign) Class outputClass; + +- (instancetype)initWithJSONDefinition:(NSDictionary *)JSONDefinition + actionName:(NSString *)actionName + outputClass:(Class)outputClass; + ++ (NSMutableDictionary *)parseResponse:(NSHTTPURLResponse *)response + rules:(AWSJSONDictionary *)rules + bodyDictionary:(NSMutableDictionary *)bodyDictionary + error:(NSError *__autoreleasing *)error; +@end + + diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLSessionManager.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLSessionManager.h new file mode 100755 index 0000000..1829683 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSURLSessionManager.h @@ -0,0 +1,27 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import "AWSNetworking.h" + +@interface AWSURLSessionManager : NSObject + +@property (nonatomic, strong) AWSNetworkingConfiguration *configuration; + +- (instancetype)initWithConfiguration:(AWSNetworkingConfiguration *)configuration; + +- (AWSTask *)dataTaskWithRequest:(AWSNetworkingRequest *)request; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSValidation.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSValidation.h new file mode 100755 index 0000000..31c9fd7 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/AWSValidation.h @@ -0,0 +1,39 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +// defined domain for errors from AWSRuntime. +FOUNDATION_EXPORT NSString *const AWSValidationErrorDomain; + +/* NSError codes in AWSErrorDomain. */ +typedef NS_ENUM(NSInteger, AWSValidationErrorType) { + // AWSJSON Validation related errors + AWSValidationUnknownError, // Unknown Error found during JSON Validation + AWSValidationUnexpectedParameter, // Unexpected Parameters found in HTTP Body + AWSValidationUnhandledType, + AWSValidationMissingRequiredParameter, + AWSValidationOutOfRangeParameter, + AWSValidationInvalidStringParameter, + AWSValidationUnexpectedStringParameter, + AWSValidationInvalidParameterType, + AWSValidationInvalidBase64Data, + AWSValidationHeaderTargetInvalid, + AWSValidationHeaderAPIActionIsUndefined, + AWSValidationHeaderDefinitionFileIsNotFound, + AWSValidationHeaderDefinitionFileIsEmpty, + AWSValidationHeaderAPIActionIsInvalid, + AWSValidationURIIsInvalid +}; diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSArray+AWSMTLManipulationAdditions.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSArray+AWSMTLManipulationAdditions.h new file mode 100755 index 0000000..7ee45a3 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSArray+AWSMTLManipulationAdditions.h @@ -0,0 +1,28 @@ +// +// NSArray+MTLManipulationAdditions.h +// Mantle +// +// Created by Josh Abernathy on 9/19/12. +// Copyright (c) 2012 GitHub. All rights reserved. +// + +#import + +@interface NSArray (AWSMTLManipulationAdditions) + +// The first object in the array or nil if the array is empty. +// Forwards to `firstObject` which has been first declared in iOS7, but works with iOS4/10.6. +@property (nonatomic, readonly, strong) id awsmtl_firstObject; + +// Returns a new array without all instances of the given object. +- (NSArray *)awsmtl_arrayByRemovingObject:(id)object; + +// Returns a new array without the first object. If the array is empty, it +// returns the empty array. +- (NSArray *)awsmtl_arrayByRemovingFirstObject; + +// Returns a new array without the last object. If the array is empty, it +// returns the empty array. +- (NSArray *)awsmtl_arrayByRemovingLastObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSDictionary+AWSMTLManipulationAdditions.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSDictionary+AWSMTLManipulationAdditions.h new file mode 100755 index 0000000..4cf781a --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSDictionary+AWSMTLManipulationAdditions.h @@ -0,0 +1,25 @@ +// +// NSDictionary+MTLManipulationAdditions.h +// Mantle +// +// Created by Justin Spahr-Summers on 2012-09-24. +// Copyright (c) 2012 GitHub. All rights reserved. +// + +#import + +@interface NSDictionary (AWSMTLManipulationAdditions) + +// Merges the keys and values from the given dictionary into the receiver. If +// both the receiver and `dictionary` have a given key, the value from +// `dictionary` is used. +// +// Returns a new dictionary containing the entries of the receiver combined with +// those of `dictionary`. +- (NSDictionary *)awsmtl_dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary; + +// Creates a new dictionary with all the entries for the given keys removed from +// the receiver. +- (NSDictionary *)awsmtl_dictionaryByRemovingEntriesWithKeys:(NSSet *)keys; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSObject+AWSMTLComparisonAdditions.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSObject+AWSMTLComparisonAdditions.h new file mode 100755 index 0000000..41e393f --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSObject+AWSMTLComparisonAdditions.h @@ -0,0 +1,15 @@ +// +// NSObject+MTLComparisonAdditions.h +// Mantle +// +// Created by Josh Vera on 10/26/12. +// Copyright (c) 2012 GitHub. All rights reserved. +// +// Portions copyright (c) 2011 Bitswift. All rights reserved. +// See the LICENSE file for more information. +// + +#import + +// Returns whether both objects are identical or equal via -isEqual: +BOOL AWSMTLEqualObjects(id obj1, id obj2); diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSValueTransformer+AWSMTLInversionAdditions.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSValueTransformer+AWSMTLInversionAdditions.h new file mode 100755 index 0000000..f5589bc --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSValueTransformer+AWSMTLInversionAdditions.h @@ -0,0 +1,21 @@ +// +// NSValueTransformer+MTLInversionAdditions.h +// Mantle +// +// Created by Justin Spahr-Summers on 2013-05-18. +// Copyright (c) 2013 GitHub. All rights reserved. +// + +#import + +@interface NSValueTransformer (AWSMTLInversionAdditions) + +// Flips the direction of the receiver's transformation, such that +// -transformedValue: will become -reverseTransformedValue:, and vice-versa. +// +// The receiver must allow reverse transformation. +// +// Returns an inverted transformer. +- (NSValueTransformer *)awsmtl_invertedTransformer; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h new file mode 100755 index 0000000..09a8d00 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Headers/NSValueTransformer+AWSMTLPredefinedTransformerAdditions.h @@ -0,0 +1,86 @@ +// +// NSValueTransformer+MTLPredefinedTransformerAdditions.h +// Mantle +// +// Created by Justin Spahr-Summers on 2012-09-27. +// Copyright (c) 2012 GitHub. All rights reserved. +// + +#import + +void awsmtl_loadMTLPredefinedTransformerAdditions(); + +// The name for a value transformer that converts strings into URLs and back. +extern NSString * const AWSMTLURLValueTransformerName; + +// Ensure an NSNumber is backed by __NSCFBoolean/CFBooleanRef +// +// NSJSONSerialization, and likely other serialization libraries, ordinarily +// serialize NSNumbers as numbers, and thus booleans would be serialized as +// 0/1. The exception is when the NSNumber is backed by __NSCFBoolean, which, +// though very much an implementation detail, is detected and serialized as a +// proper boolean. +extern NSString * const AWSMTLBooleanValueTransformerName; + +@interface NSValueTransformer (AWSMTLPredefinedTransformerAdditions) + +// Creates a reversible transformer to convert a JSON dictionary into a MTLModel +// object, and vice-versa. +// +// modelClass - The MTLModel subclass to attempt to parse from the JSON. This +// class must conform to . This argument must +// not be nil. +// +// Returns a reversible transformer which uses MTLJSONAdapter for transforming +// values back and forth. ++ (NSValueTransformer *)awsmtl_JSONDictionaryTransformerWithModelClass:(Class)modelClass; + +// Creates a reversible transformer to convert an array of JSON dictionaries +// into an array of MTLModel objects, and vice-versa. +// +// modelClass - The MTLModel subclass to attempt to parse from each JSON +// dictionary. This class must conform to . +// This argument must not be nil. +// +// Returns a reversible transformer which uses MTLJSONAdapter for transforming +// array elements back and forth. ++ (NSValueTransformer *)awsmtl_JSONArrayTransformerWithModelClass:(Class)modelClass; + +// A reversible value transformer to transform between the keys and objects of a +// dictionary. +// +// dictionary - The dictionary whose keys and values should be +// transformed between. This argument must not be nil. +// defaultValue - The result to fall back to, in case no key matching the +// input value was found during a forward transformation. +// reverseDefaultValue - The result to fall back to, in case no value matching +// the input value was found during a reverse +// transformation. +// +// Can for example be used for transforming between enum values and their string +// representation. +// +// NSValueTransformer *valueTransformer = [NSValueTransformer awsmtl_valueMappingTransformerWithDictionary:@{ +// @"foo": @(EnumDataTypeFoo), +// @"bar": @(EnumDataTypeBar), +// } defaultValue: @(EnumDataTypeUndefined) reverseDefaultValue: @"undefined"]; +// +// Returns a transformer that will map from keys to values in dictionary +// for forward transformation, and from values to keys for reverse +// transformations. If no matching key or value can be found, the respective +// default value is returned. ++ (NSValueTransformer *)awsmtl_valueMappingTransformerWithDictionary:(NSDictionary *)dictionary defaultValue:(id)defaultValue reverseDefaultValue:(id)reverseDefaultValue; + +// Returns a value transformer created by calling +// `+mtl_valueMappingTransformerWithDictionary:defaultValue:reverseDefaultValue:` +// with a default value of `nil` and a reverse default value of `nil`. ++ (NSValueTransformer *)awsmtl_valueMappingTransformerWithDictionary:(NSDictionary *)dictionary; + +@end + +@interface NSValueTransformer (UnavailableAWSMTLPredefinedTransformerAdditions) + ++ (NSValueTransformer *)awsmtl_externalRepresentationTransformerWithModelClass:(Class)modelClass __attribute__((deprecated("Replaced by +mtl_JSONDictionaryTransformerWithModelClass:"))); ++ (NSValueTransformer *)awsmtl_externalRepresentationArrayTransformerWithModelClass:(Class)modelClass __attribute__((deprecated("Replaced by +mtl_JSONArrayTransformerWithModelClass:"))); + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Info.plist b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Info.plist new file mode 100755 index 0000000..e6ba50e Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Info.plist differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Modules/module.modulemap b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Modules/module.modulemap new file mode 100755 index 0000000..cf653bc --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AWSCore { + umbrella header "AWSCore.h" + + export * + module * { export * } +} diff --git a/My Mind/My Mind/Sdk/Aws/AWSCore.framework/strip-frameworks.sh b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/strip-frameworks.sh new file mode 100755 index 0000000..80814ab --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSCore.framework/strip-frameworks.sh @@ -0,0 +1,72 @@ +################################################################################ +# +# Copyright 2015 Realm Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +# This script strips all non-valid architectures from dynamic libraries in +# the application's `Frameworks` directory. +# +# The following environment variables are required: +# +# BUILT_PRODUCTS_DIR +# FRAMEWORKS_FOLDER_PATH +# VALID_ARCHS +# EXPANDED_CODE_SIGN_IDENTITY + + +# Signs a framework with the provided identity +code_sign() { + # Use the current code_sign_identitiy + echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" + echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements $1" + /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} --preserve-metadata=identifier,entitlements "$1" +} + +# Set working directory to product’s embedded frameworks +cd "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}" + +if [ "$ACTION" = "install" ]; then + echo "Copy .bcsymbolmap files to .xcarchive" + find . -name '*.bcsymbolmap' -type f -exec mv {} "${CONFIGURATION_BUILD_DIR}" \; +else + # Delete *.bcsymbolmap files from framework bundle unless archiving + find . -name '*.bcsymbolmap' -type f -exec rm -rf "{}" +\; +fi + +echo "Stripping frameworks" + +for file in $(find . -type f -perm +111); do + # Skip non-dynamic libraries + if ! [[ "$(file "$file")" == *"dynamically linked shared library"* ]]; then + continue + fi + # Get architectures for current file + archs="$(lipo -info "${file}" | rev | cut -d ':' -f1 | rev)" + stripped="" + for arch in $archs; do + if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + # Strip non-valid architectures in-place + lipo -remove "$arch" -output "$file" "$file" || exit 1 + stripped="$stripped $arch" + fi + done + if [[ "$stripped" != "" ]]; then + echo "Stripped $file of architectures:$stripped" + if [ "${CODE_SIGNING_REQUIRED}" == "YES" ]; then + code_sign "${file}" + fi + fi +done diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/AWSPinpoint b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/AWSPinpoint new file mode 100755 index 0000000..b40b281 Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/AWSPinpoint differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpoint.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpoint.h new file mode 100755 index 0000000..1ff18c6 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpoint.h @@ -0,0 +1,36 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +//! Project version number for AWSPinpoint. +FOUNDATION_EXPORT double AWSPinpointVersionNumber; + +//! Project version string for AWSPinpoint. +FOUNDATION_EXPORT const unsigned char AWSMPinpointVersionString[]; + +#import + +#import "AWSPinpointService.h" +#import "AWSPinpointAnalytics.h" +#import "AWSPinpointAnalyticsClient.h" +#import "AWSPinpointConfiguration.h" +#import "AWSPinpointEndpointProfile.h" +#import "AWSPinpointEvent.h" +#import "AWSPinpointEventRecorder.h" +#import "AWSPinpointNotificationManager.h" +#import "AWSPinpointSessionClient.h" +#import "AWSPinpointTargeting.h" +#import "AWSPinpointTargetingClient.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalytics.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalytics.h new file mode 100755 index 0000000..4fce5c6 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalytics.h @@ -0,0 +1,25 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +//! Project version number for AWSPinpointAnalytics. +FOUNDATION_EXPORT double AWSPinpointAnalyticsVersionNumber; + +//! Project version string for AWSPinpointAnalytics. +FOUNDATION_EXPORT const unsigned char AWSPinpointAnalyticsVersionString[]; + +#import +#import "AWSPinpointAnalyticsService.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsClient.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsClient.h new file mode 100755 index 0000000..e65fb42 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsClient.h @@ -0,0 +1,170 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import + +@class AWSPinpointEvent, AWSTask, AWSPinpointEventRecorder; + +NS_ASSUME_NONNULL_BEGIN + +typedef __nullable id(^AWSPinpointCompletionBlock)(AWSTask *task); + +@interface AWSPinpointAnalyticsClient : NSObject + +/** + Returns the `AWSPinpointEventRecorder` which is the low level client used to record events to local storage. + + You can use it for more advanced fine grained control over the events recorded. + + @returns the `AWSPinpointEventRecorder` used for storing events. + */ +@property (nonatomic, readonly) AWSPinpointEventRecorder * eventRecorder; + +/** + Adds the specified attribute to all subsequent recorded events. + + @param theValue the value of the attribute. + @param theKey the name of the attribute to add. + */ +- (void)addGlobalAttribute:(NSString *)theValue + forKey:(NSString *)theKey; + +/** + Adds the specified attribute to all subsequent recorded events with the specified event type. + + @param theValue the value of the attribute. + @param theKey the name of the attribute to add. + @param theEventType the type of events to add the attribute to. + */ +- (void)addGlobalAttribute:(NSString *)theValue + forKey:(NSString *)theKey + forEventType:(NSString *)theEventType; + +/** + Adds the specified metric to all subsequent recorded events. + + @param theValue the value of the metric + @param theKey the name of the metric to add + */ +- (void)addGlobalMetric:(NSNumber *)theValue + forKey:(NSString *)theKey; + +/** + Adds the specified metric to all subsequent recorded events with the specified event type. + + @param theValue the value of the metric + @param theKey the name of the metric to add + @param theEventType the type of events to add the metric to + */ +- (void)addGlobalMetric:(NSNumber *)theValue + forKey:(NSString *)theKey + forEventType:(NSString *)theEventType; + +/** + Removes the specified attribute. All subsequent recorded events will no longer have this global attribute. + + @param theKey the key of the attribute to remove + */ +- (void)removeGlobalAttributeForKey:(NSString*) theKey; + +/** + Removes the specified attribute. All subsequent recorded events with the specified event type will no longer have this global attribute. + + @param theKey the key of the attribute to remove + @param theEventType the type of events to remove the attribute from + */ +- (void)removeGlobalAttributeForKey:(NSString*) theKey + forEventType:(NSString*) theEventType; + +/** + Removes the specified metric. All subsequent recorded events will no longer have this global metric. + + @param theKey the key of the metric to remove + */ +- (void)removeGlobalMetricForKey:(NSString*) theKey; + +/** + Removes the specified metric. All subsequent recorded events with the specified event type will no longer have this global metric. + + @param theKey the key of the metric to remove + @param theEventType the type of events to remove the metric from + */ +- (void)removeGlobalMetricForKey:(NSString*) theKey + forEventType:(NSString*) theEventType; + +/** + Records the specified AWSPinpointEvent to the local filestore. + + @param theEvent The AWSPinpointEvent to persist + + @return AWSTask - task.result is always nil. + */ +-(AWSTask *) recordEvent:(AWSPinpointEvent *) theEvent; + +/** + Create an AWSPinpointEvent with the specified theEventType + + @param theEventType the type of event to create + + @returns an AWSPinpointEvent with the specified event type + */ +- (AWSPinpointEvent *)createEventWithEventType:(NSString *)theEventType; + +/** + Create an Apple monetization AWSPinpointEvent of type "_monetization.purchase" with the specified parameters. + + @param transaction A SKPaymentTransaction object returned from an IAP + @param product A SKProduct object of the an IAP + + @returns an AWSPinpointEvent with the specified event type + */ +- (AWSPinpointEvent *)createAppleMonetizationEventWithTransaction:(SKPaymentTransaction *) transaction withProduct:(SKProduct *) product; + +/** + Create a Virtual monetization AWSPinpointEvent of type "_monetization.purchase" with the specified parameters. + + @param theProductId A product identifier for your virtual monitization event + @param theItemPrice An item price for your virtual monitization event + @param theQuantity A quantity of how many products sold for your virtual monitization event + @param theCurrency The currency for your virtual monitization event + + @returns an AWSPinpointEvent with the specified event type + */ +- (AWSPinpointEvent *)createVirtualMonetizationEventWithProductId:(NSString *)theProductId + withItemPrice:(double)theItemPrice + withQuantity:(NSInteger)theQuantity + withCurrency:(NSString *)theCurrency; +/** + Submits all recorded events to Pinpoint. + Events are automatically submitted when the application goes into the background. + + @return AWSTask - task.result contains successful submitted events. + */ +- (AWSTask *) submitEvents; + +/** + Submits all recorded events to Pinpoint. + Events are automatically submitted when the application goes into the background. + + @param completionBlock The block to be executed after submission has completed. + + @return AWSTask - task.result is always nil. + */ +- (AWSTask *) submitEventsWithCompletionBlock:(AWSPinpointCompletionBlock) completionBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsModel.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsModel.h new file mode 100755 index 0000000..8ddadf9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsModel.h @@ -0,0 +1,119 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSPinpointAnalyticsErrorDomain; + +typedef NS_ENUM(NSInteger, AWSPinpointAnalyticsErrorType) { + AWSPinpointAnalyticsErrorUnknown, + AWSPinpointAnalyticsErrorBadRequest, +}; + +@class AWSPinpointAnalyticsEvent; +@class AWSPinpointAnalyticsPutEventsInput; +@class AWSPinpointAnalyticsSession; + +/** + Represents a single event that happened on a client device. Attributes and metrics are optional. + Required parameters: [eventType, timestamp, session] + */ +@interface AWSPinpointAnalyticsEvent : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSDictionary * _Nullable attributes; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable eventType; + +/** + + */ +@property (nonatomic, strong) NSDictionary * _Nullable metrics; + +/** + + */ +@property (nonatomic, strong) AWSPinpointAnalyticsSession * _Nullable session; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable timestamp; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable version; + +@end + +/** + Describes a set of events + Required parameters: [events, clientContext] + */ +@interface AWSPinpointAnalyticsPutEventsInput : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable clientContext; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +@end + +/** + + */ +@interface AWSPinpointAnalyticsSession : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSNumber * _Nullable duration; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable startTimestamp; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable stopTimestamp; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsResources.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsResources.h new file mode 100755 index 0000000..46b6d22 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsResources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSPinpointAnalyticsResources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsService.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsService.h new file mode 100755 index 0000000..74041f4 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointAnalyticsService.h @@ -0,0 +1,198 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import "AWSPinpointAnalyticsModel.h" +#import "AWSPinpointAnalyticsResources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + A service which is used to record Amazon Mobile Analytics events + */ +@interface AWSPinpointAnalytics : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let PinpointAnalytics = AWSPinpointAnalytics.default() + + *Objective-C* + + AWSPinpointAnalytics *PinpointAnalytics = [AWSPinpointAnalytics defaultPinpointAnalytics]; + + @return The default service client. + */ ++ (instancetype)defaultPinpointAnalytics; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSPinpointAnalytics.register(with: configuration!, forKey: "USWest2PinpointAnalytics") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSPinpointAnalytics registerPinpointAnalyticsWithConfiguration:configuration forKey:@"USWest2PinpointAnalytics"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let PinpointAnalytics = AWSPinpointAnalytics(forKey: "USWest2PinpointAnalytics") + + *Objective-C* + + AWSPinpointAnalytics *PinpointAnalytics = [AWSPinpointAnalytics PinpointAnalyticsForKey:@"USWest2PinpointAnalytics"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerPinpointAnalyticsWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerPinpointAnalyticsWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSPinpointAnalytics.register(with: configuration!, forKey: "USWest2PinpointAnalytics") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSPinpointAnalytics registerPinpointAnalyticsWithConfiguration:configuration forKey:@"USWest2PinpointAnalytics"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let PinpointAnalytics = AWSPinpointAnalytics(forKey: "USWest2PinpointAnalytics") + + *Objective-C* + + AWSPinpointAnalytics *PinpointAnalytics = [AWSPinpointAnalytics PinpointAnalyticsForKey:@"USWest2PinpointAnalytics"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)PinpointAnalyticsForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removePinpointAnalyticsForKey:(NSString *)key; + +/** + Record a batch of events + + @param request A container for the necessary parameters to execute the PutEvents service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointAnalyticsErrorDomain` domain and the following error code: `AWSPinpointAnalyticsErrorBadRequest`. + + @see AWSPinpointAnalyticsPutEventsInput + */ +- (AWSTask *)putEvents:(AWSPinpointAnalyticsPutEventsInput *)request; + +/** + Record a batch of events + + @param request A container for the necessary parameters to execute the PutEvents service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointAnalyticsErrorDomain` domain and the following error code: `AWSPinpointAnalyticsErrorBadRequest`. + + @see AWSPinpointAnalyticsPutEventsInput + */ +- (void)putEvents:(AWSPinpointAnalyticsPutEventsInput *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointConfiguration.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointConfiguration.h new file mode 100755 index 0000000..c3c312f --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointConfiguration.h @@ -0,0 +1,207 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@class AWSPinpoint, AWSServiceConfiguration, AWSPinpointEnvironment; + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^AWSInitializationCompletionBlock)(AWSPinpoint * _Nonnull pinpoint); + +/** + AWS Pinpoint Configuration. This class is used to configure an instance of the AWSPinpoint class. + + You must specify an instance of this class in order to initialize the AWSPinpoint SDK. + + You may use the defaultPinpointConfigurationWithLaunchOptions: initializer to default your settings from the `Info.plist` file. + */ +@interface AWSPinpointConfiguration : NSObject + +/** + Custom Attributes that will be added to the Client Context. + + @returns A map of attributes. + */ +@property (nonatomic, strong) NSDictionary *_Nullable attributes; + +/** + Represents environment information about the application. + Defaults to [AWSPinpointEnvironment new] + + @returns AWSPinpointEnvironment. + */ +@property (nonatomic, strong) AWSPinpointEnvironment *_Nullable environment; + +/** + Indicates whether or not event collection is enabled for the SDK. + Defaults to YES. + + @returns YES/NO indicating if event collection is enabled + */ +@property (nonatomic, assign) BOOL enableEvents; + +/** + Indicates whether or not targeting and endpoint profile registration is enabled for the SDK. + Defaults to YES. + + @returns YES/NO indicating if event collection is enabled + */ +@property (nonatomic, assign) BOOL enableTargeting; + +/** + Indicates whether or not analytics session events are automatically recorded. + Defaults to YES. + + @returns YES/NO indicating if event collection is enabled + */ +@property (nonatomic, assign) BOOL enableAutoSessionRecording; + +/** + A service configuration object to be used for Pinpoint Analytics. + Defaults to [AWSServiceManager defaultServiceManager].defaultServiceConfiguration + + @returns serviceConfiguration used. + */ +@property (nonatomic, copy) AWSServiceConfiguration *_Nullable serviceConfiguration; + +/** + A service configuration object to be used for Pinpoint Targeting. + Defaults to [AWSServiceManager defaultServiceManager].defaultServiceConfiguration + + @returns pinpointServiceConfiguration used. + */ +@property (nonatomic, copy) AWSServiceConfiguration *_Nullable targetingServiceConfiguration; + +/** + The max storage size to use for event storage. + Defaults to 5MB. + + @returns the Max Storage Size + */ +@property (nonatomic, assign) int maxStorageSize; + +/** + The session timeout in milliseconds. + Defaults to 5 seconds. + + @returns the session timeout. + */ +@property (nonatomic, assign) int sessionTimeout; + +/** + The Pinpoint AppId + Defaults to the specified `appId` in the `Info.plist`. + + @returns the appId + */ +@property (nonatomic, strong) NSString *appId; + +/** + A dictionary indicating the reason the app was launched (if any). The contents of this dictionary may be empty in situations where the user launched the app directly. + For information about the possible keys in this dictionary and how to handle them, see Launch Options Keys. + + @returns the launchOptions + */ +@property (nonatomic, strong) NSDictionary *_Nullable launchOptions; + +/** + A block to be execulted after initialization is complete. + + @returns the completionBlock + */ +@property (nonatomic, copy) AWSInitializationCompletionBlock _Nullable completionBlock; + +/** + Creates an `AWSPinpointConfiguration` instance with the specified configuration inside `Info.plist` to configure the AWSPinpoint intializer. + + This initializer of AWSPinpoint should be called inside your AppDelegates' application:didFinishLaunchingWithOptions: method. + + You must specify the launchOptions returned from application:didFinishLaunchingWithOptions: + + @param launchOptions A dictionary indicating the reason the app was launched (if any). The contents of this dictionary may be empty in situations where the user launched the app directly. + + @returns The AWSPinpointConfiguration instance with the specified default appId, serviceConfigurations from `Info.plist` + */ ++ (instancetype) defaultPinpointConfigurationWithLaunchOptions:(nullable NSDictionary*) launchOptions; + +/** + Returns an AWSPinpointConfiguration object with the specified max storage size. + + @param appId The Pinpoint Application ID, if nil is passed it defaults to the specified `appId` in the `Info.plist`. + @param launchOptions A dictionary indicating the reason the app was launched (if any). The contents of this dictionary may be empty in situations where the user launched the app directly. + @returns an AWSPinpointConfiguration object + */ +- (instancetype) initWithAppId:(NSString*) appId + launchOptions:(nullable NSDictionary*) launchOptions; + +/** + Returns an AWSPinpointConfiguration object with the specified max storage size. + + @param appId The Pinpoint Application ID, if nil is passed it defaults to the specified `appId` in the `Info.plist`. + @param launchOptions A dictionary indicating the reason the app was launched (if any). The contents of this dictionary may be empty in situations where the user launched the app directly. + @param maxStorageSize The max storage size in bytes to use for event storage. + @param sessionTimeout The amount of time it takes for a session to timeout after being paused. + @returns an AWSPinpointConfiguration object + */ +- (instancetype) initWithAppId:(NSString*) appId + launchOptions:(nullable NSDictionary*) launchOptions + maxStorageSize:(int) maxStorageSize + sessionTimeout:(int) sessionTimeout; + +@end + + +/** + AWS Pinpoint Environment. + */ +@interface AWSPinpointEnvironment : NSObject + +/** + The short version string of the app. + Defaults to [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] + + @returns appVersion. + */ +@property (nonatomic, strong) NSString *_Nullable appVersion; + +/** + The bundle version of the app. + Defaults to [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"] + + @returns appBuild. + */ +@property (nonatomic, strong) NSString *_Nullable appBuild; + +/** + The bundle identifier of the app. + Defaults to [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"] + + @returns appPackageName. + */ +@property (nonatomic, strong) NSString *_Nullable appPackageName; + +/** + The bundle display name of the app. + Defaults to [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"] + + @returns appName. + */ +@property (nonatomic, strong) NSString *_Nullable appName; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEndpointProfile.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEndpointProfile.h new file mode 100755 index 0000000..0f5ae2f --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEndpointProfile.h @@ -0,0 +1,269 @@ +/* + Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. + A copy of the License is located at + + http://aws.amazon.com/apache2.0 + + or in the "license" file accompanying this file. This file is distributed + on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + express or implied. See the License for the specific language governing + permissions and limitations under the License. + */ + +#import +#import "AWSPinpointEvent.h" + +@class AWSPinpointEndpointProfileDemographic, AWSPinpointEndpointProfileLocation, AWSPinpointEndpointProfileUser; + +NS_ASSUME_NONNULL_BEGIN + +/** + The Endpoint profile contains information about the device/user to be target for messaging. + */ +@interface AWSPinpointEndpointProfile : NSObject + +/** + The Pinpoint Application ID + @returns applicationId + */ +@property (nonatomic, readwrite) NSString *applicationId; + +/** + The Endpoint ID is the unique identifier of this device + @returns endpointId + */ +@property (nonatomic, readonly) NSString *endpointId; + +/** + The Channel type defaults to APNS + @returns channelType + */ +@property (nonatomic, readonly) NSString *_Nullable channelType; + +/** + The address is the token returned from APNS to be used to send push notifications + @returns address + */ +@property (nonatomic, readwrite) NSString *_Nullable address; + +/** + A string representing the opt out option of the endpoint profile. + It defaults to ALL or NONE depending on if the user has allowed remote push notifications. + @returns optOut + */ +@property (nonatomic, readwrite) NSString *_Nullable optOut; + +/** + The effectiveDate of the profile + Defaults to current time + @returns effectiveDate + */ +@property (nonatomic, readonly) UTCTimeMillis effectiveDate; + +/** + The AWSPinpointEndpointProfileLocation facet of the endpoint profile + @returns location + */ +@property (nonatomic, readwrite) AWSPinpointEndpointProfileLocation *_Nullable location; + +/** + The AWSPinpointEndpointProfileDemographic facet of the endpoint profile + @returns demographic + */ +@property (nonatomic, readwrite) AWSPinpointEndpointProfileDemographic *_Nullable demographic; + +/** + The AWSPinpointEndpointProfileUser facet of the endpoint profile + @returns user + */ +@property (nonatomic, readwrite) AWSPinpointEndpointProfileUser *_Nullable user; + +/** + An AWSPinpointEndpointProfile object with the specified applicationId and endpointId + @returns AWSPinpointEndpointProfile + */ +- (instancetype) initWithApplicationId:(NSString*) applicationId + endpointId:(NSString*) endpointId; + +/** + Adds an attribute to this AWSPinpointEndpointProfile with the specified key. Only 40 attributes/metrics + are allowed to be added to an AWSPinpointEndpointProfile. If 40 attributes/metrics already exist on this AWSPinpointEndpointProfile, the call is ignored. + @param theValue The value of the attribute. The value will be truncated if it exceeds 200 characters. + @param theKey The key of the attribute. The key will be truncated if it exceeds 50 characters. + */ +- (void)addAttribute:(NSArray *)theValue + forKey:(NSString *)theKey; + +/** + Returns the value of the attribute with the specified key. + @param theKey The key of the attribute to return + @returns The attribute with the specified key, or null if attribute does not exist + */ +- (NSArray *)attributeForKey:(NSString *)theKey; + +/** + Determines if this AWSPinpointEndpointProfile contains a specific attribute + @param theKey The key of the attribute + @returns YES if this AWSPinpointEndpointProfile has an attribute with the specified key, NO otherwise + */ +- (BOOL)hasAttributeForKey:(NSString *)theKey; + +/** + Returns an Dictionary of all attributes contained within this AWSPinpointEndpointProfile + @returns an Dictionary of all attributes, where the attribute keys are the keys and the attribute values are the values + */ +- (NSDictionary*) allAttributes; + +/** + Adds a metric to this AWSPinpointEndpointProfile with the specified key. Only 40 attributes/metrics + are allowed to be added to an AWSPinpointEndpointProfile. If 40 attribute/metrics already exist on this AWSPinpointEndpointProfile, the call is ignored. + @param theValue The value of the metric. + @param theKey The key of the metric. The key will be truncated if it exceeds 50 characters. + */ +- (void)addMetric:(NSNumber *)theValue + forKey:(NSString *)theKey; + +/** + Returns the value of the metric with the specified key. + @param theKey The key of the metric to return + @returns The metric with the specified key, or null if metric does not exist + */ +- (NSNumber *)metricForKey:(NSString *)theKey; + +/** + Determines if this AWSPinpointEndpointProfile contains a specific metric + @param theKey The key of the metric + @returns YES if this AWSPinpointEndpointProfile has a metric with the specified key, NO otherwise + */ +- (BOOL)hasMetricForKey:(NSString *)theKey; + +/** + Returns an Dictionary of all metrics contained within this AWSPinpointEndpointProfile + @returns an Dictionary of all metrics, where the metric keys are the keys and the metric values are the values + */ +- (NSDictionary*) allMetrics; + +/** + Returns an Dictionary representation of this object. + @returns an Dictionary representation of this AWSPinpointEndpointProfile object. + */ +- (NSDictionary *) toDictionary; + +@end + +/** + The Endpoint Demographic contains information about the device to be target for messaging. + */ +@interface AWSPinpointEndpointProfileDemographic : NSObject + +/** + Returns an instance of AWSPinpointEndpointProfileDemographic with default values. + @returns make + */ ++ (instancetype) defaultAWSPinpointEndpointProfileDemographic; + +/** + The make defaults to apple + @returns make + */ +@property (nonatomic, readonly) NSString *_Nullable make; + +/** + Defaults to [UIDevice currentDevice].model + @returns model + */ +@property (nonatomic, readwrite) NSString *_Nullable model; + +/** + Defaults to [[NSTimeZone systemTimeZone] name] + @returns timezone + */ +@property (nonatomic, readwrite) NSString *_Nullable timezone; + +/** + Defaults to [[NSLocale autoupdatingCurrentLocale] localeIdentifier] + @returns locale + */ +@property (nonatomic, readwrite) NSString *_Nullable locale; + +/** + Defaults to [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"] + @returns appVersion + */ +@property (nonatomic, readwrite) NSString *_Nullable appVersion; + +/** + Defaults to [UIDevice currentDevice].systemName + @returns platform + */ +@property (nonatomic, readwrite) NSString *_Nullable platform; + +/** + Defaults to [UIDevice currentDevice].systemVersion + @returns platformVersion + */ +@property (nonatomic, readwrite) NSString *_Nullable platformVersion; + +@end + +/** + The Endpoint profile contains information about the location of the device/user to be target for messaging. + */ +@interface AWSPinpointEndpointProfileLocation : NSObject + +/** + The latitude coordinate of the device + @returns latitude + */ +@property (nonatomic, strong) NSNumber *_Nullable latitude; + +/** + The longitude coordinate of the device + @returns longitude + */ +@property (nonatomic, strong) NSNumber *_Nullable longitude; + +/** + The postal code location of the device + @returns postalCode + */ +@property (nonatomic, strong) NSString *_Nullable postalCode; + +/** + The city of the location + @returns city + */ +@property (nonatomic, strong) NSString *_Nullable city; + +/** + The region of the location + @returns region + */ +@property (nonatomic, strong) NSString *_Nullable region; + +/** + the country of the location + @returns country + */ +@property (nonatomic, strong) NSString *_Nullable country; + +@end + +/** + The Endpoint profile contains information about the user to be target for messaging. + */ +@interface AWSPinpointEndpointProfileUser : NSObject + +/** + The userId of the endpoint profile. + @returns userId + */ +@property (nonatomic, strong) NSString *_Nullable userId; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEvent.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEvent.h new file mode 100755 index 0000000..554432d --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEvent.h @@ -0,0 +1,147 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +typedef uint64_t UTCTimeMillis; + +@class AWSPinpointContext, AWSPinpointSession; + +NS_ASSUME_NONNULL_BEGIN + +/** + Represents an analytics event. An event must have an event type. + */ +@interface AWSPinpointEvent : NSObject + +/** + Returns the name/type of this AWSPinpointEvent. + + @returns the name/type of this AWSPinpointEvent. + */ +@property (nonatomic, readonly) NSString* eventType; + +/** + Returns the timestamp of the event. + + @returns the timestamp of this AWSPinpointEvent. + */ +@property (nonatomic, readonly) UTCTimeMillis eventTimestamp; + +/** + Returns the sesion of the event. + The session should be populated with the current session in AWSPinpointSessionClient. If no session exists a session is started. + + @returns the session of this AWSPinpointEvent. + */ +@property (nonatomic, readonly) AWSPinpointSession *session; + +/** + Initializes an event object with specified type and the current timestamp. + + @param theEventType The name/type of the event. + @param session The session object. Should be retrieved from AWSPinpointSessionClient + */ +-(instancetype)initWithEventType:(NSString*) theEventType + session:(AWSPinpointSession*) session; + +/** + Initializes an event object with specified type and timestamp. + + @param theEventType The name/type of the event. + @param theEventTimestamp The timestamp of the event. + @param session The session object. Should be retrieved from AWSPinpointSessionClient + */ +-(instancetype)initWithEventType:(NSString*) theEventType + eventTimestamp:(UTCTimeMillis) theEventTimestamp + session:(AWSPinpointSession*) session; + +/** + Adds an attribute to this AWSPinpointEvent with the specified key. Only 50 attributes/metrics. + are allowed to be added to an AWSPinpointEvent. If 50 attributes/metrics already exist on this AWSPinpointEvent, the call is ignored. + + @param theValue The value of the attribute. The value will be truncated if it exceeds 200 characters. + @param theKey The key of the attribute. The key will be truncated if it exceeds 50 characters. + */ +- (void)addAttribute:(NSString *)theValue + forKey:(NSString *)theKey; + +/** + Adds a metric to this AWSPinpointEvent with the specified key. Only 50 attributes/metrics. + are allowed to be added to an AWSPinpointEvent. If 50 attribute/metrics already exist on this AWSPinpointEvent, the call is ignored. + + @param theValue The value of the metric. + @param theKey The key of the metric. The key will be truncated if it exceeds 50 characters. + */ +- (void)addMetric:(NSNumber *)theValue + forKey:(NSString *)theKey; + +/** + Returns the value of the attribute with the specified key. + + @param theKey The key of the attribute to return. + @returns The attribute with the specified key, or null if attribute does not exist. + */ +- (NSString *)attributeForKey:(NSString *)theKey; + +/** + Returns the value of the metric with the specified key. + + @param theKey The key of the metric to return. + @returns The metric with the specified key, or null if metric does not exist. + */ +- (NSNumber *)metricForKey:(NSString *)theKey; + +/** + Determines if this AWSPinpointEvent contains a specific attribute. + + @param theKey The key of the attribute + @returns YES if this AWSPinpointEvent has an attribute with the specified key, NO otherwise. + */ +- (BOOL)hasAttributeForKey:(NSString *)theKey; + +/** + Determines if this AWSPinpointEvent contains a specific metric. + + @param theKey The key of the metric + @returns YES if this AWSPinpointEvent has a metric with the specified key, NO otherwise. + */ +- (BOOL)hasMetricForKey:(NSString *)theKey; + +/** + Returns an NSDictionary of all attributes contained within this AWSPinpointEvent. + + @returns an NSDictionary of all attributes, where the attribute keys are the keys and the attribute values are the values. + */ +- (NSDictionary*) allAttributes; + +/** + Returns an NSDictionary of all metrics contained within this AWSPinpointEvent. + + @returns an NSDictionary of all metrics, where the metric keys are the keys and the metric values are the values. + */ +- (NSDictionary*) allMetrics; + +/** + Returns an NSDictionary representation of this object. + + @returns an NSDictionary representation of this AWSPinpointEvent object. + */ +- (NSDictionary *)toDictionary; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEventRecorder.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEventRecorder.h new file mode 100755 index 0000000..d025084 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointEventRecorder.h @@ -0,0 +1,115 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import + +@class AWSPinpointEvent,AWSPinpointContext,AWSPinpointTargetingClient; + +NS_ASSUME_NONNULL_BEGIN + +/** + When a `saveEvent:` operation causes the disk size to exceed `notificationByteThreshold`, it posts `AWSPinpointEventByteThresholdReachedNotification`. + */ +FOUNDATION_EXPORT NSString *const AWSPinpointEventByteThresholdReachedNotification; + +/** + You can retrieve the disk bytes used from the `notification.userInfo` dictionary with this key. + */ +FOUNDATION_EXPORT NSString *const AWSPinpointEventByteThresholdReachedNotificationDiskBytesUsedKey; + +/** + `AWSPinpointEventRecorder` stores events to a local sql lite databse and submits them to Pinpoint. + + This is the low level client used to record events to local storage. + + You should only use this class for more advanced controls over your events stored locally. Please use `AWSPinpointAnalyticsClient` for recording events. + */ +@interface AWSPinpointEventRecorder : AWSService + +/** + The number of bytes currently used to store AWSPinpointEvent objects on disk. + */ +@property (nonatomic, assign, readonly) uint64_t diskBytesUsed; + +/** + The threshold of disk bytes for notification. When exceeded, `saveEvent:` posts AWSPinpointEventByteThresholdReachedNotification. The default is 0 meaning it will not post the notification. + @discussion The `notificationByteThreshold` should be smaller than `diskByteLimit`. + */ +@property (nonatomic, assign) NSUInteger notificationByteThreshold; + +/** + The limit of the disk cache size in bytes. When exceeded, older requests will be discarded. Setting this value to 0.0 meaning no practical limit. The default value is 5MB. + */ +@property (nonatomic, assign) NSUInteger diskByteLimit; + +/** + The age limit of the cached requests. When exceeded, requests older than the specified age will be discarded. Setting this value to 0 meaning no practical limit. The default is no age limit. + */ +@property (nonatomic, assign) NSTimeInterval diskAgeLimit; + +/** + The maxium batch data size in bytes. The default value is 512KB. The maximum is 4MB. + */ +@property (nonatomic, assign) NSUInteger batchRecordsByteLimit; + +/** + Saves an event to local storage to be sent later. + + @param event The event to send to Amazon Pinpoint. + + @return AWSTask - task.result contains the saved event. + */ +- (AWSTask *) saveEvent:(AWSPinpointEvent *) event; + +/** + Retrieves events in local storage. + + @return AWSTask - task.result contains an array of AWSPinpointEvent objects. + */ +- (AWSTask *> *) getEvents; + +/** + Retrieves dirty events in local storage. + + @return AWSTask - task.result contains an array of AWSPinpointEvent objects. + */ +- (AWSTask *> *) getDirtyEvents; + +/** + Submits all locally saved events to Amazon Pinpoint. Events that are successfully sent will be deleted from the device. Events that fail due to the device being offline will stop the submission process and be kept. Events that fail due to other reasons (such as the event being invalid) will be marked dirty and moved to a dirty table. + + @return AWSTask - task.result contains an array of AWSPinpointEvent objects that were submitted. + */ +- (AWSTask *> *)submitAllEvents; + +/** + Removes all events saved to disk. + + @return AWSTask - task.result is always nil. + */ +- (AWSTask *)removeAllEvents; + +/** + Removes all dirty events saved to disk. + + @return AWSTask - task.result is always nil. + */ +- (AWSTask *)removeAllDirtyEvents; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointNotificationManager.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointNotificationManager.h new file mode 100755 index 0000000..282bdb8 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointNotificationManager.h @@ -0,0 +1,70 @@ +/* + Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. + A copy of the License is located at + + http://aws.amazon.com/apache2.0 + + or in the "license" file accompanying this file. This file is distributed + on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + express or implied. See the License for the specific language governing + permissions and limitations under the License. + */ + +#import +#import + +@class AWSPinpoint; + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString * const AWSDeviceTokenKey; +FOUNDATION_EXPORT NSString * const AWSDataKey; +FOUNDATION_EXPORT NSString * const AWSPinpointKey; +FOUNDATION_EXPORT NSString * const AWSPinpointCampaignKey; + +@interface AWSPinpointNotificationManager : NSObject + +#pragma mark - Notification Helpers +/** + Returns a Boolean indicating whether the app is currently registered for remote notifications. + @return BOOL YES if the app is registered for remote notifications and received its device token or NO if registration has not occurred, has failed, or has been denied by the user. + */ ++ (BOOL)isNotificationEnabled; + +#pragma mark - Interceptors +/** + Intercepts the `- application:didFinishLaunchingWithOptions:` application delegate. + + Targeting must intercept this callback in order to report campaign analytics correctly. + + @param launchOptions A dictionary indicating the reason the app was launched (if any). The contents of this dictionary may be empty in situations where the user launched the app directly. For information about the possible keys in this dictionary and how to handle them. + */ +- (BOOL)interceptDidFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions; + +/** + Intercepts the `- application:didRegisterForRemoteNotificationsWithDeviceToken:` application delegate. + + Targeting must intercept this callback in order to report campaign analytics correctly. + + @param deviceToken A token that identifies the device to APNs. + */ +- (void)interceptDidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken; + +/** + Intercepts the `- application:didReceiveRemoteNotification:fetchCompletionHandler:` application delegate. + + Targeting must intercept this callback in order to report campaign analytics correctly. + + @param userInfo A dictionary that contains information related to the remote notification, potentially including a badge number for the app icon, an alert sound, an alert message to display to the user, a notification identifier, and custom data. The provider originates it as a JSON-defined dictionary that iOS converts to an `NSDictionary` object; the dictionary may contain only property-list objects plus `NSNull`. + @param handler The block to execute when the download operation is complete. When calling this block, pass in the fetch result value that best describes the results of your download operation. You must call this handler and should do so as soon as possible. For a list of possible values, see the UIBackgroundFetchResult type. + */ +- (void)interceptDidReceiveRemoteNotification:(NSDictionary *)userInfo + fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler; + +@end + +NS_ASSUME_NONNULL_END + diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointService.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointService.h new file mode 100755 index 0000000..5f4514c --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointService.h @@ -0,0 +1,77 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@class AWSPinpointConfiguration, AWSPinpointTargetingClient, AWSPinpointAnalyticsClient, AWSPinpointNotificationManager, AWSPinpointSessionClient; + +/** + Amazon Pinpoint + */ +@interface AWSPinpoint : NSObject + +/** + Returns the `AWSPinpointTargetingClient`. The TargetingClient is the high level client to be used for updating the endpoint profile. + + @returns the `AWSPinpointTargetingClient` to update endpoint profile information. + */ +@property (nonatomic, readonly) AWSPinpointTargetingClient * targetingClient; + +/** + Returns the `AWSPinpointAnalyticsClient`. The AnalyticsClient is the high level client to be used for recording and sending events. + + @returns the `AWSPinpointAnalyticsClient` to create, record, and submit events. + */ +@property (nonatomic, readonly) AWSPinpointAnalyticsClient * analyticsClient; + +/** + Returns the `AWSPinpointNotificationManager`. It contains callback interceptors that need to be called for campaign analytics to work. + + @returns the `AWSPinpointNotificationManager` used for targeting campaign analytics. + */ +@property (nonatomic, readonly) AWSPinpointNotificationManager * notificationManager; + +/** + Returns the `AWSPinpointSessionClient`. The session client should be used only if enableAutoSessionRecording is false. + + @returns the `AWSPinpointSessionClient` used for recording session events. + */ +@property (nonatomic, readonly) AWSPinpointSessionClient * sessionClient; + +/** + Returns the `AWSPinpointConfiguration`. The configuration passed in to initialize the SDK. + + @returns the `AWSPinpointConfiguration`. + */ +@property (nonatomic, readonly) AWSPinpointConfiguration * configuration; + +/** + Creates an `AWSPinpoint` instance with the specified `configuration` if the instance does not already exists for the configurations' `appId`. If an instance exists for the given `appId`, returns the existing instance. `configuration` are ignored if an instance exists for the given `appId`. The strong reference to the instance is maintained by `AWSPinpoint`, and the developer does not need to retain it manually. + + This initializer should be called inside your AppDelegates' application:didFinishLaunchingWithOptions: method. + + @param configuration A configuration object. By default, it uses [AWSServiceManager defaultServiceManager].defaultServiceConfiguration to access the service. + + @returns The AWSPinpoint instance with the specified appId or nil if serviceConfiguration is invalid or appId is empty. + */ ++ (nonnull instancetype)pinpointWithConfiguration:(AWSPinpointConfiguration *)configuration; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointSessionClient.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointSessionClient.h new file mode 100755 index 0000000..960af40 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointSessionClient.h @@ -0,0 +1,97 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +@class AWSPinpointEvent, AWSPinpointSession; + + +typedef __nullable id(^AWSPinpointTimeoutBlock)(AWSTask *task); + +/** + The session object needs that the session client keeps track of, the session information is added to each event recorded. + */ +@interface AWSPinpointSession : NSObject + +/** + The start timestamp is populated when the client start the session. + */ +@property (nonatomic, strong, readonly) NSDate *startTime; + +/** + The stop timestamp is polated when the client stops the session. + */ +@property (nonatomic, strong, readonly) NSDate *stopTime; + +/** + The session id is populated when the client creates a new session. + */ +@property (nonatomic, strong, readonly) NSString *sessionId; + +@end + + +/** + The session client records analytics session events. + + You should only use this class to manually control session events if you have enableAutoSessionRecording set to false. See AWSPinpointConfiguration. + */ +@interface AWSPinpointSessionClient : NSObject + +/** + The current session object. + */ +@property (nonatomic, readonly) AWSPinpointSession *session; + +/** + Starts the session by recording an event of type "_session.start" + If a session is currently active then that session is stopped and a new session started. + + @return AWSTask - task.result contains the start event. + */ +- (AWSTask*)startSession; + +/** + Stops the session by recording an event of type "_session.stop" + + @return AWSTask - task.result contains the stop event. + */ +- (AWSTask*)stopSession; + +/** + Pauses the session by recording an event of type "_session.pause" + @param timeoutEnabled If this is enabled then the session will timeout after 5 seconds and a session stop will be recorded. (Session timeout if configurable in AWSPinpointConfiguration) + @param timeoutCompletionBlock The block that will be executed after timeout has completed and submission of events has occurred, task.result will contain events that were submitted. + + @return AWSTask - task.result contains the pause event. + */ +- (AWSTask*)pauseSessionWithTimeoutEnabled:(BOOL) timeoutEnabled + timeoutCompletionBlock:(nullable AWSPinpointTimeoutBlock) timeoutCompletionBlock; + +/** + Resumes the session by recording an event of type "_session.resume" + If no session is active then a new session is started. + If the timeout of 5 seconds has passed, then the current session is stopped and a new session started. (Session timeout if configurable in AWSPinpointConfiguration) + + @return AWSTask - task.result contains the resume event. + */ +- (AWSTask*)resumeSession; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargeting.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargeting.h new file mode 100755 index 0000000..397ff0d --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargeting.h @@ -0,0 +1,25 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +//! Project version number for AWSPinpointTargeting. +FOUNDATION_EXPORT double AWSPinpointTargetingVersionNumber; + +//! Project version string for AWSPinpointTargeting. +FOUNDATION_EXPORT const unsigned char AWSPinpointTargetingVersionString[]; + +#import +#import "AWSPinpointTargetingService.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingClient.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingClient.h new file mode 100755 index 0000000..f42d6e9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingClient.h @@ -0,0 +1,70 @@ +/* + Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. + + Licensed under the Apache License, Version 2.0 (the "License"). + You may not use this file except in compliance with the License. + A copy of the License is located at + + http://aws.amazon.com/apache2.0 + + or in the "license" file accompanying this file. This file is distributed + on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + express or implied. See the License for the specific language governing + permissions and limitations under the License. + */ + +#import + +NS_ASSUME_NONNULL_BEGIN + +@class AWSPinpointDeliveryClient, AWSPinpointContext, AWSPinpointEndpointProfile, AWSTask; + +@interface AWSPinpointTargetingClient : NSObject + +/** + * Returns the current endpoint. + * @return (id) + */ +- (AWSPinpointEndpointProfile*) currentEndpointProfile; + +/** + * Sends an update of the current endpoint + */ +- (AWSTask *)updateEndpointProfile; + +/** + * Updates with the provided endpoint profile, AWSPinpointTargetingClient attributes and metrics are added to the profile. + */ +- (AWSTask *)updateEndpointProfile:(AWSPinpointEndpointProfile*) endpointProfile; + +/** + * Adds the specified attribute to the current endpoint profile generated by this client. + * @param theValue A list of strings with the values of the attribute + * @param theKey the name of the attribute to add + */ +- (void)addAttribute:(NSArray *)theValue + forKey:(NSString *)theKey; + +/** + * Removes the specified attribute from the current endpoint profile generated by this client. + * @param theKey the key of the attribute to remove + */ +- (void)removeAttributeForKey:(NSString*) theKey; + +/** + * Adds the specified metric to the current endpoint profile generated by this client. + * @param theValue the value of the metric + * @param theKey the name of the metric to add + */ +- (void)addMetric:(NSNumber *)theValue + forKey:(NSString *)theKey; + +/** + * Removes the specified metric from the current endpoint profile generated by this client. + * @param theKey the key of the metric to remove + */ +- (void)removeMetricForKey:(NSString*) theKey; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingModel.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingModel.h new file mode 100755 index 0000000..92c11d3 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingModel.h @@ -0,0 +1,2688 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSPinpointTargetingErrorDomain; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingErrorType) { + AWSPinpointTargetingErrorUnknown, + AWSPinpointTargetingErrorBadRequest, + AWSPinpointTargetingErrorForbidden, + AWSPinpointTargetingErrorInternalServerError, + AWSPinpointTargetingErrorMethodNotAllowed, + AWSPinpointTargetingErrorNotFound, + AWSPinpointTargetingErrorTooManyRequests, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingAction) { + AWSPinpointTargetingActionUnknown, + AWSPinpointTargetingActionOpenApp, + AWSPinpointTargetingActionDeepLink, + AWSPinpointTargetingActionUrl, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingAttributeType) { + AWSPinpointTargetingAttributeTypeUnknown, + AWSPinpointTargetingAttributeTypeInclusive, + AWSPinpointTargetingAttributeTypeExclusive, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingCampaignStatus) { + AWSPinpointTargetingCampaignStatusUnknown, + AWSPinpointTargetingCampaignStatusScheduled, + AWSPinpointTargetingCampaignStatusExecuting, + AWSPinpointTargetingCampaignStatusPendingNextRun, + AWSPinpointTargetingCampaignStatusCompleted, + AWSPinpointTargetingCampaignStatusPaused, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingChannelType) { + AWSPinpointTargetingChannelTypeUnknown, + AWSPinpointTargetingChannelTypeApns, + AWSPinpointTargetingChannelTypeGcm, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingDimensionType) { + AWSPinpointTargetingDimensionTypeUnknown, + AWSPinpointTargetingDimensionTypeInclusive, + AWSPinpointTargetingDimensionTypeExclusive, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingDuration) { + AWSPinpointTargetingDurationUnknown, + AWSPinpointTargetingDurationHr24, + AWSPinpointTargetingDurationDay7, + AWSPinpointTargetingDurationDay14, + AWSPinpointTargetingDurationDay30, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingFormat) { + AWSPinpointTargetingFormatUnknown, + AWSPinpointTargetingFormatCsv, + AWSPinpointTargetingFormatJson, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingFrequency) { + AWSPinpointTargetingFrequencyUnknown, + AWSPinpointTargetingFrequencyOnce, + AWSPinpointTargetingFrequencyHourly, + AWSPinpointTargetingFrequencyDaily, + AWSPinpointTargetingFrequencyWeekly, + AWSPinpointTargetingFrequencyMonthly, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingJobStatus) { + AWSPinpointTargetingJobStatusUnknown, + AWSPinpointTargetingJobStatusCreated, + AWSPinpointTargetingJobStatusInitializing, + AWSPinpointTargetingJobStatusProcessing, + AWSPinpointTargetingJobStatusCompleting, + AWSPinpointTargetingJobStatusCompleted, + AWSPinpointTargetingJobStatusFailing, + AWSPinpointTargetingJobStatusFailed, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingRecencyType) { + AWSPinpointTargetingRecencyTypeUnknown, + AWSPinpointTargetingRecencyTypeActive, + AWSPinpointTargetingRecencyTypeInactive, +}; + +typedef NS_ENUM(NSInteger, AWSPinpointTargetingSegmentType) { + AWSPinpointTargetingSegmentTypeUnknown, + AWSPinpointTargetingSegmentTypeDimensional, + AWSPinpointTargetingSegmentTypeImport, +}; + +@class AWSPinpointTargetingAPNSChannelRequest; +@class AWSPinpointTargetingAPNSChannelResponse; +@class AWSPinpointTargetingActivitiesResponse; +@class AWSPinpointTargetingActivityResponse; +@class AWSPinpointTargetingApplicationSettingsResource; +@class AWSPinpointTargetingAttributeDimension; +@class AWSPinpointTargetingCampaignLimits; +@class AWSPinpointTargetingCampaignResponse; +@class AWSPinpointTargetingCampaignState; +@class AWSPinpointTargetingCampaignsResponse; +@class AWSPinpointTargetingCreateCampaignRequest; +@class AWSPinpointTargetingCreateCampaignResponse; +@class AWSPinpointTargetingCreateImportJobRequest; +@class AWSPinpointTargetingCreateImportJobResponse; +@class AWSPinpointTargetingCreateSegmentRequest; +@class AWSPinpointTargetingCreateSegmentResponse; +@class AWSPinpointTargetingDeleteApnsChannelRequest; +@class AWSPinpointTargetingDeleteApnsChannelResponse; +@class AWSPinpointTargetingDeleteCampaignRequest; +@class AWSPinpointTargetingDeleteCampaignResponse; +@class AWSPinpointTargetingDeleteGcmChannelRequest; +@class AWSPinpointTargetingDeleteGcmChannelResponse; +@class AWSPinpointTargetingDeleteSegmentRequest; +@class AWSPinpointTargetingDeleteSegmentResponse; +@class AWSPinpointTargetingEndpointBatchItem; +@class AWSPinpointTargetingEndpointBatchRequest; +@class AWSPinpointTargetingEndpointDemographic; +@class AWSPinpointTargetingEndpointLocation; +@class AWSPinpointTargetingEndpointRequest; +@class AWSPinpointTargetingEndpointResponse; +@class AWSPinpointTargetingEndpointUser; +@class AWSPinpointTargetingGCMChannelRequest; +@class AWSPinpointTargetingGCMChannelResponse; +@class AWSPinpointTargetingGetApnsChannelRequest; +@class AWSPinpointTargetingGetApnsChannelResponse; +@class AWSPinpointTargetingGetApplicationSettingsRequest; +@class AWSPinpointTargetingGetApplicationSettingsResponse; +@class AWSPinpointTargetingGetCampaignActivitiesRequest; +@class AWSPinpointTargetingGetCampaignActivitiesResponse; +@class AWSPinpointTargetingGetCampaignRequest; +@class AWSPinpointTargetingGetCampaignResponse; +@class AWSPinpointTargetingGetCampaignVersionRequest; +@class AWSPinpointTargetingGetCampaignVersionResponse; +@class AWSPinpointTargetingGetCampaignVersionsRequest; +@class AWSPinpointTargetingGetCampaignVersionsResponse; +@class AWSPinpointTargetingGetCampaignsRequest; +@class AWSPinpointTargetingGetCampaignsResponse; +@class AWSPinpointTargetingGetEndpointRequest; +@class AWSPinpointTargetingGetEndpointResponse; +@class AWSPinpointTargetingGetGcmChannelRequest; +@class AWSPinpointTargetingGetGcmChannelResponse; +@class AWSPinpointTargetingGetImportJobRequest; +@class AWSPinpointTargetingGetImportJobResponse; +@class AWSPinpointTargetingGetImportJobsRequest; +@class AWSPinpointTargetingGetImportJobsResponse; +@class AWSPinpointTargetingGetSegmentImportJobsRequest; +@class AWSPinpointTargetingGetSegmentImportJobsResponse; +@class AWSPinpointTargetingGetSegmentRequest; +@class AWSPinpointTargetingGetSegmentResponse; +@class AWSPinpointTargetingGetSegmentVersionRequest; +@class AWSPinpointTargetingGetSegmentVersionResponse; +@class AWSPinpointTargetingGetSegmentVersionsRequest; +@class AWSPinpointTargetingGetSegmentVersionsResponse; +@class AWSPinpointTargetingGetSegmentsRequest; +@class AWSPinpointTargetingGetSegmentsResponse; +@class AWSPinpointTargetingImportJobRequest; +@class AWSPinpointTargetingImportJobResource; +@class AWSPinpointTargetingImportJobResponse; +@class AWSPinpointTargetingImportJobsResponse; +@class AWSPinpointTargetingMessage; +@class AWSPinpointTargetingMessageBody; +@class AWSPinpointTargetingMessageConfiguration; +@class AWSPinpointTargetingQuietTime; +@class AWSPinpointTargetingRecencyDimension; +@class AWSPinpointTargetingSchedule; +@class AWSPinpointTargetingSegmentBehaviors; +@class AWSPinpointTargetingSegmentDemographics; +@class AWSPinpointTargetingSegmentDimensions; +@class AWSPinpointTargetingSegmentImportResource; +@class AWSPinpointTargetingSegmentLocation; +@class AWSPinpointTargetingSegmentResponse; +@class AWSPinpointTargetingSegmentsResponse; +@class AWSPinpointTargetingSetDimension; +@class AWSPinpointTargetingTreatmentResource; +@class AWSPinpointTargetingUpdateApnsChannelRequest; +@class AWSPinpointTargetingUpdateApnsChannelResponse; +@class AWSPinpointTargetingUpdateApplicationSettingsRequest; +@class AWSPinpointTargetingUpdateApplicationSettingsResponse; +@class AWSPinpointTargetingUpdateCampaignRequest; +@class AWSPinpointTargetingUpdateCampaignResponse; +@class AWSPinpointTargetingUpdateEndpointRequest; +@class AWSPinpointTargetingUpdateEndpointResponse; +@class AWSPinpointTargetingUpdateEndpointsBatchRequest; +@class AWSPinpointTargetingUpdateEndpointsBatchResponse; +@class AWSPinpointTargetingUpdateGcmChannelRequest; +@class AWSPinpointTargetingUpdateGcmChannelResponse; +@class AWSPinpointTargetingUpdateSegmentRequest; +@class AWSPinpointTargetingUpdateSegmentResponse; +@class AWSPinpointTargetingWriteApplicationSettingsRequest; +@class AWSPinpointTargetingWriteCampaignRequest; +@class AWSPinpointTargetingWriteSegmentRequest; +@class AWSPinpointTargetingWriteTreatmentResource; + +/** + + */ +@interface AWSPinpointTargetingAPNSChannelRequest : AWSModel + + +/** + The distribution certificate from Apple. + */ +@property (nonatomic, strong) NSString * _Nullable certificate; + +/** + The certificate private key. + */ +@property (nonatomic, strong) NSString * _Nullable privateKey; + +@end + +/** + + */ +@interface AWSPinpointTargetingAPNSChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + When was this segment created + */ +@property (nonatomic, strong) NSString * _Nullable creationDate; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Is this channel archived + */ +@property (nonatomic, strong) NSNumber * _Nullable isArchived; + +/** + Who last updated this entry + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedBy; + +/** + Last date this was updated + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedDate; + +/** + The platform type. Will be APNS. + */ +@property (nonatomic, strong) NSString * _Nullable platform; + +/** + Version of channel + */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +@end + +/** + + */ +@interface AWSPinpointTargetingActivitiesResponse : AWSModel + + +/** + List of campaign activities + */ +@property (nonatomic, strong) NSArray * _Nullable item; + +@end + +/** + + */ +@interface AWSPinpointTargetingActivityResponse : AWSModel + + +/** + The ID of the application to which the campaign applies. + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + The ID of the campaign to which the activity applies. + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +/** + The actual time the activity was marked CANCELLED or COMPLETED. Provided in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable end; + +/** + The unique activity ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Indicates whether the activity succeeded.Valid values: SUCCESS, FAIL + */ +@property (nonatomic, strong) NSString * _Nullable result; + +/** + The scheduled start time for the activity in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable scheduledStart; + +/** + The actual start time of the activity in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable start; + +/** + The state of the activity.Valid values: PENDING, INITIALIZING, RUNNING, PAUSED, CANCELLED, COMPLETED + */ +@property (nonatomic, strong) NSString * _Nullable state; + +/** + The total number of endpoints to which the campaign successfully delivered messages. + */ +@property (nonatomic, strong) NSNumber * _Nullable successfulEndpointCount; + +/** + The total number of endpoints to which the campaign attempts to deliver messages. + */ +@property (nonatomic, strong) NSNumber * _Nullable totalEndpointCount; + +/** + The ID of a variation of the campaign used for A/B testing. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentId; + +@end + +/** + + */ +@interface AWSPinpointTargetingApplicationSettingsResource : AWSModel + + +/** + The unique ID for the application. + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + The date that the settings were last updated in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedDate; + +/** + The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignLimits * _Nullable limits; + +/** + The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own. + */ +@property (nonatomic, strong) AWSPinpointTargetingQuietTime * _Nullable quietTime; + +@end + +/** + + */ +@interface AWSPinpointTargetingAttributeDimension : AWSModel + + +/** + The type of dimension: INCLUSIVE – Endpoints that match the criteria are included in the segment. EXCLUSIVE – Endpoints that match the criteria are excluded from the segment. + */ +@property (nonatomic, assign) AWSPinpointTargetingAttributeType attributeType; + +/** + The criteria values for the segment dimension. Endpoints with matching attribute values are included or excluded from the segment, depending on the setting for Type. + */ +@property (nonatomic, strong) NSArray * _Nullable values; + +@end + +/** + + */ +@interface AWSPinpointTargetingCampaignLimits : AWSModel + + +/** + The maximum number of messages that the campaign can send daily. + */ +@property (nonatomic, strong) NSNumber * _Nullable daily; + +/** + The maximum total number of messages that the campaign can send. + */ +@property (nonatomic, strong) NSNumber * _Nullable total; + +@end + +/** + + */ +@interface AWSPinpointTargetingCampaignResponse : AWSModel + + +/** + Treatments that are defined in addition to the default treatment. + */ +@property (nonatomic, strong) NSArray * _Nullable additionalTreatments; + +/** + The ID of the application to which the campaign applies. + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + The date the campaign was created in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable creationDate; + +/** + The status of the campaign's default treatment. Only present for A/B test campaigns. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignState * _Nullable defaultState; + +/** + A description of the campaign. + */ +@property (nonatomic, strong) NSString * _Nullable detail; + +/** + The allocated percentage of end users who will not receive messages from this campaign. + */ +@property (nonatomic, strong) NSNumber * _Nullable holdoutPercent; + +/** + The unique campaign ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false. + */ +@property (nonatomic, strong) NSNumber * _Nullable isPaused; + +/** + The date the campaign was last updated in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedDate; + +/** + The campaign limits settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignLimits * _Nullable limits; + +/** + The message configuration settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessageConfiguration * _Nullable messageConfiguration; + +/** + The custom name of the campaign. + */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** + The campaign schedule. + */ +@property (nonatomic, strong) AWSPinpointTargetingSchedule * _Nullable schedule; + +/** + The ID of the segment to which the campaign sends messages. + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + The version of the segment to which the campaign sends messages. + */ +@property (nonatomic, strong) NSNumber * _Nullable segmentVersion; + +/** + The campaign status.An A/B test campaign will have a status of COMPLETED only when all treatments have a status of COMPLETED. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignState * _Nullable state; + +/** + A custom description for the treatment. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentDescription; + +/** + The custom name of a variation of the campaign used for A/B testing. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentName; + +/** + The campaign version number. + */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +@end + +/** + + */ +@interface AWSPinpointTargetingCampaignState : AWSModel + + +/** + The status of the campaign, or the status of a treatment that belongs to an A/B test campaign.Valid values: SCHEDULED, EXECUTING, PENDING_NEXT_RUN, COMPLETED, PAUSED + */ +@property (nonatomic, assign) AWSPinpointTargetingCampaignStatus campaignStatus; + +@end + +/** + + */ +@interface AWSPinpointTargetingCampaignsResponse : AWSModel + + +/** + A list of campaigns. + */ +@property (nonatomic, strong) NSArray * _Nullable item; + +/** + The string that you use in a subsequent request to get the next page of results in a paginated response. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSPinpointTargetingCreateCampaignRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingWriteCampaignRequest * _Nullable writeCampaignRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingCreateCampaignResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignResponse * _Nullable campaignResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingCreateImportJobRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingImportJobRequest * _Nullable importJobRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingCreateImportJobResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingImportJobResponse * _Nullable importJobResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingCreateSegmentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingWriteSegmentRequest * _Nullable writeSegmentRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingCreateSegmentResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentResponse * _Nullable segmentResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteApnsChannelRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteApnsChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingAPNSChannelResponse * _Nullable APNSChannelResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteCampaignRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteCampaignResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignResponse * _Nullable campaignResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteGcmChannelRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteGcmChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingGCMChannelResponse * _Nullable GCMChannelResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteSegmentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +@end + +/** + + */ +@interface AWSPinpointTargetingDeleteSegmentResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentResponse * _Nullable segmentResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointBatchItem : AWSModel + + +/** + The address or token of the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable address; + +/** + Custom attributes that your app reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create a segment. + */ +@property (nonatomic, strong) NSDictionary *> * _Nullable attributes; + +/** + The channel type.Valid values: APNS, GCM + */ +@property (nonatomic, assign) AWSPinpointTargetingChannelType channelType; + +/** + The endpoint demographic attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointDemographic * _Nullable demographic; + +/** + The last time the endpoint was updated. Provided in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable effectiveDate; + +/** + The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated. + */ +@property (nonatomic, strong) NSString * _Nullable endpointStatus; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + The endpoint location attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointLocation * _Nullable location; + +/** + Custom metrics that your app reports to Amazon Pinpoint. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metrics; + +/** + Indicates whether a user has opted out of receiving messages with one of the following values:ALL – User receives all messages. NONE – User receives no messages. + */ +@property (nonatomic, strong) NSString * _Nullable optOut; + +/** + The unique ID for the most recent request to update the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable requestId; + +/** + Custom user-specific attributes that your app reports to Amazon Pinpoint. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointUser * _Nullable user; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointBatchRequest : AWSModel + + +/** + List of items to update. Maximum 100 items + */ +@property (nonatomic, strong) NSArray * _Nullable item; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointDemographic : AWSModel + + +/** + The version of the application associated with the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable appVersion; + +/** + The endpoint locale in the following format: The ISO 639-1 alpha-2 code, followed by an underscore, followed by an ISO 3166-1 alpha-2 value. + */ +@property (nonatomic, strong) NSString * _Nullable locale; + +/** + The endpoint make, such as such as Apple or Samsung. + */ +@property (nonatomic, strong) NSString * _Nullable make; + +/** + The endpoint model, such as iPhone. + */ +@property (nonatomic, strong) NSString * _Nullable model; + +/** + The endpoint model version. + */ +@property (nonatomic, strong) NSString * _Nullable modelVersion; + +/** + The endpoint platform, such as ios or android. + */ +@property (nonatomic, strong) NSString * _Nullable platform; + +/** + The endpoint platform version. + */ +@property (nonatomic, strong) NSString * _Nullable platformVersion; + +/** + The timezone of the endpoint. Specified as a tz database value, such as Americas/Los_Angeles. + */ +@property (nonatomic, strong) NSString * _Nullable timezone; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointLocation : AWSModel + + +/** + The city where the endpoint is located. + */ +@property (nonatomic, strong) NSString * _Nullable city; + +/** + Country according to ISO 3166-1 Alpha-2 codes. For example, US. + */ +@property (nonatomic, strong) NSString * _Nullable country; + +/** + The latitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile). + */ +@property (nonatomic, strong) NSNumber * _Nullable latitude; + +/** + The longitude of the endpoint location. Rounded to one decimal (Roughly corresponding to a mile). + */ +@property (nonatomic, strong) NSNumber * _Nullable longitude; + +/** + The postal code or zip code of the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable postalCode; + +/** + The region of the endpoint location. For example, corresponds to a state in US. + */ +@property (nonatomic, strong) NSString * _Nullable region; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointRequest : AWSModel + + +/** + The address or token of the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable address; + +/** + Custom attributes that your app reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create a segment. + */ +@property (nonatomic, strong) NSDictionary *> * _Nullable attributes; + +/** + The channel type.Valid values: APNS, GCM + */ +@property (nonatomic, assign) AWSPinpointTargetingChannelType channelType; + +/** + The endpoint demographic attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointDemographic * _Nullable demographic; + +/** + The last time the endpoint was updated. Provided in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable effectiveDate; + +/** + The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated. + */ +@property (nonatomic, strong) NSString * _Nullable endpointStatus; + +/** + The endpoint location attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointLocation * _Nullable location; + +/** + Custom metrics that your app reports to Amazon Pinpoint. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metrics; + +/** + Indicates whether a user has opted out of receiving messages with one of the following values:ALL – User receives all messages. NONE – User receives no messages. + */ +@property (nonatomic, strong) NSString * _Nullable optOut; + +/** + The unique ID for the most recent request to update the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable requestId; + +/** + Custom user-specific attributes that your app reports to Amazon Pinpoint. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointUser * _Nullable user; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointResponse : AWSModel + + +/** + The address or token of the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable address; + +/** + The ID of the application associated with the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + Custom attributes that your app reports to Amazon Pinpoint. You can use these attributes as selection criteria when you create a segment. + */ +@property (nonatomic, strong) NSDictionary *> * _Nullable attributes; + +/** + The channel type.Valid values: APNS, GCM + */ +@property (nonatomic, assign) AWSPinpointTargetingChannelType channelType; + +/** + A number from 0 - 99 that represents the cohort the endpoint is assigned to. Endpoints are grouped into cohorts randomly, and each cohort contains approximately 1 percent of the endpoints for an app. Amazon Pinpoint assigns cohorts to the holdout or treatment allocations for a campaign. + */ +@property (nonatomic, strong) NSString * _Nullable cohortId; + +/** + The last time the endpoint was created. Provided in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable creationDate; + +/** + The endpoint demographic attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointDemographic * _Nullable demographic; + +/** + The last time the endpoint was updated. Provided in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable effectiveDate; + +/** + The endpoint status. Can be either ACTIVE or INACTIVE. Will be set to INACTIVE if a delivery fails. Will be set to ACTIVE if the address is updated. + */ +@property (nonatomic, strong) NSString * _Nullable endpointStatus; + +/** + The unique ID that you assigned to the endpoint. The ID should be a globally unique identifier (GUID) to ensure that it is unique compared to all other endpoints for the application. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + The endpoint location attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointLocation * _Nullable location; + +/** + Custom metrics that your app reports to Amazon Pinpoint. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metrics; + +/** + Indicates whether a user has opted out of receiving messages with one of the following values:ALL – User receives all messages. NONE – User receives no messages. + */ +@property (nonatomic, strong) NSString * _Nullable optOut; + +/** + The unique ID for the most recent request to update the endpoint. + */ +@property (nonatomic, strong) NSString * _Nullable requestId; + +/** + The ShardId of endpoint + */ +@property (nonatomic, strong) NSString * _Nullable shardId; + +/** + Custom user-specific attributes that your app reports to Amazon Pinpoint. + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointUser * _Nullable user; + +@end + +/** + + */ +@interface AWSPinpointTargetingEndpointUser : AWSModel + + +/** + Custom attributesd specific to the user. + */ +@property (nonatomic, strong) NSDictionary *> * _Nullable userAttributes; + +/** + The unique ID of the user. + */ +@property (nonatomic, strong) NSString * _Nullable userId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGCMChannelRequest : AWSModel + + +/** + Platform credential API key from Google. + */ +@property (nonatomic, strong) NSString * _Nullable apiKey; + +@end + +/** + + */ +@interface AWSPinpointTargetingGCMChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + When was this segment created + */ +@property (nonatomic, strong) NSString * _Nullable creationDate; + +/** + The GCM API key from Google. + */ +@property (nonatomic, strong) NSString * _Nullable credential; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Is this channel archived + */ +@property (nonatomic, strong) NSNumber * _Nullable isArchived; + +/** + Who last updated this entry + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedBy; + +/** + Last date this was updated + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedDate; + +/** + The platform type. Will be GCM + */ +@property (nonatomic, strong) NSString * _Nullable platform; + +/** + Version of channel + */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetApnsChannelRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetApnsChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingAPNSChannelResponse * _Nullable APNSChannelResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetApplicationSettingsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetApplicationSettingsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingApplicationSettingsResource * _Nullable applicationSettingsResource; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignActivitiesRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignActivitiesResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingActivitiesResponse * _Nullable activitiesResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignResponse * _Nullable campaignResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignVersionRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable version; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignVersionResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignResponse * _Nullable campaignResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignVersionsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignVersionsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignsResponse * _Nullable campaignsResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetCampaignsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignsResponse * _Nullable campaignsResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetEndpointRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable endpointId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetEndpointResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointResponse * _Nullable endpointResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetGcmChannelRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetGcmChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingGCMChannelResponse * _Nullable GCMChannelResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetImportJobRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable jobId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetImportJobResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingImportJobResponse * _Nullable importJobResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetImportJobsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetImportJobsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingImportJobsResponse * _Nullable importJobsResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentImportJobsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentImportJobsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingImportJobsResponse * _Nullable importJobsResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentResponse * _Nullable segmentResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentVersionRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable version; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentVersionResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentResponse * _Nullable segmentResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentVersionsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentVersionsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentsResponse * _Nullable segmentsResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable pageSize; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** + + */ +@interface AWSPinpointTargetingGetSegmentsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentsResponse * _Nullable segmentsResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingImportJobRequest : AWSModel + + +/** + Sets whether the endpoints create a segment when they are imported. + */ +@property (nonatomic, strong) NSNumber * _Nullable defineSegment; + +/** + A unique, custom ID assigned to the IAM role that restricts who can assume the role. + */ +@property (nonatomic, strong) NSString * _Nullable externalId; + +/** + The format of the files that contain the endpoint definitions. Valid values: CSV, JSON + */ +@property (nonatomic, assign) AWSPinpointTargetingFormat format; + +/** + Sets whether the endpoints are registered with Amazon Pinpoint when they are imported. + */ +@property (nonatomic, strong) NSNumber * _Nullable registerEndpoints; + +/** + The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the Amazon S3 location that contains the endpoints to import. + */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** + A URL that points to the location within an Amazon S3 bucket that contains the endpoints to import. The location can be a folder or a single file. The URL should follow this format: s3://bucket-name/folder-name/file-nameAmazon Pinpoint will import endpoints from this location and any subfolders it contains. + */ +@property (nonatomic, strong) NSString * _Nullable s3Url; + +/** + The ID of the segment to update if the import job is meant to update an existing segment. + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + A custom name for the segment created by the import job. Use if DefineSegment is true. + */ +@property (nonatomic, strong) NSString * _Nullable segmentName; + +@end + +/** + + */ +@interface AWSPinpointTargetingImportJobResource : AWSModel + + +/** + Sets whether the endpoints create a segment when they are imported. + */ +@property (nonatomic, strong) NSNumber * _Nullable defineSegment; + +/** + A unique, custom ID assigned to the IAM role that restricts who can assume the role. + */ +@property (nonatomic, strong) NSString * _Nullable externalId; + +/** + The format of the files that contain the endpoint definitions. Valid values: CSV, JSON + */ +@property (nonatomic, assign) AWSPinpointTargetingFormat format; + +/** + Sets whether the endpoints are registered with Amazon Pinpoint when they are imported. + */ +@property (nonatomic, strong) NSNumber * _Nullable registerEndpoints; + +/** + The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the Amazon S3 location that contains the endpoints to import. + */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** + A URL that points to the location within an Amazon S3 bucket that contains the endpoints to import. The location can be a folder or a single file. The URL should follow this format: s3://bucket-name/folder-name/file-nameAmazon Pinpoint will import endpoints from this location and any subfolders it contains. + */ +@property (nonatomic, strong) NSString * _Nullable s3Url; + +/** + The ID of the segment to update if the import job is meant to update an existing segment. + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + A custom name for the segment created by the import job. Use if DefineSegment is true. + */ +@property (nonatomic, strong) NSString * _Nullable segmentName; + +@end + +/** + + */ +@interface AWSPinpointTargetingImportJobResponse : AWSModel + + +/** + The unique ID of the application to which the import job applies. + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + The number of pieces that have successfully imported as of the time of the request. + */ +@property (nonatomic, strong) NSNumber * _Nullable completedPieces; + +/** + The date the import job completed in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable completionDate; + +/** + The date the import job was created in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable creationDate; + +/** + The import job settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingImportJobResource * _Nullable definition; + +/** + The number of pieces that have failed to import as of the time of the request. + */ +@property (nonatomic, strong) NSNumber * _Nullable failedPieces; + +/** + Provides up to 100 of the first failed entries for the job, if any exist. + */ +@property (nonatomic, strong) NSArray * _Nullable failures; + +/** + The unique ID of the import job. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + The status of the import job. Valid values: CREATED, INITIALIZING, PROCESSING, COMPLETING, COMPLETED, FAILING, FAILEDThe job status is FAILED if one or more pieces failed to import. + */ +@property (nonatomic, assign) AWSPinpointTargetingJobStatus jobStatus; + +/** + The number of endpoints that failed to import; for example, because of syntax errors. + */ +@property (nonatomic, strong) NSNumber * _Nullable totalFailures; + +/** + The total number of pieces that must be imported to finish the job. Each piece is an approximately equal portion of the endpoints to import. + */ +@property (nonatomic, strong) NSNumber * _Nullable totalPieces; + +/** + The number of endpoints that were processed by the import job. + */ +@property (nonatomic, strong) NSNumber * _Nullable totalProcessed; + +/** + The job type. Will be Import. + */ +@property (nonatomic, strong) NSString * _Nullable types; + +@end + +/** + + */ +@interface AWSPinpointTargetingImportJobsResponse : AWSModel + + +/** + A list of import jobs for the application. + */ +@property (nonatomic, strong) NSArray * _Nullable item; + +/** + The string that you use in a subsequent request to get the next page of results in a paginated response. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSPinpointTargetingMessage : AWSModel + + +/** + The action that occurs if the user taps a push notification delivered by the campaign: OPEN_APP – Your app launches, or it becomes the foreground app if it has been sent to the background. This is the default action.DEEP_LINK – Uses deep linking features in iOS and Android to open your app and display a designated user interface within the app.URL – The default mobile browser on the user's device launches and opens a web page at the URL you specify. + */ +@property (nonatomic, assign) AWSPinpointTargetingAction action; + +/** + The message body. Can include up to 140 characters. + */ +@property (nonatomic, strong) NSString * _Nullable body; + +/** + The URL that points to the icon image for the push notification icon, for example, the app icon. + */ +@property (nonatomic, strong) NSString * _Nullable imageIconUrl; + +/** + The URL that points to an image used in the push notification. + */ +@property (nonatomic, strong) NSString * _Nullable imageUrl; + +/** + The JSON payload used for a silent push. + */ +@property (nonatomic, strong) NSString * _Nullable jsonBody; + +/** + The URL that points to the media resource, for example a .mp4 or .gif file. + */ +@property (nonatomic, strong) NSString * _Nullable mediaUrl; + +/** + Indicates if the message should display on the users device.Silent pushes can be used for Remote Configuration and Phone Home use cases. + */ +@property (nonatomic, strong) NSNumber * _Nullable silentPush; + +/** + The message title that displays above the message on the user's device. + */ +@property (nonatomic, strong) NSString * _Nullable title; + +/** + The URL to open in the user's mobile browser. Used if the value for Action is URL. + */ +@property (nonatomic, strong) NSString * _Nullable url; + +@end + +/** + + */ +@interface AWSPinpointTargetingMessageBody : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable message; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable requestID; + +@end + +/** + + */ +@interface AWSPinpointTargetingMessageConfiguration : AWSModel + + +/** + The message that the campaign delivers to APNS channels. Overrides the default message. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessage * _Nullable APNSMessage; + +/** + The default message for all channels. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessage * _Nullable defaultMessage; + +/** + The message that the campaign delivers to GCM channels. Overrides the default message. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessage * _Nullable GCMMessage; + +@end + +/** + + */ +@interface AWSPinpointTargetingQuietTime : AWSModel + + +/** + The default end time for quiet time in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable end; + +/** + The default start time for quiet time in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable start; + +@end + +/** + + */ +@interface AWSPinpointTargetingRecencyDimension : AWSModel + + +/** + The length of time during which users have been active or inactive with your app. Valid values: HR_24, DAY_7, DAY_14, DAY_30 + */ +@property (nonatomic, assign) AWSPinpointTargetingDuration duration; + +/** + The recency dimension type: ACTIVE – Users who have used your app within the specified duration are included in the segment. INACTIVE – Users who have not used your app within the specified duration are included in the segment. + */ +@property (nonatomic, assign) AWSPinpointTargetingRecencyType recencyType; + +@end + +/** + + */ +@interface AWSPinpointTargetingSchedule : AWSModel + + +/** + The scheduled time that the campaign ends in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable endTime; + +/** + How often the campaign delivers messages.Valid values: ONCE, HOURLY, DAILY, WEEKLY, MONTHLY + */ +@property (nonatomic, assign) AWSPinpointTargetingFrequency frequency; + +/** + Indicates whether the campaign schedule takes effect according to each user's local time. + */ +@property (nonatomic, strong) NSNumber * _Nullable isLocalTime; + +/** + The time during which the campaign sends no messages. + */ +@property (nonatomic, strong) AWSPinpointTargetingQuietTime * _Nullable quietTime; + +/** + The scheduled time that the campaign begins in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable startTime; + +/** + The starting UTC offset for the schedule if the value for isLocalTime is trueValid values:UTC UTC+01 UTC+02 UTC+03 UTC+03:30 UTC+04 UTC+04:30 UTC+05 UTC+05:30 UTC+05:45 UTC+06 UTC+06:30 UTC+07 UTC+08 UTC+09 UTC+09:30 UTC+10 UTC+10:30 UTC+11 UTC+12 UTC+13 UTC-02 UTC-03 UTC-04 UTC-05 UTC-06 UTC-07 UTC-08 UTC-09 UTC-10 UTC-11 + */ +@property (nonatomic, strong) NSString * _Nullable timezone; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentBehaviors : AWSModel + + +/** + The recency of use. + */ +@property (nonatomic, strong) AWSPinpointTargetingRecencyDimension * _Nullable recency; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentDemographics : AWSModel + + +/** + The app version criteria for the segment. + */ +@property (nonatomic, strong) AWSPinpointTargetingSetDimension * _Nullable appVersion; + +/** + The device type criteria for the segment. + */ +@property (nonatomic, strong) AWSPinpointTargetingSetDimension * _Nullable deviceType; + +/** + The device make criteria for the segment. + */ +@property (nonatomic, strong) AWSPinpointTargetingSetDimension * _Nullable make; + +/** + The device model criteria for the segment. + */ +@property (nonatomic, strong) AWSPinpointTargetingSetDimension * _Nullable model; + +/** + The device platform criteria for the segment. + */ +@property (nonatomic, strong) AWSPinpointTargetingSetDimension * _Nullable platform; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentDimensions : AWSModel + + +/** + Custom segment attributes. + */ +@property (nonatomic, strong) NSDictionary * _Nullable attributes; + +/** + The segment behaviors attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentBehaviors * _Nullable behavior; + +/** + The segment demographics attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentDemographics * _Nullable demographic; + +/** + The segment location attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentLocation * _Nullable location; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentImportResource : AWSModel + + +/** + A unique, custom ID assigned to the IAM role that restricts who can assume the role. + */ +@property (nonatomic, strong) NSString * _Nullable externalId; + +/** + The format of the endpoint files that were imported to create this segment. Valid values: CSV, JSON + */ +@property (nonatomic, assign) AWSPinpointTargetingFormat format; + +/** + The Amazon Resource Name (ARN) of an IAM role that grants Amazon Pinpoint access to the endpoints in Amazon S3. + */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** + A URL that points to the Amazon S3 location from which the endpoints for this segment were imported. + */ +@property (nonatomic, strong) NSString * _Nullable s3Url; + +/** + The number of endpoints that were successfully imported to create this segment. + */ +@property (nonatomic, strong) NSNumber * _Nullable size; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentLocation : AWSModel + + +/** + The country filter according to ISO 3166-1 Alpha-2 codes. + */ +@property (nonatomic, strong) AWSPinpointTargetingSetDimension * _Nullable country; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentResponse : AWSModel + + +/** + The ID of the application to which the segment applies. + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + The date the segment was created in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable creationDate; + +/** + The segment dimensions attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentDimensions * _Nullable dimensions; + +/** + The unique segment ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + The import job settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentImportResource * _Nullable importDefinition; + +/** + The date the segment was last updated in ISO 8601 format. + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedDate; + +/** + The name of segment + */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** + The segment type: DIMENSIONAL – A dynamic segment built from selection criteria based on endpoint data reported by your app. You create this type of segment by using the segment builder in the Amazon Pinpoint console or by making a POST request to the segments resource. IMPORT – A static segment built from an imported set of endpoint definitions. You create this type of segment by importing a segment in the Amazon Pinpoint console or by making a POST request to the jobs/import resource. + */ +@property (nonatomic, assign) AWSPinpointTargetingSegmentType segmentType; + +/** + The segment version number. + */ +@property (nonatomic, strong) NSNumber * _Nullable version; + +@end + +/** + + */ +@interface AWSPinpointTargetingSegmentsResponse : AWSModel + + +/** + The list of segments. + */ +@property (nonatomic, strong) NSArray * _Nullable item; + +/** + An identifier used to retrieve the next page of results. The token is null if no additional pages exist. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + + */ +@interface AWSPinpointTargetingSetDimension : AWSModel + + +/** + The type of dimension: INCLUSIVE – Endpoints that match the criteria are included in the segment. EXCLUSIVE – Endpoints that match the criteria are excluded from the segment. + */ +@property (nonatomic, assign) AWSPinpointTargetingDimensionType dimensionType; + +/** + The criteria values for the segment dimension. Endpoints with matching attribute values are included or excluded from the segment, depending on the setting for Type. + */ +@property (nonatomic, strong) NSArray * _Nullable values; + +@end + +/** + + */ +@interface AWSPinpointTargetingTreatmentResource : AWSModel + + +/** + The unique treatment ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + The message configuration settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessageConfiguration * _Nullable messageConfiguration; + +/** + The campaign schedule. + */ +@property (nonatomic, strong) AWSPinpointTargetingSchedule * _Nullable schedule; + +/** + The allocated percentage of users for this treatment. + */ +@property (nonatomic, strong) NSNumber * _Nullable sizePercent; + +/** + The treatment status. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignState * _Nullable state; + +/** + A custom description for the treatment. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentDescription; + +/** + The custom name of a variation of the campaign used for A/B testing. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentName; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateApnsChannelRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingAPNSChannelRequest * _Nullable APNSChannelRequest; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateApnsChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingAPNSChannelResponse * _Nullable APNSChannelResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateApplicationSettingsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingWriteApplicationSettingsRequest * _Nullable writeApplicationSettingsRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateApplicationSettingsResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingApplicationSettingsResource * _Nullable applicationSettingsResource; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateCampaignRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable campaignId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingWriteCampaignRequest * _Nullable writeCampaignRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateCampaignResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignResponse * _Nullable campaignResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateEndpointRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable endpointId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointRequest * _Nullable endpointRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateEndpointResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingMessageBody * _Nullable messageBody; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateEndpointsBatchRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingEndpointBatchRequest * _Nullable endpointBatchRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateEndpointsBatchResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingMessageBody * _Nullable messageBody; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateGcmChannelRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingGCMChannelRequest * _Nullable GCMChannelRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateGcmChannelResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingGCMChannelResponse * _Nullable GCMChannelResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateSegmentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable applicationId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingWriteSegmentRequest * _Nullable writeSegmentRequest; + +@end + +/** + + */ +@interface AWSPinpointTargetingUpdateSegmentResponse : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentResponse * _Nullable segmentResponse; + +@end + +/** + + */ +@interface AWSPinpointTargetingWriteApplicationSettingsRequest : AWSModel + + +/** + The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignLimits * _Nullable limits; + +/** + The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own. + */ +@property (nonatomic, strong) AWSPinpointTargetingQuietTime * _Nullable quietTime; + +@end + +/** + + */ +@interface AWSPinpointTargetingWriteCampaignRequest : AWSModel + + +/** + Treatments that are defined in addition to the default treatment. + */ +@property (nonatomic, strong) NSArray * _Nullable additionalTreatments; + +/** + A description of the campaign. + */ +@property (nonatomic, strong) NSString * _Nullable detail; + +/** + The allocated percentage of end users who will not receive messages from this campaign. + */ +@property (nonatomic, strong) NSNumber * _Nullable holdoutPercent; + +/** + Indicates whether the campaign is paused. A paused campaign does not send messages unless you resume it by setting IsPaused to false. + */ +@property (nonatomic, strong) NSNumber * _Nullable isPaused; + +/** + The campaign limits settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingCampaignLimits * _Nullable limits; + +/** + The message configuration settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessageConfiguration * _Nullable messageConfiguration; + +/** + The custom name of the campaign. + */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** + The campaign schedule. + */ +@property (nonatomic, strong) AWSPinpointTargetingSchedule * _Nullable schedule; + +/** + The ID of the segment to which the campaign sends messages. + */ +@property (nonatomic, strong) NSString * _Nullable segmentId; + +/** + The version of the segment to which the campaign sends messages. + */ +@property (nonatomic, strong) NSNumber * _Nullable segmentVersion; + +/** + A custom description for the treatment. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentDescription; + +/** + The custom name of a variation of the campaign used for A/B testing. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentName; + +@end + +/** + + */ +@interface AWSPinpointTargetingWriteSegmentRequest : AWSModel + + +/** + The segment dimensions attributes. + */ +@property (nonatomic, strong) AWSPinpointTargetingSegmentDimensions * _Nullable dimensions; + +/** + The name of segment + */ +@property (nonatomic, strong) NSString * _Nullable name; + +@end + +/** + + */ +@interface AWSPinpointTargetingWriteTreatmentResource : AWSModel + + +/** + The message configuration settings. + */ +@property (nonatomic, strong) AWSPinpointTargetingMessageConfiguration * _Nullable messageConfiguration; + +/** + The campaign schedule. + */ +@property (nonatomic, strong) AWSPinpointTargetingSchedule * _Nullable schedule; + +/** + The allocated percentage of users for this treatment. + */ +@property (nonatomic, strong) NSNumber * _Nullable sizePercent; + +/** + A custom description for the treatment. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentDescription; + +/** + The custom name of a variation of the campaign used for A/B testing. + */ +@property (nonatomic, strong) NSString * _Nullable treatmentName; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingResources.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingResources.h new file mode 100755 index 0000000..1e49359 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingResources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSPinpointTargetingResources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingService.h b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingService.h new file mode 100755 index 0000000..f95c81e --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Headers/AWSPinpointTargetingService.h @@ -0,0 +1,926 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import "AWSPinpointTargetingModel.h" +#import "AWSPinpointTargetingResources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + + */ +@interface AWSPinpointTargeting : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let PinpointTargeting = AWSPinpointTargeting.default() + + *Objective-C* + + AWSPinpointTargeting *PinpointTargeting = [AWSPinpointTargeting defaultPinpointTargeting]; + + @return The default service client. + */ ++ (instancetype)defaultPinpointTargeting; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSPinpointTargeting.register(with: configuration!, forKey: "USWest2PinpointTargeting") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSPinpointTargeting registerPinpointTargetingWithConfiguration:configuration forKey:@"USWest2PinpointTargeting"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let PinpointTargeting = AWSPinpointTargeting(forKey: "USWest2PinpointTargeting") + + *Objective-C* + + AWSPinpointTargeting *PinpointTargeting = [AWSPinpointTargeting PinpointTargetingForKey:@"USWest2PinpointTargeting"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerPinpointTargetingWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerPinpointTargetingWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSPinpointTargeting.register(with: configuration!, forKey: "USWest2PinpointTargeting") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSPinpointTargeting registerPinpointTargetingWithConfiguration:configuration forKey:@"USWest2PinpointTargeting"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let PinpointTargeting = AWSPinpointTargeting(forKey: "USWest2PinpointTargeting") + + *Objective-C* + + AWSPinpointTargeting *PinpointTargeting = [AWSPinpointTargeting PinpointTargetingForKey:@"USWest2PinpointTargeting"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)PinpointTargetingForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removePinpointTargetingForKey:(NSString *)key; + +/** + Creates or updates a campaign. + + @param request A container for the necessary parameters to execute the CreateCampaign service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingCreateCampaignResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingCreateCampaignRequest + @see AWSPinpointTargetingCreateCampaignResponse + */ +- (AWSTask *)createCampaign:(AWSPinpointTargetingCreateCampaignRequest *)request; + +/** + Creates or updates a campaign. + + @param request A container for the necessary parameters to execute the CreateCampaign service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingCreateCampaignRequest + @see AWSPinpointTargetingCreateCampaignResponse + */ +- (void)createCampaign:(AWSPinpointTargetingCreateCampaignRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingCreateCampaignResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Creates or updates an import job. + + @param request A container for the necessary parameters to execute the CreateImportJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingCreateImportJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingCreateImportJobRequest + @see AWSPinpointTargetingCreateImportJobResponse + */ +- (AWSTask *)createImportJob:(AWSPinpointTargetingCreateImportJobRequest *)request; + +/** + Creates or updates an import job. + + @param request A container for the necessary parameters to execute the CreateImportJob service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingCreateImportJobRequest + @see AWSPinpointTargetingCreateImportJobResponse + */ +- (void)createImportJob:(AWSPinpointTargetingCreateImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingCreateImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Used to create or update a segment. + + @param request A container for the necessary parameters to execute the CreateSegment service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingCreateSegmentResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingCreateSegmentRequest + @see AWSPinpointTargetingCreateSegmentResponse + */ +- (AWSTask *)createSegment:(AWSPinpointTargetingCreateSegmentRequest *)request; + +/** + Used to create or update a segment. + + @param request A container for the necessary parameters to execute the CreateSegment service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingCreateSegmentRequest + @see AWSPinpointTargetingCreateSegmentResponse + */ +- (void)createSegment:(AWSPinpointTargetingCreateSegmentRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingCreateSegmentResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deletes the APNs channel for an app. + + @param request A container for the necessary parameters to execute the DeleteApnsChannel service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingDeleteApnsChannelResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteApnsChannelRequest + @see AWSPinpointTargetingDeleteApnsChannelResponse + */ +- (AWSTask *)deleteApnsChannel:(AWSPinpointTargetingDeleteApnsChannelRequest *)request; + +/** + Deletes the APNs channel for an app. + + @param request A container for the necessary parameters to execute the DeleteApnsChannel service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteApnsChannelRequest + @see AWSPinpointTargetingDeleteApnsChannelResponse + */ +- (void)deleteApnsChannel:(AWSPinpointTargetingDeleteApnsChannelRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingDeleteApnsChannelResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deletes a campaign. + + @param request A container for the necessary parameters to execute the DeleteCampaign service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingDeleteCampaignResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteCampaignRequest + @see AWSPinpointTargetingDeleteCampaignResponse + */ +- (AWSTask *)deleteCampaign:(AWSPinpointTargetingDeleteCampaignRequest *)request; + +/** + Deletes a campaign. + + @param request A container for the necessary parameters to execute the DeleteCampaign service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteCampaignRequest + @see AWSPinpointTargetingDeleteCampaignResponse + */ +- (void)deleteCampaign:(AWSPinpointTargetingDeleteCampaignRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingDeleteCampaignResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deletes the GCM channel for an app. + + @param request A container for the necessary parameters to execute the DeleteGcmChannel service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingDeleteGcmChannelResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteGcmChannelRequest + @see AWSPinpointTargetingDeleteGcmChannelResponse + */ +- (AWSTask *)deleteGcmChannel:(AWSPinpointTargetingDeleteGcmChannelRequest *)request; + +/** + Deletes the GCM channel for an app. + + @param request A container for the necessary parameters to execute the DeleteGcmChannel service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteGcmChannelRequest + @see AWSPinpointTargetingDeleteGcmChannelResponse + */ +- (void)deleteGcmChannel:(AWSPinpointTargetingDeleteGcmChannelRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingDeleteGcmChannelResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deletes a segment. + + @param request A container for the necessary parameters to execute the DeleteSegment service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingDeleteSegmentResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteSegmentRequest + @see AWSPinpointTargetingDeleteSegmentResponse + */ +- (AWSTask *)deleteSegment:(AWSPinpointTargetingDeleteSegmentRequest *)request; + +/** + Deletes a segment. + + @param request A container for the necessary parameters to execute the DeleteSegment service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingDeleteSegmentRequest + @see AWSPinpointTargetingDeleteSegmentResponse + */ +- (void)deleteSegment:(AWSPinpointTargetingDeleteSegmentRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingDeleteSegmentResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about the APNs channel for an app. + + @param request A container for the necessary parameters to execute the GetApnsChannel service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetApnsChannelResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetApnsChannelRequest + @see AWSPinpointTargetingGetApnsChannelResponse + */ +- (AWSTask *)getApnsChannel:(AWSPinpointTargetingGetApnsChannelRequest *)request; + +/** + Returns information about the APNs channel for an app. + + @param request A container for the necessary parameters to execute the GetApnsChannel service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetApnsChannelRequest + @see AWSPinpointTargetingGetApnsChannelResponse + */ +- (void)getApnsChannel:(AWSPinpointTargetingGetApnsChannelRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetApnsChannelResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Used to request the settings for an app. + + @param request A container for the necessary parameters to execute the GetApplicationSettings service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetApplicationSettingsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetApplicationSettingsRequest + @see AWSPinpointTargetingGetApplicationSettingsResponse + */ +- (AWSTask *)getApplicationSettings:(AWSPinpointTargetingGetApplicationSettingsRequest *)request; + +/** + Used to request the settings for an app. + + @param request A container for the necessary parameters to execute the GetApplicationSettings service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetApplicationSettingsRequest + @see AWSPinpointTargetingGetApplicationSettingsResponse + */ +- (void)getApplicationSettings:(AWSPinpointTargetingGetApplicationSettingsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetApplicationSettingsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about a campaign. + + @param request A container for the necessary parameters to execute the GetCampaign service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetCampaignResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignRequest + @see AWSPinpointTargetingGetCampaignResponse + */ +- (AWSTask *)getCampaign:(AWSPinpointTargetingGetCampaignRequest *)request; + +/** + Returns information about a campaign. + + @param request A container for the necessary parameters to execute the GetCampaign service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignRequest + @see AWSPinpointTargetingGetCampaignResponse + */ +- (void)getCampaign:(AWSPinpointTargetingGetCampaignRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetCampaignResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about the activity performed by a campaign. + + @param request A container for the necessary parameters to execute the GetCampaignActivities service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetCampaignActivitiesResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignActivitiesRequest + @see AWSPinpointTargetingGetCampaignActivitiesResponse + */ +- (AWSTask *)getCampaignActivities:(AWSPinpointTargetingGetCampaignActivitiesRequest *)request; + +/** + Returns information about the activity performed by a campaign. + + @param request A container for the necessary parameters to execute the GetCampaignActivities service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignActivitiesRequest + @see AWSPinpointTargetingGetCampaignActivitiesResponse + */ +- (void)getCampaignActivities:(AWSPinpointTargetingGetCampaignActivitiesRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetCampaignActivitiesResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about your campaign versions. + + @param request A container for the necessary parameters to execute the GetCampaignVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetCampaignVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignVersionRequest + @see AWSPinpointTargetingGetCampaignVersionResponse + */ +- (AWSTask *)getCampaignVersion:(AWSPinpointTargetingGetCampaignVersionRequest *)request; + +/** + Returns information about your campaign versions. + + @param request A container for the necessary parameters to execute the GetCampaignVersion service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignVersionRequest + @see AWSPinpointTargetingGetCampaignVersionResponse + */ +- (void)getCampaignVersion:(AWSPinpointTargetingGetCampaignVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetCampaignVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about your campaign versions. + + @param request A container for the necessary parameters to execute the GetCampaignVersions service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetCampaignVersionsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignVersionsRequest + @see AWSPinpointTargetingGetCampaignVersionsResponse + */ +- (AWSTask *)getCampaignVersions:(AWSPinpointTargetingGetCampaignVersionsRequest *)request; + +/** + Returns information about your campaign versions. + + @param request A container for the necessary parameters to execute the GetCampaignVersions service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignVersionsRequest + @see AWSPinpointTargetingGetCampaignVersionsResponse + */ +- (void)getCampaignVersions:(AWSPinpointTargetingGetCampaignVersionsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetCampaignVersionsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about your campaigns. + + @param request A container for the necessary parameters to execute the GetCampaigns service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetCampaignsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignsRequest + @see AWSPinpointTargetingGetCampaignsResponse + */ +- (AWSTask *)getCampaigns:(AWSPinpointTargetingGetCampaignsRequest *)request; + +/** + Returns information about your campaigns. + + @param request A container for the necessary parameters to execute the GetCampaigns service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetCampaignsRequest + @see AWSPinpointTargetingGetCampaignsResponse + */ +- (void)getCampaigns:(AWSPinpointTargetingGetCampaignsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetCampaignsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about an endpoint. + + @param request A container for the necessary parameters to execute the GetEndpoint service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetEndpointResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetEndpointRequest + @see AWSPinpointTargetingGetEndpointResponse + */ +- (AWSTask *)getEndpoint:(AWSPinpointTargetingGetEndpointRequest *)request; + +/** + Returns information about an endpoint. + + @param request A container for the necessary parameters to execute the GetEndpoint service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetEndpointRequest + @see AWSPinpointTargetingGetEndpointResponse + */ +- (void)getEndpoint:(AWSPinpointTargetingGetEndpointRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetEndpointResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about the GCM channel for an app. + + @param request A container for the necessary parameters to execute the GetGcmChannel service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetGcmChannelResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetGcmChannelRequest + @see AWSPinpointTargetingGetGcmChannelResponse + */ +- (AWSTask *)getGcmChannel:(AWSPinpointTargetingGetGcmChannelRequest *)request; + +/** + Returns information about the GCM channel for an app. + + @param request A container for the necessary parameters to execute the GetGcmChannel service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetGcmChannelRequest + @see AWSPinpointTargetingGetGcmChannelResponse + */ +- (void)getGcmChannel:(AWSPinpointTargetingGetGcmChannelRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetGcmChannelResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about an import job. + + @param request A container for the necessary parameters to execute the GetImportJob service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetImportJobResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetImportJobRequest + @see AWSPinpointTargetingGetImportJobResponse + */ +- (AWSTask *)getImportJob:(AWSPinpointTargetingGetImportJobRequest *)request; + +/** + Returns information about an import job. + + @param request A container for the necessary parameters to execute the GetImportJob service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetImportJobRequest + @see AWSPinpointTargetingGetImportJobResponse + */ +- (void)getImportJob:(AWSPinpointTargetingGetImportJobRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetImportJobResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about your import jobs. + + @param request A container for the necessary parameters to execute the GetImportJobs service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetImportJobsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetImportJobsRequest + @see AWSPinpointTargetingGetImportJobsResponse + */ +- (AWSTask *)getImportJobs:(AWSPinpointTargetingGetImportJobsRequest *)request; + +/** + Returns information about your import jobs. + + @param request A container for the necessary parameters to execute the GetImportJobs service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetImportJobsRequest + @see AWSPinpointTargetingGetImportJobsResponse + */ +- (void)getImportJobs:(AWSPinpointTargetingGetImportJobsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetImportJobsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about a segment. + + @param request A container for the necessary parameters to execute the GetSegment service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetSegmentResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentRequest + @see AWSPinpointTargetingGetSegmentResponse + */ +- (AWSTask *)getSegment:(AWSPinpointTargetingGetSegmentRequest *)request; + +/** + Returns information about a segment. + + @param request A container for the necessary parameters to execute the GetSegment service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentRequest + @see AWSPinpointTargetingGetSegmentResponse + */ +- (void)getSegment:(AWSPinpointTargetingGetSegmentRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetSegmentResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns a list of import jobs for a specific segment. + + @param request A container for the necessary parameters to execute the GetSegmentImportJobs service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetSegmentImportJobsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentImportJobsRequest + @see AWSPinpointTargetingGetSegmentImportJobsResponse + */ +- (AWSTask *)getSegmentImportJobs:(AWSPinpointTargetingGetSegmentImportJobsRequest *)request; + +/** + Returns a list of import jobs for a specific segment. + + @param request A container for the necessary parameters to execute the GetSegmentImportJobs service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentImportJobsRequest + @see AWSPinpointTargetingGetSegmentImportJobsResponse + */ +- (void)getSegmentImportJobs:(AWSPinpointTargetingGetSegmentImportJobsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetSegmentImportJobsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about a segment version. + + @param request A container for the necessary parameters to execute the GetSegmentVersion service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetSegmentVersionResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentVersionRequest + @see AWSPinpointTargetingGetSegmentVersionResponse + */ +- (AWSTask *)getSegmentVersion:(AWSPinpointTargetingGetSegmentVersionRequest *)request; + +/** + Returns information about a segment version. + + @param request A container for the necessary parameters to execute the GetSegmentVersion service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentVersionRequest + @see AWSPinpointTargetingGetSegmentVersionResponse + */ +- (void)getSegmentVersion:(AWSPinpointTargetingGetSegmentVersionRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetSegmentVersionResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns information about your segment versions. + + @param request A container for the necessary parameters to execute the GetSegmentVersions service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetSegmentVersionsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentVersionsRequest + @see AWSPinpointTargetingGetSegmentVersionsResponse + */ +- (AWSTask *)getSegmentVersions:(AWSPinpointTargetingGetSegmentVersionsRequest *)request; + +/** + Returns information about your segment versions. + + @param request A container for the necessary parameters to execute the GetSegmentVersions service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentVersionsRequest + @see AWSPinpointTargetingGetSegmentVersionsResponse + */ +- (void)getSegmentVersions:(AWSPinpointTargetingGetSegmentVersionsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetSegmentVersionsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Used to get information about your segments. + + @param request A container for the necessary parameters to execute the GetSegments service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingGetSegmentsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentsRequest + @see AWSPinpointTargetingGetSegmentsResponse + */ +- (AWSTask *)getSegments:(AWSPinpointTargetingGetSegmentsRequest *)request; + +/** + Used to get information about your segments. + + @param request A container for the necessary parameters to execute the GetSegments service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingGetSegmentsRequest + @see AWSPinpointTargetingGetSegmentsResponse + */ +- (void)getSegments:(AWSPinpointTargetingGetSegmentsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingGetSegmentsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Use to update the APNs channel for an app. + + @param request A container for the necessary parameters to execute the UpdateApnsChannel service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateApnsChannelResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateApnsChannelRequest + @see AWSPinpointTargetingUpdateApnsChannelResponse + */ +- (AWSTask *)updateApnsChannel:(AWSPinpointTargetingUpdateApnsChannelRequest *)request; + +/** + Use to update the APNs channel for an app. + + @param request A container for the necessary parameters to execute the UpdateApnsChannel service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateApnsChannelRequest + @see AWSPinpointTargetingUpdateApnsChannelResponse + */ +- (void)updateApnsChannel:(AWSPinpointTargetingUpdateApnsChannelRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateApnsChannelResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Used to update the settings for an app. + + @param request A container for the necessary parameters to execute the UpdateApplicationSettings service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateApplicationSettingsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateApplicationSettingsRequest + @see AWSPinpointTargetingUpdateApplicationSettingsResponse + */ +- (AWSTask *)updateApplicationSettings:(AWSPinpointTargetingUpdateApplicationSettingsRequest *)request; + +/** + Used to update the settings for an app. + + @param request A container for the necessary parameters to execute the UpdateApplicationSettings service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateApplicationSettingsRequest + @see AWSPinpointTargetingUpdateApplicationSettingsResponse + */ +- (void)updateApplicationSettings:(AWSPinpointTargetingUpdateApplicationSettingsRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateApplicationSettingsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Use to update a campaign. + + @param request A container for the necessary parameters to execute the UpdateCampaign service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateCampaignResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateCampaignRequest + @see AWSPinpointTargetingUpdateCampaignResponse + */ +- (AWSTask *)updateCampaign:(AWSPinpointTargetingUpdateCampaignRequest *)request; + +/** + Use to update a campaign. + + @param request A container for the necessary parameters to execute the UpdateCampaign service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateCampaignRequest + @see AWSPinpointTargetingUpdateCampaignResponse + */ +- (void)updateCampaign:(AWSPinpointTargetingUpdateCampaignRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateCampaignResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Use to update an endpoint. + + @param request A container for the necessary parameters to execute the UpdateEndpoint service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateEndpointResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateEndpointRequest + @see AWSPinpointTargetingUpdateEndpointResponse + */ +- (AWSTask *)updateEndpoint:(AWSPinpointTargetingUpdateEndpointRequest *)request; + +/** + Use to update an endpoint. + + @param request A container for the necessary parameters to execute the UpdateEndpoint service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateEndpointRequest + @see AWSPinpointTargetingUpdateEndpointResponse + */ +- (void)updateEndpoint:(AWSPinpointTargetingUpdateEndpointRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateEndpointResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Use to update your endpoints. + + @param request A container for the necessary parameters to execute the UpdateEndpointsBatch service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateEndpointsBatchResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateEndpointsBatchRequest + @see AWSPinpointTargetingUpdateEndpointsBatchResponse + */ +- (AWSTask *)updateEndpointsBatch:(AWSPinpointTargetingUpdateEndpointsBatchRequest *)request; + +/** + Use to update your endpoints. + + @param request A container for the necessary parameters to execute the UpdateEndpointsBatch service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateEndpointsBatchRequest + @see AWSPinpointTargetingUpdateEndpointsBatchResponse + */ +- (void)updateEndpointsBatch:(AWSPinpointTargetingUpdateEndpointsBatchRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateEndpointsBatchResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Use to update the GCM channel for an app. + + @param request A container for the necessary parameters to execute the UpdateGcmChannel service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateGcmChannelResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateGcmChannelRequest + @see AWSPinpointTargetingUpdateGcmChannelResponse + */ +- (AWSTask *)updateGcmChannel:(AWSPinpointTargetingUpdateGcmChannelRequest *)request; + +/** + Use to update the GCM channel for an app. + + @param request A container for the necessary parameters to execute the UpdateGcmChannel service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateGcmChannelRequest + @see AWSPinpointTargetingUpdateGcmChannelResponse + */ +- (void)updateGcmChannel:(AWSPinpointTargetingUpdateGcmChannelRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateGcmChannelResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Use to update a segment. + + @param request A container for the necessary parameters to execute the UpdateSegment service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSPinpointTargetingUpdateSegmentResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateSegmentRequest + @see AWSPinpointTargetingUpdateSegmentResponse + */ +- (AWSTask *)updateSegment:(AWSPinpointTargetingUpdateSegmentRequest *)request; + +/** + Use to update a segment. + + @param request A container for the necessary parameters to execute the UpdateSegment service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSPinpointTargetingErrorDomain` domain and the following error code: `AWSPinpointTargetingErrorBadRequest`, `AWSPinpointTargetingErrorInternalServerError`, `AWSPinpointTargetingErrorForbidden`, `AWSPinpointTargetingErrorNotFound`, `AWSPinpointTargetingErrorMethodNotAllowed`, `AWSPinpointTargetingErrorTooManyRequests`. + + @see AWSPinpointTargetingUpdateSegmentRequest + @see AWSPinpointTargetingUpdateSegmentResponse + */ +- (void)updateSegment:(AWSPinpointTargetingUpdateSegmentRequest *)request completionHandler:(void (^ _Nullable)(AWSPinpointTargetingUpdateSegmentResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Info.plist b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Info.plist new file mode 100755 index 0000000..c181f64 Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Info.plist differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Modules/module.modulemap b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Modules/module.modulemap new file mode 100755 index 0000000..37b9c09 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSPinpoint.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AWSPinpoint { + umbrella header "AWSPinpoint.h" + + export * + module * { export * } +} diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/AWSS3 b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/AWSS3 new file mode 100755 index 0000000..b2f2ecd Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/AWSS3 differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3.h new file mode 100755 index 0000000..5c95156 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3.h @@ -0,0 +1,28 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +//! Project version number for AWSS3. +FOUNDATION_EXPORT double AWSS3VersionNumber; + +//! Project version string for AWSS3. +FOUNDATION_EXPORT const unsigned char AWSS3VersionString[]; + +#import +#import "AWSS3Service.h" +#import "AWSS3TransferManager.h" +#import "AWSS3PreSignedURL.h" +#import "AWSS3TransferUtility.h" diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Model.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Model.h new file mode 100755 index 0000000..57ecfc8 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Model.h @@ -0,0 +1,5884 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSS3ErrorDomain; + +typedef NS_ENUM(NSInteger, AWSS3ErrorType) { + AWSS3ErrorUnknown, + AWSS3ErrorBucketAlreadyExists, + AWSS3ErrorBucketAlreadyOwnedByYou, + AWSS3ErrorNoSuchBucket, + AWSS3ErrorNoSuchKey, + AWSS3ErrorNoSuchUpload, + AWSS3ErrorObjectAlreadyInActiveTier, + AWSS3ErrorObjectNotInActiveTier, +}; + +typedef NS_ENUM(NSInteger, AWSS3AnalyticsS3ExportFileFormat) { + AWSS3AnalyticsS3ExportFileFormatUnknown, + AWSS3AnalyticsS3ExportFileFormatCsv, +}; + +typedef NS_ENUM(NSInteger, AWSS3BucketAccelerateStatus) { + AWSS3BucketAccelerateStatusUnknown, + AWSS3BucketAccelerateStatusEnabled, + AWSS3BucketAccelerateStatusSuspended, +}; + +typedef NS_ENUM(NSInteger, AWSS3BucketCannedACL) { + AWSS3BucketCannedACLUnknown, + AWSS3BucketCannedACLPrivate, + AWSS3BucketCannedACLPublicRead, + AWSS3BucketCannedACLPublicReadWrite, + AWSS3BucketCannedACLAuthenticatedRead, +}; + +typedef NS_ENUM(NSInteger, AWSS3BucketLocationConstraint) { + AWSS3BucketLocationConstraintUnknown, + AWSS3BucketLocationConstraintBlank, + AWSS3BucketLocationConstraintEU, + AWSS3BucketLocationConstraintEUWest1, + AWSS3BucketLocationConstraintEUWest2, + AWSS3BucketLocationConstraintUSEast2, + AWSS3BucketLocationConstraintUSWest1, + AWSS3BucketLocationConstraintUSWest2, + AWSS3BucketLocationConstraintAPSouth1, + AWSS3BucketLocationConstraintAPSoutheast1, + AWSS3BucketLocationConstraintAPSoutheast2, + AWSS3BucketLocationConstraintAPNortheast1, + AWSS3BucketLocationConstraintAPNortheast2, + AWSS3BucketLocationConstraintSAEast1, + AWSS3BucketLocationConstraintCNNorth1, + AWSS3BucketLocationConstraintUSGovWest1, + AWSS3BucketLocationConstraintEUCentral1, + AWSS3BucketLocationConstraintCACentral1, +}; + +typedef NS_ENUM(NSInteger, AWSS3BucketLogsPermission) { + AWSS3BucketLogsPermissionUnknown, + AWSS3BucketLogsPermissionFullControl, + AWSS3BucketLogsPermissionRead, + AWSS3BucketLogsPermissionWrite, +}; + +typedef NS_ENUM(NSInteger, AWSS3BucketVersioningStatus) { + AWSS3BucketVersioningStatusUnknown, + AWSS3BucketVersioningStatusEnabled, + AWSS3BucketVersioningStatusSuspended, +}; + +typedef NS_ENUM(NSInteger, AWSS3EncodingType) { + AWSS3EncodingTypeUnknown, + AWSS3EncodingTypeURL, +}; + +typedef NS_ENUM(NSInteger, AWSS3Event) { + AWSS3EventUnknown, + AWSS3EventS3ReducedRedundancyLostObject, + AWSS3EventS3ObjectCreated, + AWSS3EventS3ObjectCreatedPut, + AWSS3EventS3ObjectCreatedPost, + AWSS3EventS3ObjectCreatedCopy, + AWSS3EventS3ObjectCreatedCompleteMultipartUpload, + AWSS3EventS3ObjectRemoved, + AWSS3EventS3ObjectRemovedDelete, + AWSS3EventS3ObjectRemovedDeleteMarkerCreated, +}; + +typedef NS_ENUM(NSInteger, AWSS3ExpirationStatus) { + AWSS3ExpirationStatusUnknown, + AWSS3ExpirationStatusEnabled, + AWSS3ExpirationStatusDisabled, +}; + +typedef NS_ENUM(NSInteger, AWSS3FilterRuleName) { + AWSS3FilterRuleNameUnknown, + AWSS3FilterRuleNamePrefix, + AWSS3FilterRuleNameSuffix, +}; + +typedef NS_ENUM(NSInteger, AWSS3InventoryFormat) { + AWSS3InventoryFormatUnknown, + AWSS3InventoryFormatCsv, +}; + +typedef NS_ENUM(NSInteger, AWSS3InventoryFrequency) { + AWSS3InventoryFrequencyUnknown, + AWSS3InventoryFrequencyDaily, + AWSS3InventoryFrequencyWeekly, +}; + +typedef NS_ENUM(NSInteger, AWSS3InventoryIncludedObjectVersions) { + AWSS3InventoryIncludedObjectVersionsUnknown, + AWSS3InventoryIncludedObjectVersionsAll, + AWSS3InventoryIncludedObjectVersionsCurrent, +}; + +typedef NS_ENUM(NSInteger, AWSS3InventoryOptionalField) { + AWSS3InventoryOptionalFieldUnknown, + AWSS3InventoryOptionalFieldSize, + AWSS3InventoryOptionalFieldLastModifiedDate, + AWSS3InventoryOptionalFieldStorageClass, + AWSS3InventoryOptionalFieldETag, + AWSS3InventoryOptionalFieldIsMultipartUploaded, + AWSS3InventoryOptionalFieldReplicationStatus, +}; + +typedef NS_ENUM(NSInteger, AWSS3MFADelete) { + AWSS3MFADeleteUnknown, + AWSS3MFADeleteEnabled, + AWSS3MFADeleteDisabled, +}; + +typedef NS_ENUM(NSInteger, AWSS3MFADeleteStatus) { + AWSS3MFADeleteStatusUnknown, + AWSS3MFADeleteStatusEnabled, + AWSS3MFADeleteStatusDisabled, +}; + +typedef NS_ENUM(NSInteger, AWSS3MetadataDirective) { + AWSS3MetadataDirectiveUnknown, + AWSS3MetadataDirectiveCopy, + AWSS3MetadataDirectiveReplace, +}; + +typedef NS_ENUM(NSInteger, AWSS3ObjectCannedACL) { + AWSS3ObjectCannedACLUnknown, + AWSS3ObjectCannedACLPrivate, + AWSS3ObjectCannedACLPublicRead, + AWSS3ObjectCannedACLPublicReadWrite, + AWSS3ObjectCannedACLAuthenticatedRead, + AWSS3ObjectCannedACLAwsExecRead, + AWSS3ObjectCannedACLBucketOwnerRead, + AWSS3ObjectCannedACLBucketOwnerFullControl, +}; + +typedef NS_ENUM(NSInteger, AWSS3ObjectStorageClass) { + AWSS3ObjectStorageClassUnknown, + AWSS3ObjectStorageClassStandard, + AWSS3ObjectStorageClassReducedRedundancy, + AWSS3ObjectStorageClassGlacier, +}; + +typedef NS_ENUM(NSInteger, AWSS3ObjectVersionStorageClass) { + AWSS3ObjectVersionStorageClassUnknown, + AWSS3ObjectVersionStorageClassStandard, +}; + +typedef NS_ENUM(NSInteger, AWSS3Payer) { + AWSS3PayerUnknown, + AWSS3PayerRequester, + AWSS3PayerBucketOwner, +}; + +typedef NS_ENUM(NSInteger, AWSS3Permission) { + AWSS3PermissionUnknown, + AWSS3PermissionFullControl, + AWSS3PermissionWrite, + AWSS3PermissionWriteAcp, + AWSS3PermissionRead, + AWSS3PermissionReadAcp, +}; + +typedef NS_ENUM(NSInteger, AWSS3Protocols) { + AWSS3ProtocolsUnknown, + AWSS3ProtocolsHTTP, + AWSS3ProtocolsHTTPS, +}; + +typedef NS_ENUM(NSInteger, AWSS3ReplicationRuleStatus) { + AWSS3ReplicationRuleStatusUnknown, + AWSS3ReplicationRuleStatusEnabled, + AWSS3ReplicationRuleStatusDisabled, +}; + +typedef NS_ENUM(NSInteger, AWSS3ReplicationStatus) { + AWSS3ReplicationStatusUnknown, + AWSS3ReplicationStatusComplete, + AWSS3ReplicationStatusPending, + AWSS3ReplicationStatusFailed, + AWSS3ReplicationStatusReplica, +}; + +typedef NS_ENUM(NSInteger, AWSS3RequestCharged) { + AWSS3RequestChargedUnknown, + AWSS3RequestChargedRequester, +}; + +typedef NS_ENUM(NSInteger, AWSS3RequestPayer) { + AWSS3RequestPayerUnknown, + AWSS3RequestPayerRequester, +}; + +typedef NS_ENUM(NSInteger, AWSS3ServerSideEncryption) { + AWSS3ServerSideEncryptionUnknown, + AWSS3ServerSideEncryptionAES256, + AWSS3ServerSideEncryptionAwsKms, +}; + +typedef NS_ENUM(NSInteger, AWSS3StorageClass) { + AWSS3StorageClassUnknown, + AWSS3StorageClassStandard, + AWSS3StorageClassReducedRedundancy, + AWSS3StorageClassStandardIa, +}; + +typedef NS_ENUM(NSInteger, AWSS3StorageClassAnalysisSchemaVersion) { + AWSS3StorageClassAnalysisSchemaVersionUnknown, + AWSS3StorageClassAnalysisSchemaVersionV1, +}; + +typedef NS_ENUM(NSInteger, AWSS3TaggingDirective) { + AWSS3TaggingDirectiveUnknown, + AWSS3TaggingDirectiveCopy, + AWSS3TaggingDirectiveReplace, +}; + +typedef NS_ENUM(NSInteger, AWSS3Tier) { + AWSS3TierUnknown, + AWSS3TierStandard, + AWSS3TierBulk, + AWSS3TierExpedited, +}; + +typedef NS_ENUM(NSInteger, AWSS3TransitionStorageClass) { + AWSS3TransitionStorageClassUnknown, + AWSS3TransitionStorageClassGlacier, + AWSS3TransitionStorageClassStandardIa, +}; + +typedef NS_ENUM(NSInteger, AWSS3Types) { + AWSS3TypesUnknown, + AWSS3TypesCanonicalUser, + AWSS3TypesAmazonCustomerByEmail, + AWSS3TypesGroup, +}; + +@class AWSS3AbortIncompleteMultipartUpload; +@class AWSS3AbortMultipartUploadOutput; +@class AWSS3AbortMultipartUploadRequest; +@class AWSS3AccelerateConfiguration; +@class AWSS3AccessControlPolicy; +@class AWSS3AnalyticsAndOperator; +@class AWSS3AnalyticsConfiguration; +@class AWSS3AnalyticsExportDestination; +@class AWSS3AnalyticsFilter; +@class AWSS3AnalyticsS3BucketDestination; +@class AWSS3Bucket; +@class AWSS3BucketLifecycleConfiguration; +@class AWSS3BucketLoggingStatus; +@class AWSS3CORSConfiguration; +@class AWSS3CORSRule; +@class AWSS3CloudFunctionConfiguration; +@class AWSS3CommonPrefix; +@class AWSS3CompleteMultipartUploadOutput; +@class AWSS3CompleteMultipartUploadRequest; +@class AWSS3CompletedMultipartUpload; +@class AWSS3CompletedPart; +@class AWSS3Condition; +@class AWSS3ReplicateObjectOutput; +@class AWSS3ReplicateObjectRequest; +@class AWSS3ReplicateObjectResult; +@class AWSS3ReplicatePartResult; +@class AWSS3CreateBucketConfiguration; +@class AWSS3CreateBucketOutput; +@class AWSS3CreateBucketRequest; +@class AWSS3CreateMultipartUploadOutput; +@class AWSS3CreateMultipartUploadRequest; +@class AWSS3Remove; +@class AWSS3DeleteBucketAnalyticsConfigurationRequest; +@class AWSS3DeleteBucketCorsRequest; +@class AWSS3DeleteBucketInventoryConfigurationRequest; +@class AWSS3DeleteBucketLifecycleRequest; +@class AWSS3DeleteBucketMetricsConfigurationRequest; +@class AWSS3DeleteBucketPolicyRequest; +@class AWSS3DeleteBucketReplicationRequest; +@class AWSS3DeleteBucketRequest; +@class AWSS3DeleteBucketTaggingRequest; +@class AWSS3DeleteBucketWebsiteRequest; +@class AWSS3DeleteMarkerEntry; +@class AWSS3DeleteObjectOutput; +@class AWSS3DeleteObjectRequest; +@class AWSS3DeleteObjectTaggingOutput; +@class AWSS3DeleteObjectTaggingRequest; +@class AWSS3DeleteObjectsOutput; +@class AWSS3DeleteObjectsRequest; +@class AWSS3DeletedObject; +@class AWSS3Destination; +@class AWSS3Error; +@class AWSS3ErrorDocument; +@class AWSS3FilterRule; +@class AWSS3GetBucketAccelerateConfigurationOutput; +@class AWSS3GetBucketAccelerateConfigurationRequest; +@class AWSS3GetBucketAclOutput; +@class AWSS3GetBucketAclRequest; +@class AWSS3GetBucketAnalyticsConfigurationOutput; +@class AWSS3GetBucketAnalyticsConfigurationRequest; +@class AWSS3GetBucketCorsOutput; +@class AWSS3GetBucketCorsRequest; +@class AWSS3GetBucketInventoryConfigurationOutput; +@class AWSS3GetBucketInventoryConfigurationRequest; +@class AWSS3GetBucketLifecycleConfigurationOutput; +@class AWSS3GetBucketLifecycleConfigurationRequest; +@class AWSS3GetBucketLifecycleOutput; +@class AWSS3GetBucketLifecycleRequest; +@class AWSS3GetBucketLocationOutput; +@class AWSS3GetBucketLocationRequest; +@class AWSS3GetBucketLoggingOutput; +@class AWSS3GetBucketLoggingRequest; +@class AWSS3GetBucketMetricsConfigurationOutput; +@class AWSS3GetBucketMetricsConfigurationRequest; +@class AWSS3GetBucketNotificationConfigurationRequest; +@class AWSS3GetBucketPolicyOutput; +@class AWSS3GetBucketPolicyRequest; +@class AWSS3GetBucketReplicationOutput; +@class AWSS3GetBucketReplicationRequest; +@class AWSS3GetBucketRequestPaymentOutput; +@class AWSS3GetBucketRequestPaymentRequest; +@class AWSS3GetBucketTaggingOutput; +@class AWSS3GetBucketTaggingRequest; +@class AWSS3GetBucketVersioningOutput; +@class AWSS3GetBucketVersioningRequest; +@class AWSS3GetBucketWebsiteOutput; +@class AWSS3GetBucketWebsiteRequest; +@class AWSS3GetObjectAclOutput; +@class AWSS3GetObjectAclRequest; +@class AWSS3GetObjectOutput; +@class AWSS3GetObjectRequest; +@class AWSS3GetObjectTaggingOutput; +@class AWSS3GetObjectTaggingRequest; +@class AWSS3GetObjectTorrentOutput; +@class AWSS3GetObjectTorrentRequest; +@class AWSS3GlacierJobParameters; +@class AWSS3Grant; +@class AWSS3Grantee; +@class AWSS3HeadBucketRequest; +@class AWSS3HeadObjectOutput; +@class AWSS3HeadObjectRequest; +@class AWSS3IndexDocument; +@class AWSS3Initiator; +@class AWSS3InventoryConfiguration; +@class AWSS3InventoryDestination; +@class AWSS3InventoryFilter; +@class AWSS3InventoryS3BucketDestination; +@class AWSS3InventorySchedule; +@class AWSS3LambdaFunctionConfiguration; +@class AWSS3LifecycleConfiguration; +@class AWSS3LifecycleExpiration; +@class AWSS3LifecycleRule; +@class AWSS3LifecycleRuleAndOperator; +@class AWSS3LifecycleRuleFilter; +@class AWSS3ListBucketAnalyticsConfigurationsOutput; +@class AWSS3ListBucketAnalyticsConfigurationsRequest; +@class AWSS3ListBucketInventoryConfigurationsOutput; +@class AWSS3ListBucketInventoryConfigurationsRequest; +@class AWSS3ListBucketMetricsConfigurationsOutput; +@class AWSS3ListBucketMetricsConfigurationsRequest; +@class AWSS3ListBucketsOutput; +@class AWSS3ListMultipartUploadsOutput; +@class AWSS3ListMultipartUploadsRequest; +@class AWSS3ListObjectVersionsOutput; +@class AWSS3ListObjectVersionsRequest; +@class AWSS3ListObjectsOutput; +@class AWSS3ListObjectsRequest; +@class AWSS3ListObjectsV2Output; +@class AWSS3ListObjectsV2Request; +@class AWSS3ListPartsOutput; +@class AWSS3ListPartsRequest; +@class AWSS3LoggingEnabled; +@class AWSS3MetricsAndOperator; +@class AWSS3MetricsConfiguration; +@class AWSS3MetricsFilter; +@class AWSS3MultipartUpload; +@class AWSS3NoncurrentVersionExpiration; +@class AWSS3NoncurrentVersionTransition; +@class AWSS3NotificationConfiguration; +@class AWSS3NotificationConfigurationDeprecated; +@class AWSS3NotificationConfigurationFilter; +@class AWSS3Object; +@class AWSS3ObjectIdentifier; +@class AWSS3ObjectVersion; +@class AWSS3Owner; +@class AWSS3Part; +@class AWSS3PutBucketAccelerateConfigurationRequest; +@class AWSS3PutBucketAclRequest; +@class AWSS3PutBucketAnalyticsConfigurationRequest; +@class AWSS3PutBucketCorsRequest; +@class AWSS3PutBucketInventoryConfigurationRequest; +@class AWSS3PutBucketLifecycleConfigurationRequest; +@class AWSS3PutBucketLifecycleRequest; +@class AWSS3PutBucketLoggingRequest; +@class AWSS3PutBucketMetricsConfigurationRequest; +@class AWSS3PutBucketNotificationConfigurationRequest; +@class AWSS3PutBucketNotificationRequest; +@class AWSS3PutBucketPolicyRequest; +@class AWSS3PutBucketReplicationRequest; +@class AWSS3PutBucketRequestPaymentRequest; +@class AWSS3PutBucketTaggingRequest; +@class AWSS3PutBucketVersioningRequest; +@class AWSS3PutBucketWebsiteRequest; +@class AWSS3PutObjectAclOutput; +@class AWSS3PutObjectAclRequest; +@class AWSS3PutObjectOutput; +@class AWSS3PutObjectRequest; +@class AWSS3PutObjectTaggingOutput; +@class AWSS3PutObjectTaggingRequest; +@class AWSS3QueueConfiguration; +@class AWSS3QueueConfigurationDeprecated; +@class AWSS3Redirect; +@class AWSS3RedirectAllRequestsTo; +@class AWSS3ReplicationConfiguration; +@class AWSS3ReplicationRule; +@class AWSS3RequestPaymentConfiguration; +@class AWSS3RestoreObjectOutput; +@class AWSS3RestoreObjectRequest; +@class AWSS3RestoreRequest; +@class AWSS3RoutingRule; +@class AWSS3Rule; +@class AWSS3S3KeyFilter; +@class AWSS3StorageClassAnalysis; +@class AWSS3StorageClassAnalysisDataExport; +@class AWSS3Tag; +@class AWSS3Tagging; +@class AWSS3TargetGrant; +@class AWSS3TopicConfiguration; +@class AWSS3TopicConfigurationDeprecated; +@class AWSS3Transition; +@class AWSS3UploadPartCopyOutput; +@class AWSS3UploadPartCopyRequest; +@class AWSS3UploadPartOutput; +@class AWSS3UploadPartRequest; +@class AWSS3VersioningConfiguration; +@class AWSS3WebsiteConfiguration; + +/** + Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload. + */ +@interface AWSS3AbortIncompleteMultipartUpload : AWSModel + + +/** + Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload. + */ +@property (nonatomic, strong) NSNumber * _Nullable daysAfterInitiation; + +@end + +/** + + */ +@interface AWSS3AbortMultipartUploadOutput : AWSModel + + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +@end + +/** + + */ +@interface AWSS3AbortMultipartUploadRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3AccelerateConfiguration : AWSModel + + +/** + The accelerate configuration of the bucket. + */ +@property (nonatomic, assign) AWSS3BucketAccelerateStatus status; + +@end + +/** + + */ +@interface AWSS3AccessControlPolicy : AWSModel + + +/** + A list of grants. + */ +@property (nonatomic, strong) NSArray * _Nullable grants; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +@end + +/** + + */ +@interface AWSS3AnalyticsAndOperator : AWSModel + + +/** + The prefix to use when evaluating an AND predicate. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + The list of tags to use when evaluating an AND predicate. + */ +@property (nonatomic, strong) NSArray * _Nullable tags; + +@end + +/** + + */ +@interface AWSS3AnalyticsConfiguration : AWSModel + + +/** + The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis. + */ +@property (nonatomic, strong) AWSS3AnalyticsFilter * _Nullable filter; + +/** + The identifier used to represent an analytics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes. + */ +@property (nonatomic, strong) AWSS3StorageClassAnalysis * _Nullable storageClassAnalysis; + +@end + +/** + + */ +@interface AWSS3AnalyticsExportDestination : AWSModel + + +/** + A destination signifying output to an S3 bucket. + */ +@property (nonatomic, strong) AWSS3AnalyticsS3BucketDestination * _Nullable s3BucketDestination; + +@end + +/** + + */ +@interface AWSS3AnalyticsFilter : AWSModel + + +/** + A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates. + */ +@property (nonatomic, strong) AWSS3AnalyticsAndOperator * _Nullable and; + +/** + The prefix to use when evaluating an analytics filter. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + The tag to use when evaluating an analytics filter. + */ +@property (nonatomic, strong) AWSS3Tag * _Nullable tag; + +@end + +/** + + */ +@interface AWSS3AnalyticsS3BucketDestination : AWSModel + + +/** + The Amazon resource name (ARN) of the bucket to which data is exported. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data. + */ +@property (nonatomic, strong) NSString * _Nullable bucketAccountId; + +/** + The file format used when exporting data to Amazon S3. + */ +@property (nonatomic, assign) AWSS3AnalyticsS3ExportFileFormat format; + +/** + The prefix to use when exporting data. The exported data begins with this prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +@end + +/** + + */ +@interface AWSS3Bucket : AWSModel + + +/** + Date the bucket was created. + */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** + The name of the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable name; + +@end + +/** + + */ +@interface AWSS3BucketLifecycleConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable rules; + +@end + +/** + + */ +@interface AWSS3BucketLoggingStatus : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3LoggingEnabled * _Nullable loggingEnabled; + +@end + +/** + + */ +@interface AWSS3CORSConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable CORSRules; + +@end + +/** + + */ +@interface AWSS3CORSRule : AWSModel + + +/** + Specifies which headers are allowed in a pre-flight OPTIONS request. + */ +@property (nonatomic, strong) NSArray * _Nullable allowedHeaders; + +/** + Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute. + */ +@property (nonatomic, strong) NSArray * _Nullable allowedMethods; + +/** + One or more origins you want customers to be able to access the bucket from. + */ +@property (nonatomic, strong) NSArray * _Nullable allowedOrigins; + +/** + One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object). + */ +@property (nonatomic, strong) NSArray * _Nullable exposeHeaders; + +/** + The time in seconds that your browser is to cache the preflight response for the specified resource. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxAgeSeconds; + +@end + +/** + + */ +@interface AWSS3CloudFunctionConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable cloudFunction; + +/** + Bucket event for which to send notifications. + */ +@property (nonatomic, assign) AWSS3Event event; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +/** + Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable invocationRole; + +@end + +/** + + */ +@interface AWSS3CommonPrefix : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +@end + +/** + + */ +@interface AWSS3CompleteMultipartUploadOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Entity tag of the object. + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. + */ +@property (nonatomic, strong) NSString * _Nullable expiration; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable location; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + Version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3CompleteMultipartUploadRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) AWSS3CompletedMultipartUpload * _Nullable multipartUpload; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3CompletedMultipartUpload : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable parts; + +@end + +/** + + */ +@interface AWSS3CompletedPart : AWSModel + + +/** + Entity tag returned when the part was uploaded. + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + Part number that identifies the part. This is a positive integer between 1 and 10,000. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumber; + +@end + +/** + + */ +@interface AWSS3Condition : AWSModel + + +/** + The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied. + */ +@property (nonatomic, strong) NSString * _Nullable httpErrorCodeReturnedEquals; + +/** + The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied. + */ +@property (nonatomic, strong) NSString * _Nullable keyPrefixEquals; + +@end + +/** + + */ +@interface AWSS3ReplicateObjectOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3ReplicateObjectResult * _Nullable replicateObjectResult; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceVersionId; + +/** + If the object expiration is configured, the response includes this header. + */ +@property (nonatomic, strong) NSString * _Nullable expiration; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + Version ID of the newly created copy. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3ReplicateObjectRequest : AWSRequest + + +/** + The canned ACL to apply to the object. + */ +@property (nonatomic, assign) AWSS3ObjectCannedACL ACL; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Specifies caching behavior along the request/reply chain. + */ +@property (nonatomic, strong) NSString * _Nullable cacheControl; + +/** + Specifies presentational information for the object. + */ +@property (nonatomic, strong) NSString * _Nullable contentDisposition; + +/** + Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. + */ +@property (nonatomic, strong) NSString * _Nullable contentEncoding; + +/** + The language the content is in. + */ +@property (nonatomic, strong) NSString * _Nullable contentLanguage; + +/** + A standard MIME type describing the format of the object data. + */ +@property (nonatomic, strong) NSString * _Nullable contentType; + +/** + The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSource; + +/** + Copies the object if its entity tag (ETag) matches the specified tag. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceIfMatch; + +/** + Copies the object if it has been modified since the specified time. + */ +@property (nonatomic, strong) NSDate * _Nullable replicateSourceIfModifiedSince; + +/** + Copies the object if its entity tag (ETag) is different than the specified ETag. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceIfNoneMatch; + +/** + Copies the object if it hasn't been modified since the specified time. + */ +@property (nonatomic, strong) NSDate * _Nullable replicateSourceIfUnmodifiedSince; + +/** + Specifies the algorithm to use when decrypting the source object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceSSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceSSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceSSECustomerKeyMD5; + +/** + The date and time at which the object is no longer cacheable. + */ +@property (nonatomic, strong) NSDate * _Nullable expires; + +/** + Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. + */ +@property (nonatomic, strong) NSString * _Nullable grantFullControl; + +/** + Allows grantee to read the object data and its metadata. + */ +@property (nonatomic, strong) NSString * _Nullable grantRead; + +/** + Allows grantee to read the object ACL. + */ +@property (nonatomic, strong) NSString * _Nullable grantReadACP; + +/** + Allows grantee to write the ACL for the applicable object. + */ +@property (nonatomic, strong) NSString * _Nullable grantWriteACP; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + A map of metadata to store with the object in S3. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metadata; + +/** + Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request. + */ +@property (nonatomic, assign) AWSS3MetadataDirective metadataDirective; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + The type of storage to use for the object. Defaults to 'STANDARD'. + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters + */ +@property (nonatomic, strong) NSString * _Nullable tagging; + +/** + Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request. + */ +@property (nonatomic, assign) AWSS3TaggingDirective taggingDirective; + +/** + If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. + */ +@property (nonatomic, strong) NSString * _Nullable websiteRedirectLocation; + +@end + +/** + + */ +@interface AWSS3ReplicateObjectResult : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +@end + +/** + + */ +@interface AWSS3ReplicatePartResult : AWSModel + + +/** + Entity tag of the object. + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + Date and time at which the object was uploaded. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +@end + +/** + + */ +@interface AWSS3CreateBucketConfiguration : AWSModel + + +/** + Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard. + */ +@property (nonatomic, assign) AWSS3BucketLocationConstraint locationConstraint; + +@end + +/** + + */ +@interface AWSS3CreateBucketOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable location; + +@end + +/** + + */ +@interface AWSS3CreateBucketRequest : AWSRequest + + +/** + The canned ACL to apply to the bucket. + */ +@property (nonatomic, assign) AWSS3BucketCannedACL ACL; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) AWSS3CreateBucketConfiguration * _Nullable createBucketConfiguration; + +/** + Allows grantee the read, write, read ACP, and write ACP permissions on the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantFullControl; + +/** + Allows grantee to list the objects in the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantRead; + +/** + Allows grantee to read the bucket ACL. + */ +@property (nonatomic, strong) NSString * _Nullable grantReadACP; + +/** + Allows grantee to create, overwrite, and delete any object in the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantWrite; + +/** + Allows grantee to write the ACL for the applicable bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantWriteACP; + +@end + +/** + + */ +@interface AWSS3CreateMultipartUploadOutput : AWSModel + + +/** + Date when multipart upload will become eligible for abort operation by lifecycle. + */ +@property (nonatomic, strong) NSDate * _Nullable abortDate; + +/** + Id of the lifecycle rule that makes a multipart upload eligible for abort operation. + */ +@property (nonatomic, strong) NSString * _Nullable abortRuleId; + +/** + Name of the bucket to which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Object key for which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + ID for the initiated multipart upload. + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3CreateMultipartUploadRequest : AWSRequest + + +/** + The canned ACL to apply to the object. + */ +@property (nonatomic, assign) AWSS3ObjectCannedACL ACL; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Specifies caching behavior along the request/reply chain. + */ +@property (nonatomic, strong) NSString * _Nullable cacheControl; + +/** + Specifies presentational information for the object. + */ +@property (nonatomic, strong) NSString * _Nullable contentDisposition; + +/** + Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. + */ +@property (nonatomic, strong) NSString * _Nullable contentEncoding; + +/** + The language the content is in. + */ +@property (nonatomic, strong) NSString * _Nullable contentLanguage; + +/** + A standard MIME type describing the format of the object data. + */ +@property (nonatomic, strong) NSString * _Nullable contentType; + +/** + The date and time at which the object is no longer cacheable. + */ +@property (nonatomic, strong) NSDate * _Nullable expires; + +/** + Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. + */ +@property (nonatomic, strong) NSString * _Nullable grantFullControl; + +/** + Allows grantee to read the object data and its metadata. + */ +@property (nonatomic, strong) NSString * _Nullable grantRead; + +/** + Allows grantee to read the object ACL. + */ +@property (nonatomic, strong) NSString * _Nullable grantReadACP; + +/** + Allows grantee to write the ACL for the applicable object. + */ +@property (nonatomic, strong) NSString * _Nullable grantWriteACP; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + A map of metadata to store with the object in S3. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metadata; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + The type of storage to use for the object. Defaults to 'STANDARD'. + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. + */ +@property (nonatomic, strong) NSString * _Nullable websiteRedirectLocation; + +@end + +/** + + */ +@interface AWSS3Remove : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable objects; + +/** + Element to enable quiet mode for the request. When you add this element, you must set its value to true. + */ +@property (nonatomic, strong) NSNumber * _Nullable quiet; + +@end + +/** + + */ +@interface AWSS3DeleteBucketAnalyticsConfigurationRequest : AWSRequest + + +/** + The name of the bucket from which an analytics configuration is deleted. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The identifier used to represent an analytics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3DeleteBucketCorsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteBucketInventoryConfigurationRequest : AWSRequest + + +/** + The name of the bucket containing the inventory configuration to delete. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ID used to identify the inventory configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3DeleteBucketLifecycleRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteBucketMetricsConfigurationRequest : AWSRequest + + +/** + The name of the bucket containing the metrics configuration to delete. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ID used to identify the metrics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3DeleteBucketPolicyRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteBucketReplicationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteBucketRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteBucketTaggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteBucketWebsiteRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3DeleteMarkerEntry : AWSModel + + +/** + Specifies whether the object is (true) or is not (false) the latest version of an object. + */ +@property (nonatomic, strong) NSNumber * _Nullable isLatest; + +/** + The object key. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Date and time the object was last modified. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +/** + Version ID of an object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3DeleteObjectOutput : AWSModel + + +/** + Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker. + */ +@property (nonatomic, strong) NSNumber * _Nullable deleteMarker; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + Returns the version ID of the delete marker created as a result of the DELETE operation. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3DeleteObjectRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. + */ +@property (nonatomic, strong) NSString * _Nullable MFA; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + VersionId used to reference a specific version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3DeleteObjectTaggingOutput : AWSModel + + +/** + The versionId of the object the tag-set was removed from. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3DeleteObjectTaggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + The versionId of the object that the tag-set will be removed from. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3DeleteObjectsOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable deleted; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable errors; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +@end + +/** + + */ +@interface AWSS3DeleteObjectsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) AWSS3Remove * _Nullable remove; + +/** + The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. + */ +@property (nonatomic, strong) NSString * _Nullable MFA; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +@end + +/** + + */ +@interface AWSS3DeletedObject : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSNumber * _Nullable deleteMarker; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable deleteMarkerVersionId; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3Destination : AWSModel + + +/** + Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +@end + +/** + + */ +@interface AWSS3Error : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable code; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable message; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3ErrorDocument : AWSModel + + +/** + The object key name to use when a 4XX class error occurs. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +@end + +/** + Container for key value pair that defines the criteria for the filter rule. + */ +@interface AWSS3FilterRule : AWSModel + + +/** + Object key name prefix or suffix identifying one or more objects to which the filtering rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes and suffixes are not supported. For more information, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide. + */ +@property (nonatomic, assign) AWSS3FilterRuleName name; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable value; + +@end + +/** + + */ +@interface AWSS3GetBucketAccelerateConfigurationOutput : AWSModel + + +/** + The accelerate configuration of the bucket. + */ +@property (nonatomic, assign) AWSS3BucketAccelerateStatus status; + +@end + +/** + + */ +@interface AWSS3GetBucketAccelerateConfigurationRequest : AWSRequest + + +/** + Name of the bucket for which the accelerate configuration is retrieved. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketAclOutput : AWSModel + + +/** + A list of grants. + */ +@property (nonatomic, strong) NSArray * _Nullable grants; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +@end + +/** + + */ +@interface AWSS3GetBucketAclRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketAnalyticsConfigurationOutput : AWSModel + + +/** + The configuration and any analyses for the analytics filter. + */ +@property (nonatomic, strong) AWSS3AnalyticsConfiguration * _Nullable analyticsConfiguration; + +@end + +/** + + */ +@interface AWSS3GetBucketAnalyticsConfigurationRequest : AWSRequest + + +/** + The name of the bucket from which an analytics configuration is retrieved. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The identifier used to represent an analytics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3GetBucketCorsOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable CORSRules; + +@end + +/** + + */ +@interface AWSS3GetBucketCorsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketInventoryConfigurationOutput : AWSModel + + +/** + Specifies the inventory configuration. + */ +@property (nonatomic, strong) AWSS3InventoryConfiguration * _Nullable inventoryConfiguration; + +@end + +/** + + */ +@interface AWSS3GetBucketInventoryConfigurationRequest : AWSRequest + + +/** + The name of the bucket containing the inventory configuration to retrieve. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ID used to identify the inventory configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3GetBucketLifecycleConfigurationOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable rules; + +@end + +/** + + */ +@interface AWSS3GetBucketLifecycleConfigurationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketLifecycleOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable rules; + +@end + +/** + + */ +@interface AWSS3GetBucketLifecycleRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketLocationOutput : AWSModel + + +/** + + */ +@property (nonatomic, assign) AWSS3BucketLocationConstraint locationConstraint; + +@end + +/** + + */ +@interface AWSS3GetBucketLocationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketLoggingOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3LoggingEnabled * _Nullable loggingEnabled; + +@end + +/** + + */ +@interface AWSS3GetBucketLoggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketMetricsConfigurationOutput : AWSModel + + +/** + Specifies the metrics configuration. + */ +@property (nonatomic, strong) AWSS3MetricsConfiguration * _Nullable metricsConfiguration; + +@end + +/** + + */ +@interface AWSS3GetBucketMetricsConfigurationRequest : AWSRequest + + +/** + The name of the bucket containing the metrics configuration to retrieve. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ID used to identify the metrics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3GetBucketNotificationConfigurationRequest : AWSRequest + + +/** + Name of the bucket to get the notification configuration for. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketPolicyOutput : AWSModel + + +/** + The bucket policy as a JSON document. + */ +@property (nonatomic, strong) NSString * _Nullable policy; + +@end + +/** + + */ +@interface AWSS3GetBucketPolicyRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketReplicationOutput : AWSModel + + +/** + Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB. + */ +@property (nonatomic, strong) AWSS3ReplicationConfiguration * _Nullable replicationConfiguration; + +@end + +/** + + */ +@interface AWSS3GetBucketReplicationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketRequestPaymentOutput : AWSModel + + +/** + Specifies who pays for the download and request fees. + */ +@property (nonatomic, assign) AWSS3Payer payer; + +@end + +/** + + */ +@interface AWSS3GetBucketRequestPaymentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketTaggingOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable tagSet; + +@end + +/** + + */ +@interface AWSS3GetBucketTaggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketVersioningOutput : AWSModel + + +/** + Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned. + */ +@property (nonatomic, assign) AWSS3MFADeleteStatus MFADelete; + +/** + The versioning state of the bucket. + */ +@property (nonatomic, assign) AWSS3BucketVersioningStatus status; + +@end + +/** + + */ +@interface AWSS3GetBucketVersioningRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetBucketWebsiteOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3ErrorDocument * _Nullable errorDocument; + +/** + + */ +@property (nonatomic, strong) AWSS3IndexDocument * _Nullable indexDocument; + +/** + + */ +@property (nonatomic, strong) AWSS3RedirectAllRequestsTo * _Nullable redirectAllRequestsTo; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable routingRules; + +@end + +/** + + */ +@interface AWSS3GetBucketWebsiteRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3GetObjectAclOutput : AWSModel + + +/** + A list of grants. + */ +@property (nonatomic, strong) NSArray * _Nullable grants; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +@end + +/** + + */ +@interface AWSS3GetObjectAclRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + VersionId used to reference a specific version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3GetObjectOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable acceptRanges; + +/** + Object data. + */ +@property (nonatomic, strong) id _Nullable body; + +/** + Specifies caching behavior along the request/reply chain. + */ +@property (nonatomic, strong) NSString * _Nullable cacheControl; + +/** + Specifies presentational information for the object. + */ +@property (nonatomic, strong) NSString * _Nullable contentDisposition; + +/** + Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. + */ +@property (nonatomic, strong) NSString * _Nullable contentEncoding; + +/** + The language the content is in. + */ +@property (nonatomic, strong) NSString * _Nullable contentLanguage; + +/** + Size of the body in bytes. + */ +@property (nonatomic, strong) NSNumber * _Nullable contentLength; + +/** + The portion of the object returned in the response. + */ +@property (nonatomic, strong) NSString * _Nullable contentRange; + +/** + A standard MIME type describing the format of the object data. + */ +@property (nonatomic, strong) NSString * _Nullable contentType; + +/** + Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response. + */ +@property (nonatomic, strong) NSNumber * _Nullable deleteMarker; + +/** + An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded. + */ +@property (nonatomic, strong) NSString * _Nullable expiration; + +/** + The date and time at which the object is no longer cacheable. + */ +@property (nonatomic, strong) NSDate * _Nullable expires; + +/** + Last modified date of the object + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +/** + A map of metadata to store with the object in S3. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metadata; + +/** + This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers. + */ +@property (nonatomic, strong) NSNumber * _Nullable missingMeta; + +/** + The count of parts this object has. + */ +@property (nonatomic, strong) NSNumber * _Nullable partsCount; + +/** + + */ +@property (nonatomic, assign) AWSS3ReplicationStatus replicationStatus; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + Provides information about object restoration operation and expiration time of the restored object copy. + */ +@property (nonatomic, strong) NSString * _Nullable restore; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + The number of tags, if any, on the object. + */ +@property (nonatomic, strong) NSNumber * _Nullable tagCount; + +/** + Version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +/** + If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. + */ +@property (nonatomic, strong) NSString * _Nullable websiteRedirectLocation; + +@end + +/** + + */ +@interface AWSS3GetObjectRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed). + */ +@property (nonatomic, strong) NSString * _Nullable ifMatch; + +/** + Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified). + */ +@property (nonatomic, strong) NSDate * _Nullable ifModifiedSince; + +/** + Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified). + */ +@property (nonatomic, strong) NSString * _Nullable ifNoneMatch; + +/** + Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed). + */ +@property (nonatomic, strong) NSDate * _Nullable ifUnmodifiedSince; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumber; + +/** + Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. + */ +@property (nonatomic, strong) NSString * _Nullable range; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Sets the Cache-Control header of the response. + */ +@property (nonatomic, strong) NSString * _Nullable responseCacheControl; + +/** + Sets the Content-Disposition header of the response + */ +@property (nonatomic, strong) NSString * _Nullable responseContentDisposition; + +/** + Sets the Content-Encoding header of the response. + */ +@property (nonatomic, strong) NSString * _Nullable responseContentEncoding; + +/** + Sets the Content-Language header of the response. + */ +@property (nonatomic, strong) NSString * _Nullable responseContentLanguage; + +/** + Sets the Content-Type header of the response. + */ +@property (nonatomic, strong) NSString * _Nullable responseContentType; + +/** + Sets the Expires header of the response. + */ +@property (nonatomic, strong) NSDate * _Nullable responseExpires; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + VersionId used to reference a specific version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3GetObjectTaggingOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable tagSet; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3GetObjectTaggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3GetObjectTorrentOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) id _Nullable body; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +@end + +/** + + */ +@interface AWSS3GetObjectTorrentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +@end + +/** + + */ +@interface AWSS3GlacierJobParameters : AWSModel + + +/** + Glacier retrieval tier at which the restore will be processed. + */ +@property (nonatomic, assign) AWSS3Tier tier; + +@end + +/** + + */ +@interface AWSS3Grant : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3Grantee * _Nullable grantee; + +/** + Specifies the permission given to the grantee. + */ +@property (nonatomic, assign) AWSS3Permission permission; + +@end + +/** + + */ +@interface AWSS3Grantee : AWSModel + + +/** + Screen name of the grantee. + */ +@property (nonatomic, strong) NSString * _Nullable displayName; + +/** + Email address of the grantee. + */ +@property (nonatomic, strong) NSString * _Nullable emailAddress; + +/** + The canonical user ID of the grantee. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Type of grantee + */ +@property (nonatomic, assign) AWSS3Types types; + +/** + URI of the grantee group. + */ +@property (nonatomic, strong) NSString * _Nullable URI; + +@end + +/** + + */ +@interface AWSS3HeadBucketRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3HeadObjectOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable acceptRanges; + +/** + Specifies caching behavior along the request/reply chain. + */ +@property (nonatomic, strong) NSString * _Nullable cacheControl; + +/** + Specifies presentational information for the object. + */ +@property (nonatomic, strong) NSString * _Nullable contentDisposition; + +/** + Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. + */ +@property (nonatomic, strong) NSString * _Nullable contentEncoding; + +/** + The language the content is in. + */ +@property (nonatomic, strong) NSString * _Nullable contentLanguage; + +/** + Size of the body in bytes. + */ +@property (nonatomic, strong) NSNumber * _Nullable contentLength; + +/** + A standard MIME type describing the format of the object data. + */ +@property (nonatomic, strong) NSString * _Nullable contentType; + +/** + Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response. + */ +@property (nonatomic, strong) NSNumber * _Nullable deleteMarker; + +/** + An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded. + */ +@property (nonatomic, strong) NSString * _Nullable expiration; + +/** + The date and time at which the object is no longer cacheable. + */ +@property (nonatomic, strong) NSDate * _Nullable expires; + +/** + Last modified date of the object + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +/** + A map of metadata to store with the object in S3. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metadata; + +/** + This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers. + */ +@property (nonatomic, strong) NSNumber * _Nullable missingMeta; + +/** + The count of parts this object has. + */ +@property (nonatomic, strong) NSNumber * _Nullable partsCount; + +/** + + */ +@property (nonatomic, assign) AWSS3ReplicationStatus replicationStatus; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + Provides information about object restoration operation and expiration time of the restored object copy. + */ +@property (nonatomic, strong) NSString * _Nullable restore; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + Version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +/** + If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. + */ +@property (nonatomic, strong) NSString * _Nullable websiteRedirectLocation; + +@end + +/** + + */ +@interface AWSS3HeadObjectRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed). + */ +@property (nonatomic, strong) NSString * _Nullable ifMatch; + +/** + Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified). + */ +@property (nonatomic, strong) NSDate * _Nullable ifModifiedSince; + +/** + Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified). + */ +@property (nonatomic, strong) NSString * _Nullable ifNoneMatch; + +/** + Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed). + */ +@property (nonatomic, strong) NSDate * _Nullable ifUnmodifiedSince; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumber; + +/** + Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35. + */ +@property (nonatomic, strong) NSString * _Nullable range; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + VersionId used to reference a specific version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3IndexDocument : AWSModel + + +/** + A suffix that is appended to a request that is for a directory on the website endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character. + */ +@property (nonatomic, strong) NSString * _Nullable suffix; + +@end + +/** + + */ +@interface AWSS3Initiator : AWSModel + + +/** + Name of the Principal. + */ +@property (nonatomic, strong) NSString * _Nullable displayName; + +/** + If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3InventoryConfiguration : AWSModel + + +/** + Contains information about where to publish the inventory results. + */ +@property (nonatomic, strong) AWSS3InventoryDestination * _Nullable destination; + +/** + Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria. + */ +@property (nonatomic, strong) AWSS3InventoryFilter * _Nullable filter; + +/** + The ID used to identify the inventory configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Specifies which object version(s) to included in the inventory results. + */ +@property (nonatomic, assign) AWSS3InventoryIncludedObjectVersions includedObjectVersions; + +/** + Specifies whether the inventory is enabled or disabled. + */ +@property (nonatomic, strong) NSNumber * _Nullable isEnabled; + +/** + Contains the optional fields that are included in the inventory results. + */ +@property (nonatomic, strong) NSArray * _Nullable optionalFields; + +/** + Specifies the schedule for generating inventory results. + */ +@property (nonatomic, strong) AWSS3InventorySchedule * _Nullable schedule; + +@end + +/** + + */ +@interface AWSS3InventoryDestination : AWSModel + + +/** + Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published. + */ +@property (nonatomic, strong) AWSS3InventoryS3BucketDestination * _Nullable s3BucketDestination; + +@end + +/** + + */ +@interface AWSS3InventoryFilter : AWSModel + + +/** + The prefix that an object must have to be included in the inventory results. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +@end + +/** + + */ +@interface AWSS3InventoryS3BucketDestination : AWSModel + + +/** + The ID of the account that owns the destination bucket. + */ +@property (nonatomic, strong) NSString * _Nullable accountId; + +/** + The Amazon resource name (ARN) of the bucket where inventory results will be published. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Specifies the output format of the inventory results. + */ +@property (nonatomic, assign) AWSS3InventoryFormat format; + +/** + The prefix that is prepended to all inventory results. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +@end + +/** + + */ +@interface AWSS3InventorySchedule : AWSModel + + +/** + Specifies how frequently inventory results are produced. + */ +@property (nonatomic, assign) AWSS3InventoryFrequency frequency; + +@end + +/** + Container for specifying the AWS Lambda notification configuration. + Required parameters: [LambdaFunctionArn, Events] + */ +@interface AWSS3LambdaFunctionConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +/** + Container for object key name filtering rules. For information about key name filtering, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide. + */ +@property (nonatomic, strong) AWSS3NotificationConfigurationFilter * _Nullable filter; + +/** + Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type. + */ +@property (nonatomic, strong) NSString * _Nullable lambdaFunctionArn; + +@end + +/** + + */ +@interface AWSS3LifecycleConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable rules; + +@end + +/** + + */ +@interface AWSS3LifecycleExpiration : AWSModel + + +/** + Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format. + */ +@property (nonatomic, strong) NSDate * _Nullable date; + +/** + Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer. + */ +@property (nonatomic, strong) NSNumber * _Nullable days; + +/** + Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy. + */ +@property (nonatomic, strong) NSNumber * _Nullable expiredObjectDeleteMarker; + +@end + +/** + + */ +@interface AWSS3LifecycleRule : AWSModel + + +/** + Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload. + */ +@property (nonatomic, strong) AWSS3AbortIncompleteMultipartUpload * _Nullable abortIncompleteMultipartUpload; + +/** + + */ +@property (nonatomic, strong) AWSS3LifecycleExpiration * _Nullable expiration; + +/** + The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified. + */ +@property (nonatomic, strong) AWSS3LifecycleRuleFilter * _Nullable filter; + +/** + Unique identifier for the rule. The value cannot be longer than 255 characters. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime. + */ +@property (nonatomic, strong) AWSS3NoncurrentVersionExpiration * _Nullable noncurrentVersionExpiration; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable noncurrentVersionTransitions; + +/** + Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied. + */ +@property (nonatomic, assign) AWSS3ExpirationStatus status; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable transitions; + +@end + +/** + This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator. + */ +@interface AWSS3LifecycleRuleAndOperator : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + All of these tags must exist in the object's tag set in order for the rule to apply. + */ +@property (nonatomic, strong) NSArray * _Nullable tags; + +@end + +/** + The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified. + */ +@interface AWSS3LifecycleRuleFilter : AWSModel + + +/** + This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator. + */ +@property (nonatomic, strong) AWSS3LifecycleRuleAndOperator * _Nullable and; + +/** + Prefix identifying one or more objects to which the rule applies. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + This tag must exist in the object's tag set in order for the rule to apply. + */ +@property (nonatomic, strong) AWSS3Tag * _Nullable tag; + +@end + +/** + + */ +@interface AWSS3ListBucketAnalyticsConfigurationsOutput : AWSModel + + +/** + The list of analytics configurations for a bucket. + */ +@property (nonatomic, strong) NSArray * _Nullable analyticsConfigurationList; + +/** + The ContinuationToken that represents where this request began. + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +/** + Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value. + */ +@property (nonatomic, strong) NSString * _Nullable nextContinuationToken; + +@end + +/** + + */ +@interface AWSS3ListBucketAnalyticsConfigurationsRequest : AWSRequest + + +/** + The name of the bucket from which analytics configurations are retrieved. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ContinuationToken that represents a placeholder from where this request should begin. + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +@end + +/** + + */ +@interface AWSS3ListBucketInventoryConfigurationsOutput : AWSModel + + +/** + If sent in the request, the marker that is used as a starting point for this inventory configuration list response. + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +/** + The list of inventory configurations for a bucket. + */ +@property (nonatomic, strong) NSArray * _Nullable inventoryConfigurationList; + +/** + Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands. + */ +@property (nonatomic, strong) NSString * _Nullable nextContinuationToken; + +@end + +/** + + */ +@interface AWSS3ListBucketInventoryConfigurationsRequest : AWSRequest + + +/** + The name of the bucket containing the inventory configurations to retrieve. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands. + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +@end + +/** + + */ +@interface AWSS3ListBucketMetricsConfigurationsOutput : AWSModel + + +/** + The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request. + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +/** + Indicates whether the returned list of metrics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + The list of metrics configurations for a bucket. + */ +@property (nonatomic, strong) NSArray * _Nullable metricsConfigurationList; + +/** + The marker used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands. + */ +@property (nonatomic, strong) NSString * _Nullable nextContinuationToken; + +@end + +/** + + */ +@interface AWSS3ListBucketMetricsConfigurationsRequest : AWSRequest + + +/** + The name of the bucket containing the metrics configurations to retrieve. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands. + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +@end + +/** + + */ +@interface AWSS3ListBucketsOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable buckets; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +@end + +/** + + */ +@interface AWSS3ListMultipartUploadsOutput : AWSModel + + +/** + Name of the bucket to which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable commonPrefixes; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Encoding type used by Amazon S3 to encode object keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + The key at or after which the listing began. + */ +@property (nonatomic, strong) NSString * _Nullable keyMarker; + +/** + Maximum number of multipart uploads that could have been included in the response. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxUploads; + +/** + When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request. + */ +@property (nonatomic, strong) NSString * _Nullable nextKeyMarker; + +/** + When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request. + */ +@property (nonatomic, strong) NSString * _Nullable nextUploadIdMarker; + +/** + When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + Upload ID after which listing began. + */ +@property (nonatomic, strong) NSString * _Nullable uploadIdMarker; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable uploads; + +@end + +/** + + */ +@interface AWSS3ListMultipartUploadsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Character you use to group keys. + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin. + */ +@property (nonatomic, strong) NSString * _Nullable keyMarker; + +/** + Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxUploads; + +/** + Lists in-progress uploads only for those keys that begin with the specified prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored. + */ +@property (nonatomic, strong) NSString * _Nullable uploadIdMarker; + +@end + +/** + + */ +@interface AWSS3ListObjectVersionsOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable commonPrefixes; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable deleteMarkers; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Encoding type used by Amazon S3 to encode object keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in another request to return the rest of the results. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + Marks the last Key returned in a truncated response. + */ +@property (nonatomic, strong) NSString * _Nullable keyMarker; + +/** + + */ +@property (nonatomic, strong) NSNumber * _Nullable maxKeys; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** + Use this value for the key marker request parameter in a subsequent request. + */ +@property (nonatomic, strong) NSString * _Nullable nextKeyMarker; + +/** + Use this value for the next version id marker parameter in a subsequent request. + */ +@property (nonatomic, strong) NSString * _Nullable nextVersionIdMarker; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionIdMarker; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable versions; + +@end + +/** + + */ +@interface AWSS3ListObjectVersionsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + A delimiter is a character you use to group keys. + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + Specifies the key to start with when listing objects in a bucket. + */ +@property (nonatomic, strong) NSString * _Nullable keyMarker; + +/** + Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxKeys; + +/** + Limits the response to keys that begin with the specified prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + Specifies the object version you want to start listing from. + */ +@property (nonatomic, strong) NSString * _Nullable versionIdMarker; + +@end + +/** + + */ +@interface AWSS3ListObjectsOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable commonPrefixes; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable contents; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Encoding type used by Amazon S3 to encode object keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable marker; + +/** + + */ +@property (nonatomic, strong) NSNumber * _Nullable maxKeys; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** + When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys. + */ +@property (nonatomic, strong) NSString * _Nullable nextMarker; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +@end + +/** + + */ +@interface AWSS3ListObjectsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + A delimiter is a character you use to group keys. + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + Specifies the key to start with when listing objects in a bucket. + */ +@property (nonatomic, strong) NSString * _Nullable marker; + +/** + Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxKeys; + +/** + Limits the response to keys that begin with the specified prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests. + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +@end + +/** + + */ +@interface AWSS3ListObjectsV2Output : AWSModel + + +/** + CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter + */ +@property (nonatomic, strong) NSArray * _Nullable commonPrefixes; + +/** + Metadata about each object returned. + */ +@property (nonatomic, strong) NSArray * _Nullable contents; + +/** + ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +/** + A delimiter is a character you use to group keys. + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Encoding type used by Amazon S3 to encode object keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys + */ +@property (nonatomic, strong) NSNumber * _Nullable keyCount; + +/** + Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxKeys; + +/** + Name of the bucket to list. + */ +@property (nonatomic, strong) NSString * _Nullable name; + +/** + NextContinuationToken is sent when isTruncated is true which means there are more keys in the bucket that can be listed. The next list requests to Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken is obfuscated and is not a real key + */ +@property (nonatomic, strong) NSString * _Nullable nextContinuationToken; + +/** + Limits the response to keys that begin with the specified prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket + */ +@property (nonatomic, strong) NSString * _Nullable startAfter; + +@end + +/** + + */ +@interface AWSS3ListObjectsV2Request : AWSRequest + + +/** + Name of the bucket to list. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key + */ +@property (nonatomic, strong) NSString * _Nullable continuationToken; + +/** + A delimiter is a character you use to group keys. + */ +@property (nonatomic, strong) NSString * _Nullable delimiter; + +/** + Encoding type used by Amazon S3 to encode object keys in the response. + */ +@property (nonatomic, assign) AWSS3EncodingType encodingType; + +/** + The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true + */ +@property (nonatomic, strong) NSNumber * _Nullable fetchOwner; + +/** + Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxKeys; + +/** + Limits the response to keys that begin with the specified prefix. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests. + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket + */ +@property (nonatomic, strong) NSString * _Nullable startAfter; + +@end + +/** + + */ +@interface AWSS3ListPartsOutput : AWSModel + + +/** + Date when multipart upload will become eligible for abort operation by lifecycle. + */ +@property (nonatomic, strong) NSDate * _Nullable abortDate; + +/** + Id of the lifecycle rule that makes a multipart upload eligible for abort operation. + */ +@property (nonatomic, strong) NSString * _Nullable abortRuleId; + +/** + Name of the bucket to which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Identifies who initiated the multipart upload. + */ +@property (nonatomic, strong) AWSS3Initiator * _Nullable initiator; + +/** + Indicates whether the returned list of parts is truncated. + */ +@property (nonatomic, strong) NSNumber * _Nullable isTruncated; + +/** + Object key for which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Maximum number of parts that were allowed in the response. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxParts; + +/** + When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request. + */ +@property (nonatomic, strong) NSNumber * _Nullable nextPartNumberMarker; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +/** + Part number after which listing begins. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumberMarker; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable parts; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + Upload ID identifying the multipart upload whose parts are being listed. + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3ListPartsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Sets the maximum number of parts to return. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxParts; + +/** + Specifies the part after which listing should begin. Only parts with higher part numbers will be listed. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumberMarker; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Upload ID identifying the multipart upload whose parts are being listed. + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3LoggingEnabled : AWSModel + + +/** + Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key. + */ +@property (nonatomic, strong) NSString * _Nullable targetBucket; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable targetGrants; + +/** + This element lets you specify a prefix for the keys that the log files will be stored under. + */ +@property (nonatomic, strong) NSString * _Nullable targetPrefix; + +@end + +/** + + */ +@interface AWSS3MetricsAndOperator : AWSModel + + +/** + The prefix used when evaluating an AND predicate. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + The list of tags used when evaluating an AND predicate. + */ +@property (nonatomic, strong) NSArray * _Nullable tags; + +@end + +/** + + */ +@interface AWSS3MetricsConfiguration : AWSModel + + +/** + Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator). + */ +@property (nonatomic, strong) AWSS3MetricsFilter * _Nullable filter; + +/** + The ID used to identify the metrics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3MetricsFilter : AWSModel + + +/** + A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply. + */ +@property (nonatomic, strong) AWSS3MetricsAndOperator * _Nullable and; + +/** + The prefix used when evaluating a metrics filter. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + The tag used when evaluating a metrics filter. + */ +@property (nonatomic, strong) AWSS3Tag * _Nullable tag; + +@end + +/** + + */ +@interface AWSS3MultipartUpload : AWSModel + + +/** + Date and time at which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSDate * _Nullable initiated; + +/** + Identifies who initiated the multipart upload. + */ +@property (nonatomic, strong) AWSS3Initiator * _Nullable initiator; + +/** + Key of the object for which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + Upload ID that identifies the multipart upload. + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime. + */ +@interface AWSS3NoncurrentVersionExpiration : AWSModel + + +/** + Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide. + */ +@property (nonatomic, strong) NSNumber * _Nullable noncurrentDays; + +@end + +/** + Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime. + */ +@interface AWSS3NoncurrentVersionTransition : AWSModel + + +/** + Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. For information about the noncurrent days calculations, see How Amazon S3 Calculates When an Object Became Noncurrent in the Amazon Simple Storage Service Developer Guide. + */ +@property (nonatomic, strong) NSNumber * _Nullable noncurrentDays; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3TransitionStorageClass storageClass; + +@end + +/** + Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket. + */ +@interface AWSS3NotificationConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable lambdaFunctionConfigurations; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable queueConfigurations; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable topicConfigurations; + +@end + +/** + + */ +@interface AWSS3NotificationConfigurationDeprecated : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3CloudFunctionConfiguration * _Nullable cloudFunctionConfiguration; + +/** + + */ +@property (nonatomic, strong) AWSS3QueueConfigurationDeprecated * _Nullable queueConfiguration; + +/** + + */ +@property (nonatomic, strong) AWSS3TopicConfigurationDeprecated * _Nullable topicConfiguration; + +@end + +/** + Container for object key name filtering rules. For information about key name filtering, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide. + */ +@interface AWSS3NotificationConfigurationFilter : AWSModel + + +/** + Container for object key name prefix and suffix filtering rules. + */ +@property (nonatomic, strong) AWSS3S3KeyFilter * _Nullable key; + +@end + +/** + + */ +@interface AWSS3Object : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +/** + + */ +@property (nonatomic, strong) NSNumber * _Nullable size; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3ObjectStorageClass storageClass; + +@end + +/** + + */ +@interface AWSS3ObjectIdentifier : AWSModel + + +/** + Key name of the object to delete. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + VersionId for the specific version of the object to delete. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3ObjectVersion : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + Specifies whether the object is (true) or is not (false) the latest version of an object. + */ +@property (nonatomic, strong) NSNumber * _Nullable isLatest; + +/** + The object key. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Date and time the object was last modified. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +/** + + */ +@property (nonatomic, strong) AWSS3Owner * _Nullable owner; + +/** + Size in bytes of the object. + */ +@property (nonatomic, strong) NSNumber * _Nullable size; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3ObjectVersionStorageClass storageClass; + +/** + Version ID of an object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3Owner : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable displayName; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3Part : AWSModel + + +/** + Entity tag returned when the part was uploaded. + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + Date and time at which the part was uploaded. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModified; + +/** + Part number identifying the part. This is a positive integer between 1 and 10,000. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumber; + +/** + Size of the uploaded part data. + */ +@property (nonatomic, strong) NSNumber * _Nullable size; + +@end + +/** + + */ +@interface AWSS3PutBucketAccelerateConfigurationRequest : AWSRequest + + +/** + Specifies the Accelerate Configuration you want to set for the bucket. + */ +@property (nonatomic, strong) AWSS3AccelerateConfiguration * _Nullable accelerateConfiguration; + +/** + Name of the bucket for which the accelerate configuration is set. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +@end + +/** + + */ +@interface AWSS3PutBucketAclRequest : AWSRequest + + +/** + The canned ACL to apply to the bucket. + */ +@property (nonatomic, assign) AWSS3BucketCannedACL ACL; + +/** + + */ +@property (nonatomic, strong) AWSS3AccessControlPolicy * _Nullable accessControlPolicy; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + Allows grantee the read, write, read ACP, and write ACP permissions on the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantFullControl; + +/** + Allows grantee to list the objects in the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantRead; + +/** + Allows grantee to read the bucket ACL. + */ +@property (nonatomic, strong) NSString * _Nullable grantReadACP; + +/** + Allows grantee to create, overwrite, and delete any object in the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantWrite; + +/** + Allows grantee to write the ACL for the applicable bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantWriteACP; + +@end + +/** + + */ +@interface AWSS3PutBucketAnalyticsConfigurationRequest : AWSRequest + + +/** + The configuration and any analyses for the analytics filter. + */ +@property (nonatomic, strong) AWSS3AnalyticsConfiguration * _Nullable analyticsConfiguration; + +/** + The name of the bucket to which an analytics configuration is stored. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The identifier used to represent an analytics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +@end + +/** + + */ +@interface AWSS3PutBucketCorsRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) AWSS3CORSConfiguration * _Nullable CORSConfiguration; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +@end + +/** + + */ +@interface AWSS3PutBucketInventoryConfigurationRequest : AWSRequest + + +/** + The name of the bucket where the inventory configuration will be stored. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ID used to identify the inventory configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Specifies the inventory configuration. + */ +@property (nonatomic, strong) AWSS3InventoryConfiguration * _Nullable inventoryConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketLifecycleConfigurationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) AWSS3BucketLifecycleConfiguration * _Nullable lifecycleConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketLifecycleRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + + */ +@property (nonatomic, strong) AWSS3LifecycleConfiguration * _Nullable lifecycleConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketLoggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) AWSS3BucketLoggingStatus * _Nullable bucketLoggingStatus; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +@end + +/** + + */ +@interface AWSS3PutBucketMetricsConfigurationRequest : AWSRequest + + +/** + The name of the bucket for which the metrics configuration is set. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The ID used to identify the metrics configuration. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Specifies the metrics configuration. + */ +@property (nonatomic, strong) AWSS3MetricsConfiguration * _Nullable metricsConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketNotificationConfigurationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket. + */ +@property (nonatomic, strong) AWSS3NotificationConfiguration * _Nullable notificationConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketNotificationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + + */ +@property (nonatomic, strong) AWSS3NotificationConfigurationDeprecated * _Nullable notificationConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketPolicyRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + The bucket policy as a JSON document. + */ +@property (nonatomic, strong) NSString * _Nullable policy; + +@end + +/** + + */ +@interface AWSS3PutBucketReplicationRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB. + */ +@property (nonatomic, strong) AWSS3ReplicationConfiguration * _Nullable replicationConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketRequestPaymentRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + + */ +@property (nonatomic, strong) AWSS3RequestPaymentConfiguration * _Nullable requestPaymentConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketTaggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + + */ +@property (nonatomic, strong) AWSS3Tagging * _Nullable tagging; + +@end + +/** + + */ +@interface AWSS3PutBucketVersioningRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. + */ +@property (nonatomic, strong) NSString * _Nullable MFA; + +/** + + */ +@property (nonatomic, strong) AWSS3VersioningConfiguration * _Nullable versioningConfiguration; + +@end + +/** + + */ +@interface AWSS3PutBucketWebsiteRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + + */ +@property (nonatomic, strong) AWSS3WebsiteConfiguration * _Nullable websiteConfiguration; + +@end + +/** + + */ +@interface AWSS3PutObjectAclOutput : AWSModel + + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +@end + +/** + + */ +@interface AWSS3PutObjectAclRequest : AWSRequest + + +/** + The canned ACL to apply to the object. + */ +@property (nonatomic, assign) AWSS3ObjectCannedACL ACL; + +/** + + */ +@property (nonatomic, strong) AWSS3AccessControlPolicy * _Nullable accessControlPolicy; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + Allows grantee the read, write, read ACP, and write ACP permissions on the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantFullControl; + +/** + Allows grantee to list the objects in the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantRead; + +/** + Allows grantee to read the bucket ACL. + */ +@property (nonatomic, strong) NSString * _Nullable grantReadACP; + +/** + Allows grantee to create, overwrite, and delete any object in the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantWrite; + +/** + Allows grantee to write the ACL for the applicable bucket. + */ +@property (nonatomic, strong) NSString * _Nullable grantWriteACP; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + VersionId used to reference a specific version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3PutObjectOutput : AWSModel + + +/** + Entity tag for the uploaded object. + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded. + */ +@property (nonatomic, strong) NSString * _Nullable expiration; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + Version of the object. + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3PutObjectRequest : AWSRequest + + +/** + The canned ACL to apply to the object. + */ +@property (nonatomic, assign) AWSS3ObjectCannedACL ACL; + +/** + Object data. + */ +@property (nonatomic, strong) id _Nullable body; + +/** + Name of the bucket to which the PUT operation was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Specifies caching behavior along the request/reply chain. + */ +@property (nonatomic, strong) NSString * _Nullable cacheControl; + +/** + Specifies presentational information for the object. + */ +@property (nonatomic, strong) NSString * _Nullable contentDisposition; + +/** + Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. + */ +@property (nonatomic, strong) NSString * _Nullable contentEncoding; + +/** + The language the content is in. + */ +@property (nonatomic, strong) NSString * _Nullable contentLanguage; + +/** + Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. + */ +@property (nonatomic, strong) NSNumber * _Nullable contentLength; + +/** + The base64-encoded 128-bit MD5 digest of the part data. + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + A standard MIME type describing the format of the object data. + */ +@property (nonatomic, strong) NSString * _Nullable contentType; + +/** + The date and time at which the object is no longer cacheable. + */ +@property (nonatomic, strong) NSDate * _Nullable expires; + +/** + Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. + */ +@property (nonatomic, strong) NSString * _Nullable grantFullControl; + +/** + Allows grantee to read the object data and its metadata. + */ +@property (nonatomic, strong) NSString * _Nullable grantRead; + +/** + Allows grantee to read the object ACL. + */ +@property (nonatomic, strong) NSString * _Nullable grantReadACP; + +/** + Allows grantee to write the ACL for the applicable object. + */ +@property (nonatomic, strong) NSString * _Nullable grantWriteACP; + +/** + Object key for which the PUT operation was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + A map of metadata to store with the object in S3. + */ +@property (nonatomic, strong) NSDictionary * _Nullable metadata; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +/** + The type of storage to use for the object. Defaults to 'STANDARD'. + */ +@property (nonatomic, assign) AWSS3StorageClass storageClass; + +/** + The tag-set for the object. The tag-set must be encoded as URL Query parameters + */ +@property (nonatomic, strong) NSString * _Nullable tagging; + +/** + If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata. + */ +@property (nonatomic, strong) NSString * _Nullable websiteRedirectLocation; + +@end + +/** + + */ +@interface AWSS3PutObjectTaggingOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3PutObjectTaggingRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + + */ +@property (nonatomic, strong) AWSS3Tagging * _Nullable tagging; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue. + Required parameters: [QueueArn, Events] + */ +@interface AWSS3QueueConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +/** + Container for object key name filtering rules. For information about key name filtering, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide. + */ +@property (nonatomic, strong) AWSS3NotificationConfigurationFilter * _Nullable filter; + +/** + Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type. + */ +@property (nonatomic, strong) NSString * _Nullable queueArn; + +@end + +/** + + */ +@interface AWSS3QueueConfigurationDeprecated : AWSModel + + +/** + Bucket event for which to send notifications. + */ +@property (nonatomic, assign) AWSS3Event event; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +/** + Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable queue; + +@end + +/** + + */ +@interface AWSS3Redirect : AWSModel + + +/** + The host name to use in the redirect request. + */ +@property (nonatomic, strong) NSString * _Nullable hostName; + +/** + The HTTP redirect code to use on the response. Not required if one of the siblings is present. + */ +@property (nonatomic, strong) NSString * _Nullable httpRedirectCode; + +/** + Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request. + */ +@property (nonatomic, assign) AWSS3Protocols protocols; + +/** + The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided. + */ +@property (nonatomic, strong) NSString * _Nullable replaceKeyPrefixWith; + +/** + The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided. + */ +@property (nonatomic, strong) NSString * _Nullable replaceKeyWith; + +@end + +/** + + */ +@interface AWSS3RedirectAllRequestsTo : AWSModel + + +/** + Name of the host where requests will be redirected. + */ +@property (nonatomic, strong) NSString * _Nullable hostName; + +/** + Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request. + */ +@property (nonatomic, assign) AWSS3Protocols protocols; + +@end + +/** + Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB. + Required parameters: [Role, Rules] + */ +@interface AWSS3ReplicationConfiguration : AWSModel + + +/** + Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects. + */ +@property (nonatomic, strong) NSString * _Nullable role; + +/** + Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules. + */ +@property (nonatomic, strong) NSArray * _Nullable rules; + +@end + +/** + + */ +@interface AWSS3ReplicationRule : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3Destination * _Nullable destination; + +/** + Unique identifier for the rule. The value cannot be longer than 255 characters. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Object keyname prefix identifying one or more objects to which the rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes are not supported. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + The rule is ignored if status is not Enabled. + */ +@property (nonatomic, assign) AWSS3ReplicationRuleStatus status; + +@end + +/** + + */ +@interface AWSS3RequestPaymentConfiguration : AWSModel + + +/** + Specifies who pays for the download and request fees. + */ +@property (nonatomic, assign) AWSS3Payer payer; + +@end + +/** + + */ +@interface AWSS3RestoreObjectOutput : AWSModel + + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +@end + +/** + + */ +@interface AWSS3RestoreObjectRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + + */ +@property (nonatomic, strong) AWSS3RestoreRequest * _Nullable restoreRequest; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable versionId; + +@end + +/** + + */ +@interface AWSS3RestoreRequest : AWSModel + + +/** + Lifetime of the active copy in days + */ +@property (nonatomic, strong) NSNumber * _Nullable days; + +/** + Glacier related prameters pertaining to this job. + */ +@property (nonatomic, strong) AWSS3GlacierJobParameters * _Nullable glacierJobParameters; + +@end + +/** + + */ +@interface AWSS3RoutingRule : AWSModel + + +/** + A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error. + */ +@property (nonatomic, strong) AWSS3Condition * _Nullable condition; + +/** + Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can can specify a different error code to return. + */ +@property (nonatomic, strong) AWSS3Redirect * _Nullable redirect; + +@end + +/** + + */ +@interface AWSS3Rule : AWSModel + + +/** + Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload. + */ +@property (nonatomic, strong) AWSS3AbortIncompleteMultipartUpload * _Nullable abortIncompleteMultipartUpload; + +/** + + */ +@property (nonatomic, strong) AWSS3LifecycleExpiration * _Nullable expiration; + +/** + Unique identifier for the rule. The value cannot be longer than 255 characters. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime. + */ +@property (nonatomic, strong) AWSS3NoncurrentVersionExpiration * _Nullable noncurrentVersionExpiration; + +/** + Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA or GLACIER storage class at a specific period in the object's lifetime. + */ +@property (nonatomic, strong) AWSS3NoncurrentVersionTransition * _Nullable noncurrentVersionTransition; + +/** + Prefix identifying one or more objects to which the rule applies. + */ +@property (nonatomic, strong) NSString * _Nullable prefix; + +/** + If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied. + */ +@property (nonatomic, assign) AWSS3ExpirationStatus status; + +/** + + */ +@property (nonatomic, strong) AWSS3Transition * _Nullable transition; + +@end + +/** + Container for object key name prefix and suffix filtering rules. + */ +@interface AWSS3S3KeyFilter : AWSModel + + +/** + A list of containers for key value pair that defines the criteria for the filter rule. + */ +@property (nonatomic, strong) NSArray * _Nullable filterRules; + +@end + +/** + + */ +@interface AWSS3StorageClassAnalysis : AWSModel + + +/** + A container used to describe how data related to the storage class analysis should be exported. + */ +@property (nonatomic, strong) AWSS3StorageClassAnalysisDataExport * _Nullable dataExport; + +@end + +/** + + */ +@interface AWSS3StorageClassAnalysisDataExport : AWSModel + + +/** + The place to store the data for an analysis. + */ +@property (nonatomic, strong) AWSS3AnalyticsExportDestination * _Nullable destination; + +/** + The version of the output schema to use when exporting data. Must be V_1. + */ +@property (nonatomic, assign) AWSS3StorageClassAnalysisSchemaVersion outputSchemaVersion; + +@end + +/** + + */ +@interface AWSS3Tag : AWSModel + + +/** + Name of the tag. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Value of the tag. + */ +@property (nonatomic, strong) NSString * _Nullable value; + +@end + +/** + + */ +@interface AWSS3Tagging : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable tagSet; + +@end + +/** + + */ +@interface AWSS3TargetGrant : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3Grantee * _Nullable grantee; + +/** + Logging permissions assigned to the Grantee for the bucket. + */ +@property (nonatomic, assign) AWSS3BucketLogsPermission permission; + +@end + +/** + Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic. + Required parameters: [TopicArn, Events] + */ +@interface AWSS3TopicConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +/** + Container for object key name filtering rules. For information about key name filtering, go to Configuring Event Notifications in the Amazon Simple Storage Service Developer Guide. + */ +@property (nonatomic, strong) AWSS3NotificationConfigurationFilter * _Nullable filter; + +/** + Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type. + */ +@property (nonatomic, strong) NSString * _Nullable topicArn; + +@end + +/** + + */ +@interface AWSS3TopicConfigurationDeprecated : AWSModel + + +/** + Bucket event for which to send notifications. + */ +@property (nonatomic, assign) AWSS3Event event; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable events; + +/** + Optional unique identifier for configurations in a notification configuration. If you don't provide one, Amazon S3 will assign an ID. + */ +@property (nonatomic, strong) NSString * _Nullable identifier; + +/** + Amazon SNS topic to which Amazon S3 will publish a message to report the specified events for the bucket. + */ +@property (nonatomic, strong) NSString * _Nullable topic; + +@end + +/** + + */ +@interface AWSS3Transition : AWSModel + + +/** + Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format. + */ +@property (nonatomic, strong) NSDate * _Nullable date; + +/** + Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer. + */ +@property (nonatomic, strong) NSNumber * _Nullable days; + +/** + The class of storage used to store the object. + */ +@property (nonatomic, assign) AWSS3TransitionStorageClass storageClass; + +@end + +/** + + */ +@interface AWSS3UploadPartCopyOutput : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3ReplicatePartResult * _Nullable replicatePartResult; + +/** + The version of the source object that was copied, if you have enabled versioning on the source bucket. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceVersionId; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +@end + +/** + + */ +@interface AWSS3UploadPartCopyRequest : AWSRequest + + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSource; + +/** + Copies the object if its entity tag (ETag) matches the specified tag. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceIfMatch; + +/** + Copies the object if it has been modified since the specified time. + */ +@property (nonatomic, strong) NSDate * _Nullable replicateSourceIfModifiedSince; + +/** + Copies the object if its entity tag (ETag) is different than the specified ETag. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceIfNoneMatch; + +/** + Copies the object if it hasn't been modified since the specified time. + */ +@property (nonatomic, strong) NSDate * _Nullable replicateSourceIfUnmodifiedSince; + +/** + The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 GB. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceRange; + +/** + Specifies the algorithm to use when decrypting the source object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceSSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceSSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable replicateSourceSSECustomerKeyMD5; + +/** + + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Part number of part being copied. This is a positive integer between 1 and 10,000. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumber; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + Upload ID identifying the multipart upload whose part is being copied. + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3UploadPartOutput : AWSModel + + +/** + Entity tag for the uploaded object. + */ +@property (nonatomic, strong) NSString * _Nullable ETag; + +/** + If present, indicates that the requester was successfully charged for the request. + */ +@property (nonatomic, assign) AWSS3RequestCharged requestCharged; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object. + */ +@property (nonatomic, strong) NSString * _Nullable SSEKMSKeyId; + +/** + The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms). + */ +@property (nonatomic, assign) AWSS3ServerSideEncryption serverSideEncryption; + +@end + +/** + + */ +@interface AWSS3UploadPartRequest : AWSRequest + + +/** + Object data. + */ +@property (nonatomic, strong) id _Nullable body; + +/** + Name of the bucket to which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable bucket; + +/** + Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically. + */ +@property (nonatomic, strong) NSNumber * _Nullable contentLength; + +/** + The base64-encoded 128-bit MD5 digest of the part data. + */ +@property (nonatomic, strong) NSString * _Nullable contentMD5; + +/** + Object key for which the multipart upload was initiated. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + Part number of part being uploaded. This is a positive integer between 1 and 10,000. + */ +@property (nonatomic, strong) NSNumber * _Nullable partNumber; + +/** + Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html + */ +@property (nonatomic, assign) AWSS3RequestPayer requestPayer; + +/** + Specifies the algorithm to use to when encrypting the object (e.g., AES256). + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerAlgorithm; + +/** + Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKey; + +/** + Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error. + */ +@property (nonatomic, strong) NSString * _Nullable SSECustomerKeyMD5; + +/** + Upload ID identifying the multipart upload whose part is being uploaded. + */ +@property (nonatomic, strong) NSString * _Nullable uploadId; + +@end + +/** + + */ +@interface AWSS3VersioningConfiguration : AWSModel + + +/** + Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned. + */ +@property (nonatomic, assign) AWSS3MFADelete MFADelete; + +/** + The versioning state of the bucket. + */ +@property (nonatomic, assign) AWSS3BucketVersioningStatus status; + +@end + +/** + + */ +@interface AWSS3WebsiteConfiguration : AWSModel + + +/** + + */ +@property (nonatomic, strong) AWSS3ErrorDocument * _Nullable errorDocument; + +/** + + */ +@property (nonatomic, strong) AWSS3IndexDocument * _Nullable indexDocument; + +/** + + */ +@property (nonatomic, strong) AWSS3RedirectAllRequestsTo * _Nullable redirectAllRequestsTo; + +/** + + */ +@property (nonatomic, strong) NSArray * _Nullable routingRules; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3PreSignedURL.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3PreSignedURL.h new file mode 100755 index 0000000..9f3a599 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3PreSignedURL.h @@ -0,0 +1,276 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +static NSString *const AWSS3PresignedURLVersionID = @"versionId"; +static NSString *const AWSS3PresignedURLTorrent = @"torrent"; + +static NSString *const AWSS3PresignedURLServerSideEncryption = @"x-amz-server-side-encryption"; +static NSString *const AWSS3PresignedURLServerSideEncryptionCustomerAlgorithm = @"x-amz-server-side-encryption-customer-algorithm"; +static NSString *const AWSS3PresignedURLServerSideEncryptionCustomerKey = @"x-amz-server-side-encryption-customer-key"; +static NSString *const AWSS3PresignedURLServerSdieEncryptionCustomerKeyMD5 = @"x-amz-server-side-encryption-customer-key-MD5"; + + +FOUNDATION_EXPORT NSString *const AWSS3PresignedURLErrorDomain; +typedef NS_ENUM(NSInteger, AWSS3PresignedURLErrorType) { + AWSS3PresignedURLErrorUnknown, + AWSS3PresignedURLErrorAccessKeyIsNil, + AWSS3PresignedURLErrorSecretKeyIsNil, + AWSS3PresignedURLErrorBucketNameIsNil, + AWSS3PresignedURLErrorKeyNameIsNil, + AWSS3PresignedURLErrorInvalidExpiresDate, + AWSS3PresignedURLErrorUnsupportedHTTPVerbs, + AWSS3PresignedURLErrorEndpointIsNil, + AWSS3PresignedURLErrorInvalidServiceType, + AWSS3PreSignedURLErrorCredentialProviderIsNil, + AWSS3PreSignedURLErrorInternalError, + AWSS3PresignedURLErrorInvalidRequestParameters, + AWSS3PresignedURLErrorInvalidBucketName, + AWSS3PresignedURLErrorInvalidBucketNameForAccelerateModeEnabled, +}; + +@class AWSS3GetPreSignedURLRequest; + +@interface AWSS3PreSignedURLBuilder : AWSService + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let S3PreSignedURLBuilder = AWSS3PreSignedURLBuilder.defaultS3PreSignedURLBuilder() + + *Objective-C* + + AWSS3PreSignedURLBuilder *S3PreSignedURLBuilder = [AWSS3PreSignedURLBuilder defaultS3PreSignedURLBuilder]; + + @return The default service client. + */ ++ (instancetype)defaultS3PreSignedURLBuilder; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3PreSignedURLBuilder.registerS3PreSignedURLBuilderWithConfiguration(configuration, forKey: "USWest2S3PreSignedURLBuilder") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3PreSignedURLBuilder registerS3PreSignedURLBuilderWithConfiguration:configuration forKey:@"USWest2S3PreSignedURLBuilder"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3PreSignedURLBuilder = AWSS3PreSignedURLBuilder(forKey: "USWest2S3PreSignedURLBuilder") + + *Objective-C* + + AWSS3PreSignedURLBuilder *S3PreSignedURLBuilder = [AWSS3PreSignedURLBuilder S3PreSignedURLBuilderForKey:@"USWest2S3PreSignedURLBuilder"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerS3PreSignedURLBuilderWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerS3PreSignedURLBuilderWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3PreSignedURLBuilder.registerS3PreSignedURLBuilderWithConfiguration(configuration, forKey: "USWest2S3PreSignedURLBuilder") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3PreSignedURLBuilder registerS3PreSignedURLBuilderWithConfiguration:configuration forKey:@"USWest2S3PreSignedURLBuilder"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3PreSignedURLBuilder = AWSS3PreSignedURLBuilder(forKey: "USWest2S3PreSignedURLBuilder") + + *Objective-C* + + AWSS3PreSignedURLBuilder *S3PreSignedURLBuilder = [AWSS3PreSignedURLBuilder S3PreSignedURLBuilderForKey:@"USWest2S3PreSignedURLBuilder"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)S3PreSignedURLBuilderForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeS3PreSignedURLBuilderForKey:(NSString *)key; + +/** + Build a time-limited pre-signed URL to get object from S3, return nil if build process failed. + + @param getPreSignedURLRequest The AWSS3PreSignedURLRequest that defines the parameters of the operation. + @return A pre-signed NSURL for the resource. return nil if any errors occured. + @see AWSS3GetPreSignedURLRequest + */ +- (AWSTask *)getPreSignedURL:(AWSS3GetPreSignedURLRequest *)getPreSignedURLRequest; + +@end + +/** The GetPreSignedURLRequest contains the parameters used to create + a pre signed URL. + @see AWSS3PreSignedURLBuilder + + */ +@interface AWSS3GetPreSignedURLRequest : NSObject + +/** + Returns whether the client has enabled accelerate mode for getting and putting objects. The default is `NO`. + */ +@property (nonatomic, assign, getter=isAccelerateModeEnabled) BOOL accelerateModeEnabled; + +/** + The name of the bucket + */ +@property (nonatomic, strong) NSString *bucket; + +/** + The name of the S3 object + */ +@property (nonatomic, strong) NSString *key; + +/** + Specifies the verb used in the pre-signed URL. accepted AWSHTTPMethodGET, AWSHTTPMethodPUT, AWSHTTPMethodHEAD. + */ +@property (nonatomic, assign) AWSHTTPMethod HTTPMethod; + +/** + The time when the signature expires, specified as an NSDate object. + */ +@property (nonatomic, strong) NSDate *expires; + +/** + AWSS3GetPreSignedURLRequest will automatically refresh temporary credential if expiration duration in less than minimumCredentialsExpirationInterval. Only applied for credential provider using temporary token (e.g. CognitoIdentityProvider). Default value is 3000 seconds. + */ +@property (nonatomic, assign) NSTimeInterval minimumCredentialsExpirationInterval; + +/** + Expected content-type of the request. If set, the content-type will be included in the signature and future requests must include the same content-type header value to access the presigned URL. This parameter is ignored unless AWSHTTPMethod is equal to AWSHTTPMethodPUT. Default is nil. + */ +@property (nonatomic) NSString * _Nullable contentType; + +/** + Expected content-md5 header of the request. If set, this header value will be included when calculating the signature and future requests must include the same content-md5 header value to access the presigned URL. This parameter is ignored unless HTTPMethod is equal to AWSHTTPMethodPUT. Default is nil. + */ +@property (nonatomic) NSString * _Nullable contentMD5; + +/** + This NSDictionary can contains additional request headers to be included in the pre-signed URL. Default is emtpy. + */ +@property (nonatomic, readonly) NSDictionary *requestHeaders; + +/** + This NSDictionary can contains additional request parameters to be included in the pre-signed URL. Adding additional request parameters enables more advanced pre-signed URLs, such as accessing Amazon S3's torrent resource for an object, or for specifying a version ID when accessing an object. Default is emtpy. + */ +@property (nonatomic, readonly) NSDictionary *requestParameters; + +/** + Set an additional request header to be included in the pre-signed URL. + + @param value The value of the request parameter being added. Set to nil if parameter doesn't contains value. + @param requestHeader The name of the request header. + */ +- (void)setValue:(NSString * _Nullable)value forRequestHeader:(NSString *)requestHeader; + +/** + Set an additional request parameter to be included in the pre-signed URL. Adding additional request parameters enables more advanced pre-signed URLs, such as accessing Amazon S3's torrent resource for an object, or for specifying a version ID when accessing an object. + + @param value The value of the request parameter being added. Set to nil if parameter doesn't contains value. + @param requestParameter The name of the request parameter, as it appears in the URL's query string (e.g. AWSS3PresignedURLVersionID). + */ +- (void)setValue:(NSString * _Nullable)value forRequestParameter:(NSString *)requestParameter; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Resources.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Resources.h new file mode 100755 index 0000000..f0137a4 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Resources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSS3Resources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Service.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Service.h new file mode 100755 index 0000000..fbc31c4 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3Service.h @@ -0,0 +1,1942 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import "AWSS3Model.h" +#import "AWSS3Resources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + + */ +@interface AWSS3 : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let S3 = AWSS3.default() + + *Objective-C* + + AWSS3 *S3 = [AWSS3 defaultS3]; + + @return The default service client. + */ ++ (instancetype)defaultS3; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3.register(with: configuration!, forKey: "USWest2S3") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3 registerS3WithConfiguration:configuration forKey:@"USWest2S3"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3 = AWSS3(forKey: "USWest2S3") + + *Objective-C* + + AWSS3 *S3 = [AWSS3 S3ForKey:@"USWest2S3"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerS3WithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerS3WithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3.register(with: configuration!, forKey: "USWest2S3") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3 registerS3WithConfiguration:configuration forKey:@"USWest2S3"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3 = AWSS3(forKey: "USWest2S3") + + *Objective-C* + + AWSS3 *S3 = [AWSS3 S3ForKey:@"USWest2S3"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)S3ForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeS3ForKey:(NSString *)key; + +/** +

Aborts a multipart upload.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.

+ + @param request A container for the necessary parameters to execute the AbortMultipartUpload service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3AbortMultipartUploadOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchUpload`. + + @see AWSS3AbortMultipartUploadRequest + @see AWSS3AbortMultipartUploadOutput + */ +- (AWSTask *)abortMultipartUpload:(AWSS3AbortMultipartUploadRequest *)request; + +/** +

Aborts a multipart upload.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.

+ + @param request A container for the necessary parameters to execute the AbortMultipartUpload service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchUpload`. + + @see AWSS3AbortMultipartUploadRequest + @see AWSS3AbortMultipartUploadOutput + */ +- (void)abortMultipartUpload:(AWSS3AbortMultipartUploadRequest *)request completionHandler:(void (^ _Nullable)(AWSS3AbortMultipartUploadOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Completes a multipart upload by assembling previously uploaded parts. + + @param request A container for the necessary parameters to execute the CompleteMultipartUpload service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3CompleteMultipartUploadOutput`. + + @see AWSS3CompleteMultipartUploadRequest + @see AWSS3CompleteMultipartUploadOutput + */ +- (AWSTask *)completeMultipartUpload:(AWSS3CompleteMultipartUploadRequest *)request; + +/** + Completes a multipart upload by assembling previously uploaded parts. + + @param request A container for the necessary parameters to execute the CompleteMultipartUpload service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3CompleteMultipartUploadRequest + @see AWSS3CompleteMultipartUploadOutput + */ +- (void)completeMultipartUpload:(AWSS3CompleteMultipartUploadRequest *)request completionHandler:(void (^ _Nullable)(AWSS3CompleteMultipartUploadOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Creates a copy of an object that is already stored in Amazon S3. + + @param request A container for the necessary parameters to execute the CopyObject service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ReplicateObjectOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorObjectNotInActiveTier`. + + @see AWSS3ReplicateObjectRequest + @see AWSS3ReplicateObjectOutput + */ +- (AWSTask *)replicateObject:(AWSS3ReplicateObjectRequest *)request; + +/** + Creates a copy of an object that is already stored in Amazon S3. + + @param request A container for the necessary parameters to execute the CopyObject service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorObjectNotInActiveTier`. + + @see AWSS3ReplicateObjectRequest + @see AWSS3ReplicateObjectOutput + */ +- (void)replicateObject:(AWSS3ReplicateObjectRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ReplicateObjectOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Creates a new bucket. + + @param request A container for the necessary parameters to execute the CreateBucket service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3CreateBucketOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorBucketAlreadyExists`, `AWSS3ErrorBucketAlreadyOwnedByYou`. + + @see AWSS3CreateBucketRequest + @see AWSS3CreateBucketOutput + */ +- (AWSTask *)createBucket:(AWSS3CreateBucketRequest *)request; + +/** + Creates a new bucket. + + @param request A container for the necessary parameters to execute the CreateBucket service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorBucketAlreadyExists`, `AWSS3ErrorBucketAlreadyOwnedByYou`. + + @see AWSS3CreateBucketRequest + @see AWSS3CreateBucketOutput + */ +- (void)createBucket:(AWSS3CreateBucketRequest *)request completionHandler:(void (^ _Nullable)(AWSS3CreateBucketOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Initiates a multipart upload and returns an upload ID.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

+ + @param request A container for the necessary parameters to execute the CreateMultipartUpload service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3CreateMultipartUploadOutput`. + + @see AWSS3CreateMultipartUploadRequest + @see AWSS3CreateMultipartUploadOutput + */ +- (AWSTask *)createMultipartUpload:(AWSS3CreateMultipartUploadRequest *)request; + +/** +

Initiates a multipart upload and returns an upload ID.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

+ + @param request A container for the necessary parameters to execute the CreateMultipartUpload service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3CreateMultipartUploadRequest + @see AWSS3CreateMultipartUploadOutput + */ +- (void)createMultipartUpload:(AWSS3CreateMultipartUploadRequest *)request completionHandler:(void (^ _Nullable)(AWSS3CreateMultipartUploadOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted. + + @param request A container for the necessary parameters to execute the DeleteBucket service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketRequest + */ +- (AWSTask *)deleteBucket:(AWSS3DeleteBucketRequest *)request; + +/** + Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted. + + @param request A container for the necessary parameters to execute the DeleteBucket service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketRequest + */ +- (void)deleteBucket:(AWSS3DeleteBucketRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes an analytics configuration for the bucket (specified by the analytics configuration ID). + + @param request A container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketAnalyticsConfigurationRequest + */ +- (AWSTask *)deleteBucketAnalyticsConfiguration:(AWSS3DeleteBucketAnalyticsConfigurationRequest *)request; + +/** + Deletes an analytics configuration for the bucket (specified by the analytics configuration ID). + + @param request A container for the necessary parameters to execute the DeleteBucketAnalyticsConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketAnalyticsConfigurationRequest + */ +- (void)deleteBucketAnalyticsConfiguration:(AWSS3DeleteBucketAnalyticsConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes the cors configuration information set for the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketCors service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketCorsRequest + */ +- (AWSTask *)deleteBucketCors:(AWSS3DeleteBucketCorsRequest *)request; + +/** + Deletes the cors configuration information set for the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketCors service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketCorsRequest + */ +- (void)deleteBucketCors:(AWSS3DeleteBucketCorsRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes an inventory configuration (identified by the inventory ID) from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketInventoryConfigurationRequest + */ +- (AWSTask *)deleteBucketInventoryConfiguration:(AWSS3DeleteBucketInventoryConfigurationRequest *)request; + +/** + Deletes an inventory configuration (identified by the inventory ID) from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketInventoryConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketInventoryConfigurationRequest + */ +- (void)deleteBucketInventoryConfiguration:(AWSS3DeleteBucketInventoryConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes the lifecycle configuration from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketLifecycle service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketLifecycleRequest + */ +- (AWSTask *)deleteBucketLifecycle:(AWSS3DeleteBucketLifecycleRequest *)request; + +/** + Deletes the lifecycle configuration from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketLifecycle service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketLifecycleRequest + */ +- (void)deleteBucketLifecycle:(AWSS3DeleteBucketLifecycleRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketMetricsConfigurationRequest + */ +- (AWSTask *)deleteBucketMetricsConfiguration:(AWSS3DeleteBucketMetricsConfigurationRequest *)request; + +/** + Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketMetricsConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketMetricsConfigurationRequest + */ +- (void)deleteBucketMetricsConfiguration:(AWSS3DeleteBucketMetricsConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes the policy from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketPolicy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketPolicyRequest + */ +- (AWSTask *)deleteBucketPolicy:(AWSS3DeleteBucketPolicyRequest *)request; + +/** + Deletes the policy from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketPolicy service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketPolicyRequest + */ +- (void)deleteBucketPolicy:(AWSS3DeleteBucketPolicyRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes the replication configuration from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketReplication service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketReplicationRequest + */ +- (AWSTask *)deleteBucketReplication:(AWSS3DeleteBucketReplicationRequest *)request; + +/** + Deletes the replication configuration from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketReplication service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketReplicationRequest + */ +- (void)deleteBucketReplication:(AWSS3DeleteBucketReplicationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deletes the tags from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketTagging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketTaggingRequest + */ +- (AWSTask *)deleteBucketTagging:(AWSS3DeleteBucketTaggingRequest *)request; + +/** + Deletes the tags from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketTagging service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketTaggingRequest + */ +- (void)deleteBucketTagging:(AWSS3DeleteBucketTaggingRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + This operation removes the website configuration from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketWebsite service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3DeleteBucketWebsiteRequest + */ +- (AWSTask *)deleteBucketWebsite:(AWSS3DeleteBucketWebsiteRequest *)request; + +/** + This operation removes the website configuration from the bucket. + + @param request A container for the necessary parameters to execute the DeleteBucketWebsite service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteBucketWebsiteRequest + */ +- (void)deleteBucketWebsite:(AWSS3DeleteBucketWebsiteRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects. + + @param request A container for the necessary parameters to execute the DeleteObject service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3DeleteObjectOutput`. + + @see AWSS3DeleteObjectRequest + @see AWSS3DeleteObjectOutput + */ +- (AWSTask *)deleteObject:(AWSS3DeleteObjectRequest *)request; + +/** + Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects. + + @param request A container for the necessary parameters to execute the DeleteObject service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteObjectRequest + @see AWSS3DeleteObjectOutput + */ +- (void)deleteObject:(AWSS3DeleteObjectRequest *)request completionHandler:(void (^ _Nullable)(AWSS3DeleteObjectOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Removes the tag-set from an existing object. + + @param request A container for the necessary parameters to execute the DeleteObjectTagging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3DeleteObjectTaggingOutput`. + + @see AWSS3DeleteObjectTaggingRequest + @see AWSS3DeleteObjectTaggingOutput + */ +- (AWSTask *)deleteObjectTagging:(AWSS3DeleteObjectTaggingRequest *)request; + +/** + Removes the tag-set from an existing object. + + @param request A container for the necessary parameters to execute the DeleteObjectTagging service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteObjectTaggingRequest + @see AWSS3DeleteObjectTaggingOutput + */ +- (void)deleteObjectTagging:(AWSS3DeleteObjectTaggingRequest *)request completionHandler:(void (^ _Nullable)(AWSS3DeleteObjectTaggingOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys. + + @param request A container for the necessary parameters to execute the DeleteObjects service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3DeleteObjectsOutput`. + + @see AWSS3DeleteObjectsRequest + @see AWSS3DeleteObjectsOutput + */ +- (AWSTask *)deleteObjects:(AWSS3DeleteObjectsRequest *)request; + +/** + This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys. + + @param request A container for the necessary parameters to execute the DeleteObjects service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3DeleteObjectsRequest + @see AWSS3DeleteObjectsOutput + */ +- (void)deleteObjects:(AWSS3DeleteObjectsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3DeleteObjectsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the accelerate configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketAccelerateConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketAccelerateConfigurationOutput`. + + @see AWSS3GetBucketAccelerateConfigurationRequest + @see AWSS3GetBucketAccelerateConfigurationOutput + */ +- (AWSTask *)getBucketAccelerateConfiguration:(AWSS3GetBucketAccelerateConfigurationRequest *)request; + +/** + Returns the accelerate configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketAccelerateConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketAccelerateConfigurationRequest + @see AWSS3GetBucketAccelerateConfigurationOutput + */ +- (void)getBucketAccelerateConfiguration:(AWSS3GetBucketAccelerateConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketAccelerateConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Gets the access control policy for the bucket. + + @param request A container for the necessary parameters to execute the GetBucketAcl service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketAclOutput`. + + @see AWSS3GetBucketAclRequest + @see AWSS3GetBucketAclOutput + */ +- (AWSTask *)getBucketAcl:(AWSS3GetBucketAclRequest *)request; + +/** + Gets the access control policy for the bucket. + + @param request A container for the necessary parameters to execute the GetBucketAcl service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketAclRequest + @see AWSS3GetBucketAclOutput + */ +- (void)getBucketAcl:(AWSS3GetBucketAclRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketAclOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Gets an analytics configuration for the bucket (specified by the analytics configuration ID). + + @param request A container for the necessary parameters to execute the GetBucketAnalyticsConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketAnalyticsConfigurationOutput`. + + @see AWSS3GetBucketAnalyticsConfigurationRequest + @see AWSS3GetBucketAnalyticsConfigurationOutput + */ +- (AWSTask *)getBucketAnalyticsConfiguration:(AWSS3GetBucketAnalyticsConfigurationRequest *)request; + +/** + Gets an analytics configuration for the bucket (specified by the analytics configuration ID). + + @param request A container for the necessary parameters to execute the GetBucketAnalyticsConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketAnalyticsConfigurationRequest + @see AWSS3GetBucketAnalyticsConfigurationOutput + */ +- (void)getBucketAnalyticsConfiguration:(AWSS3GetBucketAnalyticsConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketAnalyticsConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the cors configuration for the bucket. + + @param request A container for the necessary parameters to execute the GetBucketCors service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketCorsOutput`. + + @see AWSS3GetBucketCorsRequest + @see AWSS3GetBucketCorsOutput + */ +- (AWSTask *)getBucketCors:(AWSS3GetBucketCorsRequest *)request; + +/** + Returns the cors configuration for the bucket. + + @param request A container for the necessary parameters to execute the GetBucketCors service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketCorsRequest + @see AWSS3GetBucketCorsOutput + */ +- (void)getBucketCors:(AWSS3GetBucketCorsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketCorsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns an inventory configuration (identified by the inventory ID) from the bucket. + + @param request A container for the necessary parameters to execute the GetBucketInventoryConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketInventoryConfigurationOutput`. + + @see AWSS3GetBucketInventoryConfigurationRequest + @see AWSS3GetBucketInventoryConfigurationOutput + */ +- (AWSTask *)getBucketInventoryConfiguration:(AWSS3GetBucketInventoryConfigurationRequest *)request; + +/** + Returns an inventory configuration (identified by the inventory ID) from the bucket. + + @param request A container for the necessary parameters to execute the GetBucketInventoryConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketInventoryConfigurationRequest + @see AWSS3GetBucketInventoryConfigurationOutput + */ +- (void)getBucketInventoryConfiguration:(AWSS3GetBucketInventoryConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketInventoryConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deprecated, see the GetBucketLifecycleConfiguration operation. + + @param request A container for the necessary parameters to execute the GetBucketLifecycle service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketLifecycleOutput`. + + @see AWSS3GetBucketLifecycleRequest + @see AWSS3GetBucketLifecycleOutput + */ +- (AWSTask *)getBucketLifecycle:(AWSS3GetBucketLifecycleRequest *)request; + +/** + Deprecated, see the GetBucketLifecycleConfiguration operation. + + @param request A container for the necessary parameters to execute the GetBucketLifecycle service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketLifecycleRequest + @see AWSS3GetBucketLifecycleOutput + */ +- (void)getBucketLifecycle:(AWSS3GetBucketLifecycleRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketLifecycleOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the lifecycle configuration information set on the bucket. + + @param request A container for the necessary parameters to execute the GetBucketLifecycleConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketLifecycleConfigurationOutput`. + + @see AWSS3GetBucketLifecycleConfigurationRequest + @see AWSS3GetBucketLifecycleConfigurationOutput + */ +- (AWSTask *)getBucketLifecycleConfiguration:(AWSS3GetBucketLifecycleConfigurationRequest *)request; + +/** + Returns the lifecycle configuration information set on the bucket. + + @param request A container for the necessary parameters to execute the GetBucketLifecycleConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketLifecycleConfigurationRequest + @see AWSS3GetBucketLifecycleConfigurationOutput + */ +- (void)getBucketLifecycleConfiguration:(AWSS3GetBucketLifecycleConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketLifecycleConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the region the bucket resides in. + + @param request A container for the necessary parameters to execute the GetBucketLocation service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketLocationOutput`. + + @see AWSS3GetBucketLocationRequest + @see AWSS3GetBucketLocationOutput + */ +- (AWSTask *)getBucketLocation:(AWSS3GetBucketLocationRequest *)request; + +/** + Returns the region the bucket resides in. + + @param request A container for the necessary parameters to execute the GetBucketLocation service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketLocationRequest + @see AWSS3GetBucketLocationOutput + */ +- (void)getBucketLocation:(AWSS3GetBucketLocationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketLocationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner. + + @param request A container for the necessary parameters to execute the GetBucketLogging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketLoggingOutput`. + + @see AWSS3GetBucketLoggingRequest + @see AWSS3GetBucketLoggingOutput + */ +- (AWSTask *)getBucketLogging:(AWSS3GetBucketLoggingRequest *)request; + +/** + Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner. + + @param request A container for the necessary parameters to execute the GetBucketLogging service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketLoggingRequest + @see AWSS3GetBucketLoggingOutput + */ +- (void)getBucketLogging:(AWSS3GetBucketLoggingRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketLoggingOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. + + @param request A container for the necessary parameters to execute the GetBucketMetricsConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketMetricsConfigurationOutput`. + + @see AWSS3GetBucketMetricsConfigurationRequest + @see AWSS3GetBucketMetricsConfigurationOutput + */ +- (AWSTask *)getBucketMetricsConfiguration:(AWSS3GetBucketMetricsConfigurationRequest *)request; + +/** + Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. + + @param request A container for the necessary parameters to execute the GetBucketMetricsConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketMetricsConfigurationRequest + @see AWSS3GetBucketMetricsConfigurationOutput + */ +- (void)getBucketMetricsConfiguration:(AWSS3GetBucketMetricsConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketMetricsConfigurationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Deprecated, see the GetBucketNotificationConfiguration operation. + + @param request A container for the necessary parameters to execute the GetBucketNotification service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3NotificationConfigurationDeprecated`. + + @see AWSS3GetBucketNotificationConfigurationRequest + @see AWSS3NotificationConfigurationDeprecated + */ +- (AWSTask *)getBucketNotification:(AWSS3GetBucketNotificationConfigurationRequest *)request; + +/** + Deprecated, see the GetBucketNotificationConfiguration operation. + + @param request A container for the necessary parameters to execute the GetBucketNotification service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketNotificationConfigurationRequest + @see AWSS3NotificationConfigurationDeprecated + */ +- (void)getBucketNotification:(AWSS3GetBucketNotificationConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3NotificationConfigurationDeprecated * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the notification configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketNotificationConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3NotificationConfiguration`. + + @see AWSS3GetBucketNotificationConfigurationRequest + @see AWSS3NotificationConfiguration + */ +- (AWSTask *)getBucketNotificationConfiguration:(AWSS3GetBucketNotificationConfigurationRequest *)request; + +/** + Returns the notification configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketNotificationConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketNotificationConfigurationRequest + @see AWSS3NotificationConfiguration + */ +- (void)getBucketNotificationConfiguration:(AWSS3GetBucketNotificationConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3NotificationConfiguration * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the policy of a specified bucket. + + @param request A container for the necessary parameters to execute the GetBucketPolicy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketPolicyOutput`. + + @see AWSS3GetBucketPolicyRequest + @see AWSS3GetBucketPolicyOutput + */ +- (AWSTask *)getBucketPolicy:(AWSS3GetBucketPolicyRequest *)request; + +/** + Returns the policy of a specified bucket. + + @param request A container for the necessary parameters to execute the GetBucketPolicy service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketPolicyRequest + @see AWSS3GetBucketPolicyOutput + */ +- (void)getBucketPolicy:(AWSS3GetBucketPolicyRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketPolicyOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the replication configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketReplication service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketReplicationOutput`. + + @see AWSS3GetBucketReplicationRequest + @see AWSS3GetBucketReplicationOutput + */ +- (AWSTask *)getBucketReplication:(AWSS3GetBucketReplicationRequest *)request; + +/** + Returns the replication configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketReplication service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketReplicationRequest + @see AWSS3GetBucketReplicationOutput + */ +- (void)getBucketReplication:(AWSS3GetBucketReplicationRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketReplicationOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the request payment configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketRequestPayment service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketRequestPaymentOutput`. + + @see AWSS3GetBucketRequestPaymentRequest + @see AWSS3GetBucketRequestPaymentOutput + */ +- (AWSTask *)getBucketRequestPayment:(AWSS3GetBucketRequestPaymentRequest *)request; + +/** + Returns the request payment configuration of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketRequestPayment service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketRequestPaymentRequest + @see AWSS3GetBucketRequestPaymentOutput + */ +- (void)getBucketRequestPayment:(AWSS3GetBucketRequestPaymentRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketRequestPaymentOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the tag set associated with the bucket. + + @param request A container for the necessary parameters to execute the GetBucketTagging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketTaggingOutput`. + + @see AWSS3GetBucketTaggingRequest + @see AWSS3GetBucketTaggingOutput + */ +- (AWSTask *)getBucketTagging:(AWSS3GetBucketTaggingRequest *)request; + +/** + Returns the tag set associated with the bucket. + + @param request A container for the necessary parameters to execute the GetBucketTagging service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketTaggingRequest + @see AWSS3GetBucketTaggingOutput + */ +- (void)getBucketTagging:(AWSS3GetBucketTaggingRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketTaggingOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the versioning state of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketVersioning service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketVersioningOutput`. + + @see AWSS3GetBucketVersioningRequest + @see AWSS3GetBucketVersioningOutput + */ +- (AWSTask *)getBucketVersioning:(AWSS3GetBucketVersioningRequest *)request; + +/** + Returns the versioning state of a bucket. + + @param request A container for the necessary parameters to execute the GetBucketVersioning service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketVersioningRequest + @see AWSS3GetBucketVersioningOutput + */ +- (void)getBucketVersioning:(AWSS3GetBucketVersioningRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketVersioningOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the website configuration for a bucket. + + @param request A container for the necessary parameters to execute the GetBucketWebsite service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetBucketWebsiteOutput`. + + @see AWSS3GetBucketWebsiteRequest + @see AWSS3GetBucketWebsiteOutput + */ +- (AWSTask *)getBucketWebsite:(AWSS3GetBucketWebsiteRequest *)request; + +/** + Returns the website configuration for a bucket. + + @param request A container for the necessary parameters to execute the GetBucketWebsite service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetBucketWebsiteRequest + @see AWSS3GetBucketWebsiteOutput + */ +- (void)getBucketWebsite:(AWSS3GetBucketWebsiteRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetBucketWebsiteOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Retrieves objects from Amazon S3. + + @param request A container for the necessary parameters to execute the GetObject service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetObjectOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3GetObjectRequest + @see AWSS3GetObjectOutput + */ +- (AWSTask *)getObject:(AWSS3GetObjectRequest *)request; + +/** + Retrieves objects from Amazon S3. + + @param request A container for the necessary parameters to execute the GetObject service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3GetObjectRequest + @see AWSS3GetObjectOutput + */ +- (void)getObject:(AWSS3GetObjectRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetObjectOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the access control list (ACL) of an object. + + @param request A container for the necessary parameters to execute the GetObjectAcl service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetObjectAclOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3GetObjectAclRequest + @see AWSS3GetObjectAclOutput + */ +- (AWSTask *)getObjectAcl:(AWSS3GetObjectAclRequest *)request; + +/** + Returns the access control list (ACL) of an object. + + @param request A container for the necessary parameters to execute the GetObjectAcl service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3GetObjectAclRequest + @see AWSS3GetObjectAclOutput + */ +- (void)getObjectAcl:(AWSS3GetObjectAclRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetObjectAclOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns the tag-set of an object. + + @param request A container for the necessary parameters to execute the GetObjectTagging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetObjectTaggingOutput`. + + @see AWSS3GetObjectTaggingRequest + @see AWSS3GetObjectTaggingOutput + */ +- (AWSTask *)getObjectTagging:(AWSS3GetObjectTaggingRequest *)request; + +/** + Returns the tag-set of an object. + + @param request A container for the necessary parameters to execute the GetObjectTagging service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetObjectTaggingRequest + @see AWSS3GetObjectTaggingOutput + */ +- (void)getObjectTagging:(AWSS3GetObjectTaggingRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetObjectTaggingOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Return torrent files from a bucket. + + @param request A container for the necessary parameters to execute the GetObjectTorrent service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3GetObjectTorrentOutput`. + + @see AWSS3GetObjectTorrentRequest + @see AWSS3GetObjectTorrentOutput + */ +- (AWSTask *)getObjectTorrent:(AWSS3GetObjectTorrentRequest *)request; + +/** + Return torrent files from a bucket. + + @param request A container for the necessary parameters to execute the GetObjectTorrent service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3GetObjectTorrentRequest + @see AWSS3GetObjectTorrentOutput + */ +- (void)getObjectTorrent:(AWSS3GetObjectTorrentRequest *)request completionHandler:(void (^ _Nullable)(AWSS3GetObjectTorrentOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + This operation is useful to determine if a bucket exists and you have permission to access it. + + @param request A container for the necessary parameters to execute the HeadBucket service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchBucket`. + + @see AWSS3HeadBucketRequest + */ +- (AWSTask *)headBucket:(AWSS3HeadBucketRequest *)request; + +/** + This operation is useful to determine if a bucket exists and you have permission to access it. + + @param request A container for the necessary parameters to execute the HeadBucket service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchBucket`. + + @see AWSS3HeadBucketRequest + */ +- (void)headBucket:(AWSS3HeadBucketRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. + + @param request A container for the necessary parameters to execute the HeadObject service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3HeadObjectOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3HeadObjectRequest + @see AWSS3HeadObjectOutput + */ +- (AWSTask *)headObject:(AWSS3HeadObjectRequest *)request; + +/** + The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object. + + @param request A container for the necessary parameters to execute the HeadObject service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3HeadObjectRequest + @see AWSS3HeadObjectOutput + */ +- (void)headObject:(AWSS3HeadObjectRequest *)request completionHandler:(void (^ _Nullable)(AWSS3HeadObjectOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Lists the analytics configurations for the bucket. + + @param request A container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListBucketAnalyticsConfigurationsOutput`. + + @see AWSS3ListBucketAnalyticsConfigurationsRequest + @see AWSS3ListBucketAnalyticsConfigurationsOutput + */ +- (AWSTask *)listBucketAnalyticsConfigurations:(AWSS3ListBucketAnalyticsConfigurationsRequest *)request; + +/** + Lists the analytics configurations for the bucket. + + @param request A container for the necessary parameters to execute the ListBucketAnalyticsConfigurations service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3ListBucketAnalyticsConfigurationsRequest + @see AWSS3ListBucketAnalyticsConfigurationsOutput + */ +- (void)listBucketAnalyticsConfigurations:(AWSS3ListBucketAnalyticsConfigurationsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListBucketAnalyticsConfigurationsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns a list of inventory configurations for the bucket. + + @param request A container for the necessary parameters to execute the ListBucketInventoryConfigurations service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListBucketInventoryConfigurationsOutput`. + + @see AWSS3ListBucketInventoryConfigurationsRequest + @see AWSS3ListBucketInventoryConfigurationsOutput + */ +- (AWSTask *)listBucketInventoryConfigurations:(AWSS3ListBucketInventoryConfigurationsRequest *)request; + +/** + Returns a list of inventory configurations for the bucket. + + @param request A container for the necessary parameters to execute the ListBucketInventoryConfigurations service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3ListBucketInventoryConfigurationsRequest + @see AWSS3ListBucketInventoryConfigurationsOutput + */ +- (void)listBucketInventoryConfigurations:(AWSS3ListBucketInventoryConfigurationsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListBucketInventoryConfigurationsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Lists the metrics configurations for the bucket. + + @param request A container for the necessary parameters to execute the ListBucketMetricsConfigurations service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListBucketMetricsConfigurationsOutput`. + + @see AWSS3ListBucketMetricsConfigurationsRequest + @see AWSS3ListBucketMetricsConfigurationsOutput + */ +- (AWSTask *)listBucketMetricsConfigurations:(AWSS3ListBucketMetricsConfigurationsRequest *)request; + +/** + Lists the metrics configurations for the bucket. + + @param request A container for the necessary parameters to execute the ListBucketMetricsConfigurations service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3ListBucketMetricsConfigurationsRequest + @see AWSS3ListBucketMetricsConfigurationsOutput + */ +- (void)listBucketMetricsConfigurations:(AWSS3ListBucketMetricsConfigurationsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListBucketMetricsConfigurationsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns a list of all buckets owned by the authenticated sender of the request. + + @param request A container for the necessary parameters to execute the ListBuckets service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListBucketsOutput`. + + @see AWSRequest + @see AWSS3ListBucketsOutput + */ +- (AWSTask *)listBuckets:(AWSRequest *)request; + +/** + Returns a list of all buckets owned by the authenticated sender of the request. + + @param request A container for the necessary parameters to execute the ListBuckets service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSRequest + @see AWSS3ListBucketsOutput + */ +- (void)listBuckets:(AWSRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListBucketsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + This operation lists in-progress multipart uploads. + + @param request A container for the necessary parameters to execute the ListMultipartUploads service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListMultipartUploadsOutput`. + + @see AWSS3ListMultipartUploadsRequest + @see AWSS3ListMultipartUploadsOutput + */ +- (AWSTask *)listMultipartUploads:(AWSS3ListMultipartUploadsRequest *)request; + +/** + This operation lists in-progress multipart uploads. + + @param request A container for the necessary parameters to execute the ListMultipartUploads service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3ListMultipartUploadsRequest + @see AWSS3ListMultipartUploadsOutput + */ +- (void)listMultipartUploads:(AWSS3ListMultipartUploadsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListMultipartUploadsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns metadata about all of the versions of objects in a bucket. + + @param request A container for the necessary parameters to execute the ListObjectVersions service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListObjectVersionsOutput`. + + @see AWSS3ListObjectVersionsRequest + @see AWSS3ListObjectVersionsOutput + */ +- (AWSTask *)listObjectVersions:(AWSS3ListObjectVersionsRequest *)request; + +/** + Returns metadata about all of the versions of objects in a bucket. + + @param request A container for the necessary parameters to execute the ListObjectVersions service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3ListObjectVersionsRequest + @see AWSS3ListObjectVersionsOutput + */ +- (void)listObjectVersions:(AWSS3ListObjectVersionsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListObjectVersionsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. + + @param request A container for the necessary parameters to execute the ListObjects service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListObjectsOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchBucket`. + + @see AWSS3ListObjectsRequest + @see AWSS3ListObjectsOutput + */ +- (AWSTask *)listObjects:(AWSS3ListObjectsRequest *)request; + +/** + Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. + + @param request A container for the necessary parameters to execute the ListObjects service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchBucket`. + + @see AWSS3ListObjectsRequest + @see AWSS3ListObjectsOutput + */ +- (void)listObjects:(AWSS3ListObjectsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListObjectsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development. + + @param request A container for the necessary parameters to execute the ListObjectsV2 service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListObjectsV2Output`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchBucket`. + + @see AWSS3ListObjectsV2Request + @see AWSS3ListObjectsV2Output + */ +- (AWSTask *)listObjectsV2:(AWSS3ListObjectsV2Request *)request; + +/** + Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development. + + @param request A container for the necessary parameters to execute the ListObjectsV2 service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchBucket`. + + @see AWSS3ListObjectsV2Request + @see AWSS3ListObjectsV2Output + */ +- (void)listObjectsV2:(AWSS3ListObjectsV2Request *)request completionHandler:(void (^ _Nullable)(AWSS3ListObjectsV2Output * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Lists the parts that have been uploaded for a specific multipart upload. + + @param request A container for the necessary parameters to execute the ListParts service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3ListPartsOutput`. + + @see AWSS3ListPartsRequest + @see AWSS3ListPartsOutput + */ +- (AWSTask *)listParts:(AWSS3ListPartsRequest *)request; + +/** + Lists the parts that have been uploaded for a specific multipart upload. + + @param request A container for the necessary parameters to execute the ListParts service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3ListPartsRequest + @see AWSS3ListPartsOutput + */ +- (void)listParts:(AWSS3ListPartsRequest *)request completionHandler:(void (^ _Nullable)(AWSS3ListPartsOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Sets the accelerate configuration of an existing bucket. + + @param request A container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketAccelerateConfigurationRequest + */ +- (AWSTask *)putBucketAccelerateConfiguration:(AWSS3PutBucketAccelerateConfigurationRequest *)request; + +/** + Sets the accelerate configuration of an existing bucket. + + @param request A container for the necessary parameters to execute the PutBucketAccelerateConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketAccelerateConfigurationRequest + */ +- (void)putBucketAccelerateConfiguration:(AWSS3PutBucketAccelerateConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets the permissions on a bucket using access control lists (ACL). + + @param request A container for the necessary parameters to execute the PutBucketAcl service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketAclRequest + */ +- (AWSTask *)putBucketAcl:(AWSS3PutBucketAclRequest *)request; + +/** + Sets the permissions on a bucket using access control lists (ACL). + + @param request A container for the necessary parameters to execute the PutBucketAcl service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketAclRequest + */ +- (void)putBucketAcl:(AWSS3PutBucketAclRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets an analytics configuration for the bucket (specified by the analytics configuration ID). + + @param request A container for the necessary parameters to execute the PutBucketAnalyticsConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketAnalyticsConfigurationRequest + */ +- (AWSTask *)putBucketAnalyticsConfiguration:(AWSS3PutBucketAnalyticsConfigurationRequest *)request; + +/** + Sets an analytics configuration for the bucket (specified by the analytics configuration ID). + + @param request A container for the necessary parameters to execute the PutBucketAnalyticsConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketAnalyticsConfigurationRequest + */ +- (void)putBucketAnalyticsConfiguration:(AWSS3PutBucketAnalyticsConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets the cors configuration for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketCors service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketCorsRequest + */ +- (AWSTask *)putBucketCors:(AWSS3PutBucketCorsRequest *)request; + +/** + Sets the cors configuration for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketCors service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketCorsRequest + */ +- (void)putBucketCors:(AWSS3PutBucketCorsRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Adds an inventory configuration (identified by the inventory ID) from the bucket. + + @param request A container for the necessary parameters to execute the PutBucketInventoryConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketInventoryConfigurationRequest + */ +- (AWSTask *)putBucketInventoryConfiguration:(AWSS3PutBucketInventoryConfigurationRequest *)request; + +/** + Adds an inventory configuration (identified by the inventory ID) from the bucket. + + @param request A container for the necessary parameters to execute the PutBucketInventoryConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketInventoryConfigurationRequest + */ +- (void)putBucketInventoryConfiguration:(AWSS3PutBucketInventoryConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deprecated, see the PutBucketLifecycleConfiguration operation. + + @param request A container for the necessary parameters to execute the PutBucketLifecycle service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketLifecycleRequest + */ +- (AWSTask *)putBucketLifecycle:(AWSS3PutBucketLifecycleRequest *)request; + +/** + Deprecated, see the PutBucketLifecycleConfiguration operation. + + @param request A container for the necessary parameters to execute the PutBucketLifecycle service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketLifecycleRequest + */ +- (void)putBucketLifecycle:(AWSS3PutBucketLifecycleRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it. + + @param request A container for the necessary parameters to execute the PutBucketLifecycleConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketLifecycleConfigurationRequest + */ +- (AWSTask *)putBucketLifecycleConfiguration:(AWSS3PutBucketLifecycleConfigurationRequest *)request; + +/** + Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it. + + @param request A container for the necessary parameters to execute the PutBucketLifecycleConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketLifecycleConfigurationRequest + */ +- (void)putBucketLifecycleConfiguration:(AWSS3PutBucketLifecycleConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner. + + @param request A container for the necessary parameters to execute the PutBucketLogging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketLoggingRequest + */ +- (AWSTask *)putBucketLogging:(AWSS3PutBucketLoggingRequest *)request; + +/** + Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner. + + @param request A container for the necessary parameters to execute the PutBucketLogging service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketLoggingRequest + */ +- (void)putBucketLogging:(AWSS3PutBucketLoggingRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. + + @param request A container for the necessary parameters to execute the PutBucketMetricsConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketMetricsConfigurationRequest + */ +- (AWSTask *)putBucketMetricsConfiguration:(AWSS3PutBucketMetricsConfigurationRequest *)request; + +/** + Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. + + @param request A container for the necessary parameters to execute the PutBucketMetricsConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketMetricsConfigurationRequest + */ +- (void)putBucketMetricsConfiguration:(AWSS3PutBucketMetricsConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Deprecated, see the PutBucketNotificationConfiguraiton operation. + + @param request A container for the necessary parameters to execute the PutBucketNotification service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketNotificationRequest + */ +- (AWSTask *)putBucketNotification:(AWSS3PutBucketNotificationRequest *)request; + +/** + Deprecated, see the PutBucketNotificationConfiguraiton operation. + + @param request A container for the necessary parameters to execute the PutBucketNotification service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketNotificationRequest + */ +- (void)putBucketNotification:(AWSS3PutBucketNotificationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Enables notifications of specified events for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketNotificationConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketNotificationConfigurationRequest + */ +- (AWSTask *)putBucketNotificationConfiguration:(AWSS3PutBucketNotificationConfigurationRequest *)request; + +/** + Enables notifications of specified events for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketNotificationConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketNotificationConfigurationRequest + */ +- (void)putBucketNotificationConfiguration:(AWSS3PutBucketNotificationConfigurationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it. + + @param request A container for the necessary parameters to execute the PutBucketPolicy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketPolicyRequest + */ +- (AWSTask *)putBucketPolicy:(AWSS3PutBucketPolicyRequest *)request; + +/** + Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it. + + @param request A container for the necessary parameters to execute the PutBucketPolicy service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketPolicyRequest + */ +- (void)putBucketPolicy:(AWSS3PutBucketPolicyRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Creates a new replication configuration (or replaces an existing one, if present). + + @param request A container for the necessary parameters to execute the PutBucketReplication service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketReplicationRequest + */ +- (AWSTask *)putBucketReplication:(AWSS3PutBucketReplicationRequest *)request; + +/** + Creates a new replication configuration (or replaces an existing one, if present). + + @param request A container for the necessary parameters to execute the PutBucketReplication service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketReplicationRequest + */ +- (void)putBucketReplication:(AWSS3PutBucketReplicationRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html + + @param request A container for the necessary parameters to execute the PutBucketRequestPayment service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketRequestPaymentRequest + */ +- (AWSTask *)putBucketRequestPayment:(AWSS3PutBucketRequestPaymentRequest *)request; + +/** + Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html + + @param request A container for the necessary parameters to execute the PutBucketRequestPayment service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketRequestPaymentRequest + */ +- (void)putBucketRequestPayment:(AWSS3PutBucketRequestPaymentRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets the tags for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketTagging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketTaggingRequest + */ +- (AWSTask *)putBucketTagging:(AWSS3PutBucketTaggingRequest *)request; + +/** + Sets the tags for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketTagging service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketTaggingRequest + */ +- (void)putBucketTagging:(AWSS3PutBucketTaggingRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner. + + @param request A container for the necessary parameters to execute the PutBucketVersioning service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketVersioningRequest + */ +- (AWSTask *)putBucketVersioning:(AWSS3PutBucketVersioningRequest *)request; + +/** + Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner. + + @param request A container for the necessary parameters to execute the PutBucketVersioning service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketVersioningRequest + */ +- (void)putBucketVersioning:(AWSS3PutBucketVersioningRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Set the website configuration for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketWebsite service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. + + @see AWSS3PutBucketWebsiteRequest + */ +- (AWSTask *)putBucketWebsite:(AWSS3PutBucketWebsiteRequest *)request; + +/** + Set the website configuration for a bucket. + + @param request A container for the necessary parameters to execute the PutBucketWebsite service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutBucketWebsiteRequest + */ +- (void)putBucketWebsite:(AWSS3PutBucketWebsiteRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** + Adds an object to a bucket. + + @param request A container for the necessary parameters to execute the PutObject service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3PutObjectOutput`. + + @see AWSS3PutObjectRequest + @see AWSS3PutObjectOutput + */ +- (AWSTask *)putObject:(AWSS3PutObjectRequest *)request; + +/** + Adds an object to a bucket. + + @param request A container for the necessary parameters to execute the PutObject service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutObjectRequest + @see AWSS3PutObjectOutput + */ +- (void)putObject:(AWSS3PutObjectRequest *)request completionHandler:(void (^ _Nullable)(AWSS3PutObjectOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket + + @param request A container for the necessary parameters to execute the PutObjectAcl service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3PutObjectAclOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3PutObjectAclRequest + @see AWSS3PutObjectAclOutput + */ +- (AWSTask *)putObjectAcl:(AWSS3PutObjectAclRequest *)request; + +/** + uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket + + @param request A container for the necessary parameters to execute the PutObjectAcl service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorNoSuchKey`. + + @see AWSS3PutObjectAclRequest + @see AWSS3PutObjectAclOutput + */ +- (void)putObjectAcl:(AWSS3PutObjectAclRequest *)request completionHandler:(void (^ _Nullable)(AWSS3PutObjectAclOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Sets the supplied tag-set to an object that already exists in a bucket + + @param request A container for the necessary parameters to execute the PutObjectTagging service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3PutObjectTaggingOutput`. + + @see AWSS3PutObjectTaggingRequest + @see AWSS3PutObjectTaggingOutput + */ +- (AWSTask *)putObjectTagging:(AWSS3PutObjectTaggingRequest *)request; + +/** + Sets the supplied tag-set to an object that already exists in a bucket + + @param request A container for the necessary parameters to execute the PutObjectTagging service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3PutObjectTaggingRequest + @see AWSS3PutObjectTaggingOutput + */ +- (void)putObjectTagging:(AWSS3PutObjectTaggingRequest *)request completionHandler:(void (^ _Nullable)(AWSS3PutObjectTaggingOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Restores an archived copy of an object back into Amazon S3 + + @param request A container for the necessary parameters to execute the RestoreObject service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3RestoreObjectOutput`. On failed execution, `task.error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorObjectAlreadyInActiveTier`. + + @see AWSS3RestoreObjectRequest + @see AWSS3RestoreObjectOutput + */ +- (AWSTask *)restoreObject:(AWSS3RestoreObjectRequest *)request; + +/** + Restores an archived copy of an object back into Amazon S3 + + @param request A container for the necessary parameters to execute the RestoreObject service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSS3ErrorDomain` domain and the following error code: `AWSS3ErrorObjectAlreadyInActiveTier`. + + @see AWSS3RestoreObjectRequest + @see AWSS3RestoreObjectOutput + */ +- (void)restoreObject:(AWSS3RestoreObjectRequest *)request completionHandler:(void (^ _Nullable)(AWSS3RestoreObjectOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Uploads a part in a multipart upload.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

+ + @param request A container for the necessary parameters to execute the UploadPart service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3UploadPartOutput`. + + @see AWSS3UploadPartRequest + @see AWSS3UploadPartOutput + */ +- (AWSTask *)uploadPart:(AWSS3UploadPartRequest *)request; + +/** +

Uploads a part in a multipart upload.

Note: After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.

+ + @param request A container for the necessary parameters to execute the UploadPart service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3UploadPartRequest + @see AWSS3UploadPartOutput + */ +- (void)uploadPart:(AWSS3UploadPartRequest *)request completionHandler:(void (^ _Nullable)(AWSS3UploadPartOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +/** + Uploads a part by copying data from an existing object as data source. + + @param request A container for the necessary parameters to execute the UploadPartCopy service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSS3UploadPartCopyOutput`. + + @see AWSS3UploadPartCopyRequest + @see AWSS3UploadPartCopyOutput + */ +- (AWSTask *)uploadPartCopy:(AWSS3UploadPartCopyRequest *)request; + +/** + Uploads a part by copying data from an existing object as data source. + + @param request A container for the necessary parameters to execute the UploadPartCopy service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. + + @see AWSS3UploadPartCopyRequest + @see AWSS3UploadPartCopyOutput + */ +- (void)uploadPartCopy:(AWSS3UploadPartCopyRequest *)request completionHandler:(void (^ _Nullable)(AWSS3UploadPartCopyOutput * _Nullable response, NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3TransferManager.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3TransferManager.h new file mode 100755 index 0000000..2a7b7a6 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3TransferManager.h @@ -0,0 +1,262 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import "AWSS3Service.h" + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSS3TransferManagerErrorDomain; +typedef NS_ENUM(NSInteger, AWSS3TransferManagerErrorType) { + AWSS3TransferManagerErrorUnknown, + AWSS3TransferManagerErrorCancelled, + AWSS3TransferManagerErrorPaused, + AWSS3TransferManagerErrorCompleted, + AWSS3TransferManagerErrorInternalInConsistency, + AWSS3TransferManagerErrorMissingRequiredParameters, + AWSS3TransferManagerErrorInvalidParameters, +}; + +typedef NS_ENUM(NSInteger, AWSS3TransferManagerRequestState) { + AWSS3TransferManagerRequestStateNotStarted, + AWSS3TransferManagerRequestStateRunning, + AWSS3TransferManagerRequestStatePaused, + AWSS3TransferManagerRequestStateCanceling, + AWSS3TransferManagerRequestStateCompleted, +}; + +typedef void (^AWSS3TransferManagerResumeAllBlock) (AWSRequest *request); + +@class AWSS3; +@class AWSS3TransferManagerUploadRequest; +@class AWSS3TransferManagerUploadOutput; +@class AWSS3TransferManagerDownloadRequest; +@class AWSS3TransferManagerDownloadOutput; + +/** + High level utility for managing transfers to Amazon S3. S3TransferManager provides a simple API for uploading and downloading content to Amazon S3, and makes extensive use of Amazon S3 multipart uploads to achieve enhanced throughput, performance and reliability. + */ +@interface AWSS3TransferManager : AWSService + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let S3TransferManager = AWSS3TransferManager.defaultS3TransferManager() + + *Objective-C* + + AWSS3TransferManager *S3TransferManager = [AWSS3TransferManager defaultS3TransferManager]; + + @return The default service client. + */ ++ (instancetype)defaultS3TransferManager; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3TransferManager.registerS3TransferManagerWithConfiguration(configuration, forKey: "USWest2S3TransferManager") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3TransferManager registerS3TransferManagerWithConfiguration:configuration forKey:@"USWest2S3TransferManager"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3TransferManager = AWSS3TransferManager(forKey: "USWest2S3TransferManager") + + *Objective-C* + + AWSS3TransferManager *S3TransferManager = [AWSS3TransferManager S3TransferManagerForKey:@"USWest2S3TransferManager"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerS3TransferManagerWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerS3TransferManagerWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3TransferManager.registerS3TransferManagerWithConfiguration(configuration, forKey: "USWest2S3TransferManager") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3TransferManager registerS3TransferManagerWithConfiguration:configuration forKey:@"USWest2S3TransferManager"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3TransferManager = AWSS3TransferManager(forKey: "USWest2S3TransferManager") + + *Objective-C* + + AWSS3TransferManager *S3TransferManager = [AWSS3TransferManager S3TransferManagerForKey:@"USWest2S3TransferManager"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)S3TransferManagerForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeS3TransferManagerForKey:(NSString *)key; + +/** + Schedules a new transfer to upload data to Amazon S3. + + @param uploadRequest The upload request. + + @return AWSTask. + */ +- (AWSTask *)upload:(AWSS3TransferManagerUploadRequest *)uploadRequest; + +/** + Schedules a new transfer to download data from Amazon S3 and save it to the specified file. + + @param downloadRequest The download request. + + @return AWSTask. + */ +- (AWSTask *)download:(AWSS3TransferManagerDownloadRequest *)downloadRequest; + +/** + Cancels all of the upload and download requests. + + @return AWSTask. + */ +- (AWSTask *)cancelAll; + +/** + Pauses all of the upload and download requests. + + @return AWSTask. + */ +- (AWSTask *)pauseAll; + +/** + Resumes all of the upload and download requests. + + @param block The block to optionally re-set the progress blocks to the requests. + + @return AWSTask. + */ +- (AWSTask *)resumeAll:(AWSS3TransferManagerResumeAllBlock)block; + +/** + Clears the local cache. + + @return AWSTask. + */ +- (AWSTask *)clearCache; + +@end + +@interface AWSS3TransferManagerUploadRequest : AWSS3PutObjectRequest + +@property (nonatomic, assign, readonly) AWSS3TransferManagerRequestState state; +@property (nonatomic, strong) NSURL *body; + +@end + +@interface AWSS3TransferManagerUploadOutput : AWSS3PutObjectOutput + +@end + +@interface AWSS3TransferManagerDownloadRequest : AWSS3GetObjectRequest + +@property (nonatomic, assign, readonly) AWSS3TransferManagerRequestState state; + +@end + +@interface AWSS3TransferManagerDownloadOutput : AWSS3GetObjectOutput + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3TransferUtility.h b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3TransferUtility.h new file mode 100755 index 0000000..e1b76ad --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Headers/AWSS3TransferUtility.h @@ -0,0 +1,516 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSS3TransferUtilityErrorDomain; +typedef NS_ENUM(NSInteger, AWSS3TransferUtilityErrorType) { + AWSS3TransferUtilityErrorUnknown, + AWSS3TransferUtilityErrorRedirection, + AWSS3TransferUtilityErrorClientError, + AWSS3TransferUtilityErrorServerError, +}; + +FOUNDATION_EXPORT NSString *const AWSS3TransferUtilityURLSessionDidBecomeInvalidNotification; + +@class AWSS3TransferUtilityConfiguration; +@class AWSS3TransferUtilityTask; +@class AWSS3TransferUtilityUploadTask; +@class AWSS3TransferUtilityDownloadTask; +@class AWSS3TransferUtilityExpression; +@class AWSS3TransferUtilityUploadExpression; +@class AWSS3TransferUtilityDownloadExpression; + +/** + The upload completion handler. + + @param task The upload task object. + @param error Returns the error object when the download failed. + */ +typedef void (^AWSS3TransferUtilityUploadCompletionHandlerBlock) (AWSS3TransferUtilityUploadTask *task, + NSError * _Nullable error); + +/** + The download completion handler. + + @param task The download task object. + @param location When downloading an Amazon S3 object to a file, returns a file URL of the returned object. Otherwise, returns `nil`. + @param data When downloading an Amazon S3 object as an `NSData`, returns the returned object as an instance of `NSData`. Otherwise, returns `nil`. + @param error Returns the error object when the download failed. Returns `nil` on successful downlaod. + */ +typedef void (^AWSS3TransferUtilityDownloadCompletionHandlerBlock) (AWSS3TransferUtilityDownloadTask *task, + NSURL * _Nullable location, + NSData * _Nullable data, + NSError * _Nullable error); + +/** + The transfer progress feedback block. + + @param task The upload task object. + @param progress The progress object. + + @note Refer to `- URLSession:task:didSendBodyData:totalBytesSent:totalBytesExpectedToSend:` in `NSURLSessionTaskDelegate` for more details on upload progress and `- URLSession:downloadTask:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:` in `NSURLSessionDownloadDelegate` for more details on download progress. + */ +typedef void (^AWSS3TransferUtilityProgressBlock) (AWSS3TransferUtilityTask *task, + NSProgress *progress); + +#pragma mark - AWSS3TransferUtility + +/** + A high-level utility for managing background uploads and downloads. The transfers continue even when the app is suspended. You must call `+ application:handleEventsForBackgroundURLSession:completionHandler:` in the `- application:handleEventsForBackgroundURLSession:completionHandler:` application delegate in order for the background transfer callback to work. + */ +@interface AWSS3TransferUtility : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let S3TransferUtility = AWSS3TransferUtility.default() + + *Objective-C* + + AWSS3TransferUtility *S3TransferUtility = [AWSS3TransferUtility defaultS3TransferUtility]; + + @return The default service client. + */ ++ (instancetype)defaultS3TransferUtility; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3TransferUtility.register(with: configuration!, forKey: "USWest2S3TransferUtility") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3TransferUtility registerS3TransferUtilityWithConfiguration:configuration forKey:@"USWest2S3TransferUtility"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3TransferUtility = AWSS3TransferUtility(forKey: "USWest2S3TransferUtility") + + *Objective-C* + + AWSS3TransferUtility *S3TransferUtility = [AWSS3TransferUtility S3TransferUtilityForKey:@"USWest2S3TransferUtility"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerS3TransferUtilityWithConfiguration:(AWSServiceConfiguration *)configuration + forKey:(NSString *)key; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSS3TransferUtility.register(with: configuration!, transferUtilityConfiguration: nil, forKey: "USWest2S3TransferUtility") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSS3TransferUtility registerS3TransferUtilityWithConfiguration:configuration transferUtilityConfiguration:nil forKey:@"USWest2S3TransferUtility"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let S3TransferUtility = AWSS3TransferUtility(forKey: "USWest2S3TransferUtility") + + *Objective-C* + + AWSS3TransferUtility *S3TransferUtility = [AWSS3TransferUtility S3TransferUtilityForKey:@"USWest2S3TransferUtility"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param transferUtilityConfiguration An S3 transfer utility configuration object. + @param key A string to identify the service client. + */ ++ (void)registerS3TransferUtilityWithConfiguration:(AWSServiceConfiguration *)configuration + transferUtilityConfiguration:(nullable AWSS3TransferUtilityConfiguration *)transferUtilityConfiguration + forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerS3TransferUtilityWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [AWSCognitoCredentialsProvider credentialsWithRegionType:AWSRegionUSEast1 identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 credentialsProvider:credentialsProvider]; + + [AWSS3TransferUtility registerS3TransferUtilityWithConfiguration:configuration forKey:@"USWest2S3TransferUtility"]; + + return YES; + } + + Then call the following to get the service client: + + AWSS3TransferUtility *S3TransferUtility = [AWSS3TransferUtility S3ForKey:@"USWest2S3TransferUtility"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)S3TransferUtilityForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + The underlying NSURLSession is invalidated, and after the invalidation has completed the transfer is utility removed. + + Observe the AWSS3TransferUtilityURLSessionDidBecomeInvalidNotification to be informed when this has occurred. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeS3TransferUtilityForKey:(NSString *)key; + +/** + Tells `AWSS3TransferUtility` that events related to a URL session are waiting to be processed. This method needs to be called in the `- application:handleEventsForBackgroundURLSession:completionHandler:` applicatoin delegate for `AWSS3TransferUtility` to work. + + @param application The singleton app object. + @param identifier The identifier of the URL session requiring attention. + @param completionHandler The completion handler to call when you finish processing the events. + */ ++ (void)interceptApplication:(UIApplication *)application +handleEventsForBackgroundURLSession:(NSString *)identifier + completionHandler:(void (^)())completionHandler; + +/** + Saves the `NSData` to a temporary directory and uploads it to the specified Amazon S3 bucket. + + @param data The data to upload. + @param bucket The Amazon S3 bucket name. + @param key The Amazon S3 object key name. + @param contentType `Content-Type` of the data. + @param expression The container object to configure the upload request. + @param completionHandler The completion hanlder when the upload completes. + + @return Returns an instance of `AWSTask`. On successful initialization, `task.result` contains an instance of `AWSS3TransferUtilityUploadTask`. + */ +- (AWSTask *)uploadData:(NSData *)data + bucket:(NSString *)bucket + key:(NSString *)key + contentType:(NSString *)contentType + expression:(nullable AWSS3TransferUtilityUploadExpression *)expression + completionHandler:(nullable AWSS3TransferUtilityUploadCompletionHandlerBlock)completionHandler; + +/** + Uploads the file to the specified Amazon S3 bucket. + + @param fileURL The file URL of the file to upload. + @param bucket The Amazon S3 bucket name. + @param key The Amazon S3 object key name. + @param contentType `Content-Type` of the file. + @param expression The container object to configure the upload request. + @param completionHandler The completion hanlder when the upload completes. + + @return Returns an instance of `AWSTask`. On successful initialization, `task.result` contains an instance of `AWSS3TransferUtilityUploadTask`. + */ +- (AWSTask *)uploadFile:(NSURL *)fileURL + bucket:(NSString *)bucket + key:(NSString *)key + contentType:(NSString *)contentType + expression:(nullable AWSS3TransferUtilityUploadExpression *)expression + completionHandler:(nullable AWSS3TransferUtilityUploadCompletionHandlerBlock)completionHandler; + +/** + Downloads the specified Amazon S3 object as `NSData`. + + @param bucket The Amazon S3 bucket name. + @param key The Amazon S3 object key name. + @param expression The container object to configure the download request. + @param completionHandler The completion hanlder when the download completes. + + @return Returns an instance of `AWSTask`. On successful initialization, `task.result` contains an instance of `AWSS3TransferUtilityDownloadTask`. + */ +- (AWSTask *)downloadDataFromBucket:(NSString *)bucket + key:(NSString *)key + expression:(nullable AWSS3TransferUtilityDownloadExpression *)expression + completionHandler:(nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock)completionHandler; + +/** + Downloads the specified Amazon S3 object to a file URL. + + @param fileURL The file URL to download the object to. + @param bucket The Amazon S3 bucket name. + @param key The Amazon S3 object key name. + @param expression The container object to configure the download request. + @param completionHandler The completion hanlder when the download completes. + + @return Returns an instance of `AWSTask`. On successful initialization, `task.result` contains an instance of `AWSS3TransferUtilityDownloadTask`. + */ +- (AWSTask *)downloadToURL:(NSURL *)fileURL + bucket:(NSString *)bucket + key:(NSString *)key + expression:(nullable AWSS3TransferUtilityDownloadExpression *)expression + completionHandler:(nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock)completionHandler; + +/** + Assigns progress feedback and completion handler blocks. This method should be called when the app was suspended while the transfer is still happening. + + @param uploadBlocksAssigner The block for assigning the upload pregree feedback and completion handler blocks. + @param downloadBlocksAssigner The block for assigning the download pregree feedback and completion handler blocks. + */ +- (void)enumerateToAssignBlocksForUploadTask:(nullable void (^)(AWSS3TransferUtilityUploadTask *uploadTask, + _Nullable AWSS3TransferUtilityProgressBlock * _Nullable uploadProgressBlockReference, + _Nullable AWSS3TransferUtilityUploadCompletionHandlerBlock * _Nullable completionHandlerReference))uploadBlocksAssigner + downloadTask:(nullable void (^)(AWSS3TransferUtilityDownloadTask *downloadTask, + _Nullable AWSS3TransferUtilityProgressBlock * _Nullable downloadProgressBlockReference, + _Nullable AWSS3TransferUtilityDownloadCompletionHandlerBlock * _Nullable completionHandlerReference))downloadBlocksAssigner; + +/** + Retrieves all running tasks. + + @return An array of `AWSS3TransferUtilityTask`. + */ +- (AWSTask *> *)getAllTasks; + +/** + Retrieves all running upload tasks. + + @return An array of `AWSS3TransferUtilityUploadTask`. + */ +- (AWSTask *> *)getUploadTasks; + +/** + Retrieves all running download tasks. + + @return An array of `AWSS3TransferUtilityDownloadTask`. + */ +- (AWSTask *> *)getDownloadTasks; + +@end + +#pragma mark - AWSS3TransferUtilityConfiguration + +@interface AWSS3TransferUtilityConfiguration : NSObject + +@property (nonatomic, assign, getter=isAccelerateModeEnabled) BOOL accelerateModeEnabled; + +@end + + +#pragma mark - AWSS3TransferUtilityTasks + +/** + The task object to represent a upload or download task. + */ +@interface AWSS3TransferUtilityTask : NSObject + +/** + An identifier uniquely identifies the task within a given `AWSS3TransferUtility` instance. + */ +@property (readonly) NSUInteger taskIdentifier; + +/** + The Amazon S3 bucket name associated with the transfer. + */ +@property (readonly) NSString *bucket; + +/** + The Amazon S3 object key name associated with the transfer. + */ +@property (readonly) NSString *key; + +/** + The transfer progress. + */ +@property (readonly) NSProgress *progress; + +/** + The underlying `NSURLSessionTask` object. + */ +@property (readonly) NSURLSessionTask *sessionTask; + +/** + The HTTP request object. + */ +@property (nullable, readonly) NSURLRequest *request; + +/** + The HTTP response object. May be nil if no response has been received. + */ +@property (nullable, readonly) NSHTTPURLResponse *response; + +/** + Cancels the task. + */ +- (void)cancel; + +/** + Resumes the task, if it is suspended. + */ +- (void)resume; + +/** + Temporarily suspends a task. + */ +- (void)suspend; + +@end + +/** + The task object to represent a upload task. + */ +@interface AWSS3TransferUtilityUploadTask : AWSS3TransferUtilityTask + +@end + +/** + The task object to represent a download task. + */ +@interface AWSS3TransferUtilityDownloadTask : AWSS3TransferUtilityTask + +@end + +#pragma mark - AWSS3TransferUtilityExpressions + +/** + The expression object for configuring a upload or download task. + */ +@interface AWSS3TransferUtilityExpression : NSObject + +/** + This NSDictionary can contains additional request headers to be included in the pre-signed URL. Default is emtpy. + */ +@property (nonatomic, readonly) NSDictionary *requestHeaders; + +/** + This NSDictionary can contains additional request parameters to be included in the pre-signed URL. Adding additional request parameters enables more advanced pre-signed URLs, such as accessing Amazon S3's torrent resource for an object, or for specifying a version ID when accessing an object. Default is emtpy. + */ +@property (nonatomic, readonly) NSDictionary *requestParameters; + +/** + The progress feedback block. + */ +@property (copy, nonatomic, nullable) AWSS3TransferUtilityProgressBlock progressBlock; + +/** + Set an additional request header to be included in the pre-signed URL. + + @param value The value of the request parameter being added. Set to nil if parameter doesn't contains value. + @param requestHeader The name of the request header. + */ +- (void)setValue:(nullable NSString *)value forRequestHeader:(NSString *)requestHeader; + +/** + Set an additional request parameter to be included in the pre-signed URL. Adding additional request parameters enables more advanced pre-signed URLs, such as accessing Amazon S3's torrent resource for an object, or for specifying a version ID when accessing an object. + + @param value The value of the request parameter being added. Set to nil if parameter doesn't contains value. + @param requestParameter The name of the request parameter, as it appears in the URL's query string (e.g. AWSS3PresignedURLVersionID). + */ +- (void)setValue:(nullable NSString *)value forRequestParameter:(NSString *)requestParameter; + +@end + +/** + The expression object for configuring a upload task. + */ +@interface AWSS3TransferUtilityUploadExpression : AWSS3TransferUtilityExpression + +/** + The upload request header for `Content-MD5`. + */ +@property (nonatomic, nullable) NSString *contentMD5; + +@end + +/** + The expression object for configuring a download task. + */ +@interface AWSS3TransferUtilityDownloadExpression : AWSS3TransferUtilityExpression + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Info.plist b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Info.plist old mode 100644 new mode 100755 similarity index 53% rename from My Mind/Carthage/Build/iOS/SwiftForms.framework/Info.plist rename to My Mind/My Mind/Sdk/Aws/AWSS3.framework/Info.plist index fb6aca7..af01f54 Binary files a/My Mind/Carthage/Build/iOS/SwiftForms.framework/Info.plist and b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Info.plist differ diff --git a/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Modules/module.modulemap b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Modules/module.modulemap new file mode 100755 index 0000000..4cfd3c7 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/AWSS3.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AWSS3 { + umbrella header "AWSS3.h" + + export * + module * { export * } +} diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/AWSCognito b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/AWSCognito new file mode 100755 index 0000000..180bd22 Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/AWSCognito differ diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognito.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognito.h new file mode 100755 index 0000000..de0a4b9 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognito.h @@ -0,0 +1,31 @@ +// +// Copyright 2014-2016 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import + +//! Project version number for AWSCognito. +FOUNDATION_EXPORT double AWSCognitoVersionNumber; + +//! Project version string for AWSCognito. +FOUNDATION_EXPORT const unsigned char AWSCognitoVersionString[]; + +#import "AWSCognitoService.h" +#import "AWSCognitoDataset.h" +#import "AWSCognitoRecord.h" +#import "AWSCognitoHandlers.h" +#import "AWSCognitoConflict.h" +#import "AWSCognitoSyncService.h" diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoConflict.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoConflict.h new file mode 100755 index 0000000..d9ef7d8 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoConflict.h @@ -0,0 +1,72 @@ +// +// Copyright 2014-2016 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import + +@class AWSCognitoRecord; + +/** + An object that encapsulates a resolved conflict in Amazon Cognito. + */ +@interface AWSCognitoResolvedConflict : NSObject +@end + +/** + An object that encapsulates a tuple of Amazon Cognito records. + */ +@interface AWSCognitoRecordTuple : NSObject +/** + The local copy of the record. + */ +@property (nonatomic, readonly) AWSCognitoRecord *localRecord; +/** + The remote (cloud) copy of the record. + */ +@property (nonatomic, readonly) AWSCognitoRecord *remoteRecord; +@end + +/** + An object that encapsulates a conflicting record where both + the local and remote have been modified since the last synchronization. + */ +@interface AWSCognitoConflict : AWSCognitoRecordTuple + +/** + Create a AWSCognitoResolvedConflict object with the value of the + local record. + + @return AWSCognitoResolvedConflict object using local value + */ +-(AWSCognitoResolvedConflict *) resolveWithLocalRecord; +/** + Create a AWSCognitoResolvedConflict object with the value of the + remote (cloud) record. + + @return AWSCognitoResolvedConflict object using remote (cloud) value + */ +-(AWSCognitoResolvedConflict *) resolveWithRemoteRecord; +/** + Create a AWSCognitoResolvedConflict object with a custom value that + is neither the local nor remote value. + + @param value the value to use to resolve the conflict + + @return AWSCognitoResolvedConflict object using passed value + */ +-(AWSCognitoResolvedConflict *) resolveWithValue:(NSString *)value; +@end + diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoDataset.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoDataset.h new file mode 100755 index 0000000..f9b4e88 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoDataset.h @@ -0,0 +1,203 @@ +// +// Copyright 2014-2016 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import +#import "AWSCognitoHandlers.h" + +@class AWSCognitoRecord; +@class AWSTask; + +/** + An object that encapsulates the dataset metadata. + */ +@interface AWSCognitoDatasetMetadata : NSObject + +/** + The name of this dataset + */ +@property (nonatomic, readonly) NSString *name; +/** + The last sync count known on the client device. + */ +@property (nonatomic, readonly) NSNumber *lastSyncCount; +/** + The creation date of the dataset on the remote store. + */ +@property (nonatomic, readonly) NSDate *creationDate; +/** + The amount of storage on the remote store this dataset uses. + */ +@property (nonatomic, readonly) NSNumber *dataStorage; +/** + The id of the last device to modify this dataset. + */ +@property (nonatomic, readonly) NSString *lastModifiedBy; +/** + The date this dataset was last modified + */ +@property (nonatomic, readonly) NSDate *lastModifiedDate; +/** + The number of records in this dataset on the remote store. + */ +@property (nonatomic, readonly) NSNumber *numRecords; + +/** + Returns true if this dataset has been cleared locally, but not synchronized. + */ +- (BOOL)isDeleted; + +@end + +/** + An object that encapsulates the dataset. The dataset is the unit of sync + for Amazon Cognito. + */ +@interface AWSCognitoDataset : AWSCognitoDatasetMetadata + +/** + A conflict resolution handler that will receive calls when there is a + conflict during a sync operation. A conflict will occur when both remote and + local data have been updated since the last sync time. + When not explicitly set, we will use the default conflict resolution of + 'last writer wins', where the data most recently updated will be persisted. + */ +@property (nonatomic, copy) AWSCognitoRecordConflictHandler conflictHandler; + +/** + A deleted dataset handler. This handler will be called during a synchronization + when the remote service indicates that a dataset has been deleted. + Returning YES from the handler will cause the service to recreate the dataset + on the remote on the next synchronization. Returning NO or leaving this property + nil will cause the client to delete the dataset locally. + */ +@property (nonatomic, copy) AWSCognitoDatasetDeletedHandler datasetDeletedHandler; + +/** + A merged dataset handler. This handler will be called during a synchronization + when the remote service indicates that other datasets should be merged with this one. + Merged datasets should be fetched, their data overlayed locally and then removed. + Failing to implement this handler will result in merged datasets remaining on the + service indefinitely. + */ +@property (nonatomic, copy) AWSCognitoDatasetMergedHandler datasetMergedHandler; + +/** + The number of times to attempt a synchronization before failing. Defaults to + to the value on the AWSCognito client that opened this dataset. + */ +@property (nonatomic, assign) uint32_t synchronizeRetries; + +/** + Only synchronize if device is on a WiFi network. Defaults to + to the value on the AWSCognito client that opened this dataset. + */ +@property (nonatomic, assign) BOOL synchronizeOnWiFiOnly; + +/** + Sets a string object for the specified key in the dataset. + */ +- (void)setString:(NSString *) aString forKey:(NSString *) aKey; + +/** + Returns the string associated with the specified key. + */ +- (NSString *)stringForKey:(NSString *) aKey; + +/** + Synchronize local changes with remote changes on the service. First it pulls down changes from the service + and attempts to overlay them on the local store. Then it pushes any local updates to the service. If at any + point there is a conflict, conflict resolution is invoked. No changes are pushed to the service until + all conflicts are resolved. + */ +- (AWSTask *)synchronize; + +/** + Attempts to synchronize when device has connectivity. First it checks connectivity, if device is online + immediately invokes synchronize and returns the AWSTask associated with the attempt. If the device is offline, + schedules a synchronize for the next time the device comes online and returns a AWSTask with a nil result. + The scheduled synchronize is only valid for the lifecycle of the dataset object. The data will not be synchronized + if the app is exited before connectivity is regained. If you want to be notified when events occur during the + scheduled synchronize, you must add observers of the notifications found in AWSCognito + */ +- (AWSTask *)synchronizeOnConnectivity; + +/** + Subscribes this dataset to push notifications + + @return AWSTask with nil result. task.error will contain any errors. + */ +- (AWSTask *)subscribe; + +/** + Unsubscribes this dataset to push notifications + + @return AWSTask with nil result. task.error will contain any errors. + */ +- (AWSTask *)unsubscribe; + + +/** + Returns all of the records in the dataset. Will return deleted records. + + @return NSArray of AWSCognitoRecord objects + */ +- (NSArray *)getAllRecords; + +/** + Returns all the key value pairs in the dataset, ignore any deleted data. + + @return NSDictionary of all key value pairs. Contains no metadata. + */ +- (NSDictionary *)getAll; + +/** + Remove a record from the dataset. + + @param aKey the key to remove + */ +- (void)removeObjectForKey:(NSString *) aKey; + +/** + Returns the record associated with the specified key. + + @param aKey the key to return + + @return AWSCognitoRecord for this particular record. Will return nil if record does not exist. + */ +- (AWSCognitoRecord *)recordForKey:(NSString *) aKey; + +/** + Clear this dataset locally. Dataset will not be removed from the service until the next synchronize call. + */ +- (void) clear; + +/** + Returns the size in bytes for this dataset. + */ +- (long) size; + +/** + Returns the size in bytes for the specified key. + + @param aKey the key to check + */ +- (long) sizeForKey:(NSString *) aKey; + + + + +@end diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoHandlers.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoHandlers.h new file mode 100755 index 0000000..4690f01 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoHandlers.h @@ -0,0 +1,50 @@ +// +// Copyright 2014-2016 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import + +@class AWSCognitoResolvedConflict; +@class AWSCognitoConflict; + +/** + DatasetDeletedHandler + + @param datasetName The name of the dataset that was deleted + + @return YES if Cognito should recreate the dataset, NO if Cognito should delete + the local copy of the dataset. + */ +typedef BOOL (^AWSCognitoDatasetDeletedHandler)(NSString *datasetName); + +/** + DatasetMergedHandler + + @param datasetName The name of the local dataset that is the destination of the merge + @param datasets The list of dataset names that should be merged into the destination + */ +typedef void (^AWSCognitoDatasetMergedHandler)(NSString *datasetName, NSArray *datasets); + +/** + ConflictHandler + + @param conflict The AWSCognitoConflict for this record. Conflict contains + both local and remote data as properties. + + @return An instance of AWSCognitoResolvedConflict which indicates what data should be + stored and syncronized. Returning nil will cancel synchronization. + */ +typedef AWSCognitoResolvedConflict* (^AWSCognitoRecordConflictHandler)(NSString *datasetName, AWSCognitoConflict *conflict); diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoRecord.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoRecord.h new file mode 100755 index 0000000..c159e7d --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoRecord.h @@ -0,0 +1,133 @@ +// +// Copyright 2014-2016 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import + +typedef NS_ENUM(NSInteger, AWSCognitoRecordValueType) { + AWSCognitoRecordValueTypeUnknown, + AWSCognitoRecordValueTypeString, + AWSCognitoRecordValueTypeDeleted, +}; + +/** + An object that encapsulates the record value. + */ +@interface AWSCognitoRecordValue : NSObject + + +/** + The type of the record value. + + The record value datatypes. +
    +
  • AWSCognitoRecordValueTypeUnknown - Unknown type.
  • +
  • AWSCognitoRecordValueTypeString - The string value.
  • +
  • AWSCognitoRecordValueTypeDeleted - A deleted value.
  • +
+ */ +@property (nonatomic, readonly) AWSCognitoRecordValueType type; + +/** + Initializes a AWSCognitoRecordValue with the given string value. + The type property is automatically set to AWSCognitoRecordValueTypeString. + + @param value The string value of the AWSCognitoRecordValue. + + @return The initialized instance + */ +- (instancetype)initWithString:(NSString *)value; + +/** + Returns the string value. + + @return The string value stored by the record value object. + */ +- (NSString *)string; + +@end + +@interface AWSCognitoRecordMetadata : NSObject + +/** + Record ID or name. + */ +@property (nonatomic, readonly) NSString *recordId; + +/** + The last date the record was modified. + */ +@property (nonatomic, readonly) NSDate *lastModified; + +/** + The ID of the client that last modified the record. Set in AWSCognitoConfig under the clientID property. + */ +@property (nonatomic, strong) NSString *lastModifiedBy; + +/** + Boolean indicating whether or not the record has updates/deletes that need to be synced with the server. + */ +@property (nonatomic, readonly, getter = isDirty) BOOL dirty; + +/** + Integer value indicating how many times the record has been written since the last sync. + The value is 0 if the record has not been modified. The value is incremented by 1 each time the record is updated. + The value is set to -1 when the record is marked as deleted from the local database. + */ +@property (nonatomic, assign) int64_t dirtyCount; + +/** + Integer value of the server sync count of the record. + */ +@property (nonatomic, assign) int64_t syncCount; + +- (instancetype)initWithId:(NSString *)recordId; + +/** + Checks if the metadata matches. + + @param object The object to be compared to the receiver. + May be nil, in which case this method returns NO. + @return YES if the receiver and object have equal metadata, otherwise NO. + */ +- (BOOL)isEqualMetadata:(id)object; + +@end + +@interface AWSCognitoRecord : AWSCognitoRecordMetadata + +/** + The data for the record. + */ +@property (nonatomic, strong) AWSCognitoRecordValue *data; + +/** + Initializes a AWSCognitoRecord with the given recordID, given data, and a dirtyCount and recordVersion of 0. + + @param recordId The record ID of the AWSCognitoRecord + @param data the initial data that the AWSCognitoRecord will contain + */ +- (instancetype)initWithId:(NSString *)recordId + data:(AWSCognitoRecordValue *)data; + +/** + Returns true if this record has been deleted + + @return YES if the record is deleted, NO otherwise + */ +- (BOOL)isDeleted; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoService.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoService.h new file mode 100755 index 0000000..b353830 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoService.h @@ -0,0 +1,396 @@ +// +// Copyright 2014-2016 Amazon.com, +// Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Amazon Software License (the "License"). +// You may not use this file except in compliance with the +// License. A copy of the License is located at +// +// http://aws.amazon.com/asl/ +// +// or in the "license" file accompanying this file. This file is +// distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR +// CONDITIONS OF ANY KIND, express or implied. See the License +// for the specific language governing permissions and +// limitations under the License. +// + +#import +#import +#import "AWSCognitoHandlers.h" +#import "AWSCognitoSyncService.h" + +NS_ASSUME_NONNULL_BEGIN + +@class AWSCognitoDataset; +@class AWSCognitoDatasetMetadata; +@class AWSCognitoCredentialsProvider; +@class AWSTask; + +@interface AWSCognito : AWSService + +/** + Posted when the synchronization is started. + The notification sender is an instance of AWSCognitoClient. The userInfo + contains the dataset name. + @discussion This notification is posted once per synchronization. + The notification is posted on the Grand Central Dispatch + DISPATCH_QUEUE_PRIORITY_DEFAULT queue. The user interface should not be + modified on the thread. + */ +extern NSString *const AWSCognitoDidStartSynchronizeNotification; +/** + Posted when the synchronization is finished with or without errors. + The notification sender is an instance of AWSCognitoClient. The userInfo + contains the dataset name. + @discussion This notification is posted once per synchronization. + The notification is posted on the Grand Central Dispatch + DISPATCH_QUEUE_PRIORITY_DEFAULT queue. The user interface should not be + modified on the thread. + */ +extern NSString *const AWSCognitoDidEndSynchronizeNotification; +/** + Posted when values are changed to the value from the remote data store. The notification + sender is an instance of AWSCognitoClient. The userInfo contains the dataset name and + an NSArray of changed keys. + @discussion This notification may be posted multiple times per synchronization. + The notification is posted on the Grand Central Dispatch + DISPATCH_QUEUE_PRIORITY_DEFAULT queue. The user interface should not be + modified on the thread. + */ +extern NSString *const AWSCognitoDidChangeLocalValueFromRemoteNotification; +/** + Posted when locally changed values are pushed to the remote store. The notification + sender is an instance of AWSCognitoClient. The userInfo contains the dataset name and + an NSArray of changed keys. + @discussion This notification may be posted multiple times per synchronization. + The notification is posted on the Grand Central Dispatch + DISPATCH_QUEUE_PRIORITY_DEFAULT queue. The user interface should not be + modified on the thread. + */ +extern NSString *const AWSCognitoDidChangeRemoteValueNotification; +/** + Posted when the synchronization for the for the dataset failed. The notification + sender is an instance of AWSCognitoClient. The userInfo contains the dataset name + and error. + @discussion This notification may be posted multiple times per synchronization. + The notification is posted on the Grand Central Dispatch + DISPATCH_QUEUE_PRIORITY_DEFAULT queue. The user interface should not be + modified on the thread. + */ +extern NSString *const AWSCognitoDidFailToSynchronizeNotification; + +/** + The error domain for AWSCognito errors. +
    +
  • AWSCognitoErrorUnknown - Unknow error.
  • +
  • AWSCognitoErrorRemoteDataStorageFailed - The Amazon Cognito call temporarily failed.
  • +
  • AWSCognitoErrorInvalidDataValue - The Amazon Cognito call failed. The value for the + key is invalid and has been deleted from the local database.
  • +
  • AWSCognitoErrorDataSizeLimitExceeded - The Amazon Cognito call failed. A + dataset has exceeded the max dataset size.
  • +
  • AWSCognitoErrorLocalDataStorageFailed - The SQLite call failed.
  • +
  • AWSCognitoErrorIllegalArgument - The input value is invalid.
  • +
  • AWSCognitoErrorConflictRetriesExhausted - The number of attempts to resolve a conflict + has exceeded the max number of retries.
  • +
  • AWSCognitoErrorWiFiNotAvailable - WiFi is required and not currently available.
  • +
  • AWSCognitoErrorDeviceNotRegistered - The device has not been registered yet.
  • +
  • AWSCognitoErrorSyncAlreadyPending - This sync is unecessary, there is already a pending sync.
  • +
  • AWSCognitoErrorTimedOutWaitingForInFlightSync - There is a in flight sync that took over 5 minutes to complete, so this one was cancelled.
  • +
+ */ +FOUNDATION_EXPORT NSString *const AWSCognitoErrorDomain; +typedef NS_ENUM(NSInteger, AWSCognitoErrorType) { + AWSCognitoErrorUnknown = 0, + AWSCognitoErrorRemoteDataStorageFailed = -1000, + AWSCognitoErrorInvalidDataValue = -1001, + AWSCognitoErrorUserDataSizeLimitExceeded = -1002, + AWSCognitoErrorLocalDataStorageFailed = -2000, + AWSCognitoErrorIllegalArgument = -3000, + AWSCognitoAuthenticationFailed = -4000, + AWSCognitoErrorTaskCanceled = -5000, + AWSCognitoErrorConflictRetriesExhausted = -6000, + AWSCognitoErrorWiFiNotAvailable = -7000, + AWSCognitoErrorDeviceNotRegistered = -8000, + AWSCognitoErrorSyncAlreadyPending = -9000, + AWSCognitoErrorTimedOutWaitingForInFlightSync = -10000, +}; + +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + A conflict resolution handler that will receive calls when there is a + conflict during a sync operation. A conflict will occur when both remote and + local data have been updated since the last sync time. + When not explicitly set, we will use the default conflict resolution of + 'last writer wins', where the data most recently updated will be persisted. + This handler will be propagated to any AWSCognitoDataset opened by this client. + */ +@property (nonatomic, strong) AWSCognitoRecordConflictHandler conflictHandler; + +/** + A deleted dataset handler. This handler will be called during a synchronization + when the remote service indicates that a dataset has been deleted. + Returning YES from the handler will cause the service to recreate the dataset + on the remote on the next synchronization. Returning NO or leaving this property + nil will cause the client to delete the dataset locally. + This handler will be propagated to any AWSCognitoDataset opened by this client. + */ +@property (nonatomic, strong) AWSCognitoDatasetDeletedHandler datasetDeletedHandler; + +/** + A merged dataset handler. This handler will be called during a synchronization + when the remote service indicates that other datasets should be merged with this one. + Merged datasets should be fetched, their data overlayed locally and then removed. + Failing to implement this handler will result in merged datasets remaining on the + service indefinitely. + This handler will be propagated to any AWSCognitoDataset opened by this client. + */ +@property (nonatomic, strong) AWSCognitoDatasetMergedHandler datasetMergedHandler; + +/** + The identifier used for this client in Amazon Cognito. If not supplied + Amazon Cognito will create a random GUID for the device. + */ +@property (nonatomic, strong) NSString *deviceId; + +/** + The number of times to attempt a synchronization before failing. This will + be set on any AWSCognitoDatasets opened with this client. Defaults to 5 if not set. + */ +@property (nonatomic, assign) uint32_t synchronizeRetries; + +/** + Only synchronize if device is on a WiFi network. Defaults to NO if not set. + */ +@property (nonatomic, assign) BOOL synchronizeOnWiFiOnly; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. Returns `nil` if the credentials provider is not an instance of `AWSCognitoCredentials` provider. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let Cognito = AWSCognito.default() + + *Objective-C* + + AWSCognito *Cognito = [AWSCognito defaultCognito]; + + @return The default service client. + */ ++ (instancetype)defaultCognito; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognito.register(with: configuration!, forKey: "USWest2Cognito") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognito registerCognitoWithConfiguration:configuration forKey:@"USWest2Cognito"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let Cognito = AWSCognito(forKey: "USWest2Cognito") + + *Objective-C* + + AWSCognito *Cognito = [AWSCognito CognitoForKey:@"USWest2Cognito"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerCognitoWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerCognitoWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognito.register(with: configuration!, forKey: "USWest2Cognito") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognito registerCognitoWithConfiguration:configuration forKey:@"USWest2Cognito"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let Cognito = AWSCognito(forKey: "USWest2Cognito") + + *Objective-C* + + AWSCognito *Cognito = [AWSCognito CognitoForKey:@"USWest2Cognito"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)CognitoForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeCognitoForKey:(NSString *)key; + +/** + Opens an existing dataset or creates a new one. + + @return handle to AWSCognitoDataset + */ +- (AWSCognitoDataset *)openOrCreateDataset:(NSString *)datasetName; + +/** + List all datasets our client is aware of. Call refreshDatasetMetadata to ensure + the client has knowledge of all datasets available on the remote store. + + @return NSArray of AWSCognitoDatasetMetadata + */ +- (NSArray *)listDatasets; + +/** + List all of the datasets. Returns a AWSTask. The result of this task will be an array of + AWSCognitoDatasetMetadata objects. + */ +- (AWSTask *> *)refreshDatasetMetadata; + +/** + Wipe all cached data. + */ +- (void)wipe; + +/** + Get the default, last writer wins conflict handler + */ ++ (AWSCognitoRecordConflictHandler) defaultConflictHandler; + +/** + Register this device for push notifications. You will not receive any notifications until you actually subscribe the + dataset you want to receive push notifications for. If your build targets Release, this will register the device + with APNS, if your build targets Debug this will register the device with APNS_SANDBOX. Returns a AWSTask. + The result of this task will be a AWSCognitoSyncRegisterDeviceResponse. + */ +- (AWSTask *)registerDevice: (NSData *) deviceToken; + +/** + Get the device id Cognito Sync gave this device. nil if device has never been registered + */ ++ (NSString *) cognitoDeviceId; + +/** + Used to override the platform for push notifications. If you are not using the CocoaPods distribution, + #ifdef DEBUG + [[AWSCognito defaultCognito] setPushPlatform:AWSCognitoSyncPlatformApnsSandbox]; + #endif + will set push notifications to use the APNS_SANDBOX if your build targets Debug. Otherwise it will + always use APNS. + */ + ++ (void)setPushPlatform:(AWSCognitoSyncPlatform) pushPlatform; + +/** + The push platform for push notifications + */ ++ (AWSCognitoSyncPlatform)pushPlatform; + +/** + Subscribe to a list of datasets. Make sure you have called synchronize on each of the datasets in the list + at least once prior to calling this. Returns a AWSTask. The result of this task will be a NSArray of + AWSCognitoSyncSubscribeToDatasetResponse + */ +- (AWSTask *)subscribe:(NSArray *) datasetNames; + +/** + Subscribe to all datasets you have locally. Make sure you have called synchronize on all of your local datasets + at least once prior to calling this. Returns a AWSTask. The result of this task will be a NSArray of + AWSCognitoSyncSubscribeToDatasetResponse + */ +- (AWSTask *)subscribeAll; + +/** + Unsubscribe to a list of datasets. Returns a AWSTask. The result of this task will be a NSArray of + AWSCognitoSyncUnsubscribeToDatasetResponse + */ +- (AWSTask *)unsubscribe:(NSArray *) datasetNames; + +/** + Unsubscribe to all datasets you have locally. Make sure you have called synchronize on all of your local datasets + at least once prior to calling this. Returns a AWSTask. The result of this task will be a NSArray of + AWSCognitoSyncUnsubscribeToDatasetResponse + */ +- (AWSTask *)unsubscribeAll; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncModel.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncModel.h new file mode 100755 index 0000000..05e2c52 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncModel.h @@ -0,0 +1,1032 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import + +NS_ASSUME_NONNULL_BEGIN + +FOUNDATION_EXPORT NSString *const AWSCognitoSyncErrorDomain; + +typedef NS_ENUM(NSInteger, AWSCognitoSyncErrorType) { + AWSCognitoSyncErrorUnknown, + AWSCognitoSyncErrorAlreadyStreamed, + AWSCognitoSyncErrorConcurrentModification, + AWSCognitoSyncErrorDuplicateRequest, + AWSCognitoSyncErrorInternalError, + AWSCognitoSyncErrorInvalidConfiguration, + AWSCognitoSyncErrorInvalidLambdaFunctionOutput, + AWSCognitoSyncErrorInvalidParameter, + AWSCognitoSyncErrorLambdaThrottled, + AWSCognitoSyncErrorLimitExceeded, + AWSCognitoSyncErrorNotAuthorized, + AWSCognitoSyncErrorResourceConflict, + AWSCognitoSyncErrorResourceNotFound, + AWSCognitoSyncErrorTooManyRequests, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoSyncBulkPublishStatus) { + AWSCognitoSyncBulkPublishStatusUnknown, + AWSCognitoSyncBulkPublishStatusNotStarted, + AWSCognitoSyncBulkPublishStatusInProgress, + AWSCognitoSyncBulkPublishStatusFailed, + AWSCognitoSyncBulkPublishStatusSucceeded, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoSyncOperation) { + AWSCognitoSyncOperationUnknown, + AWSCognitoSyncOperationReplace, + AWSCognitoSyncOperationRemove, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoSyncPlatform) { + AWSCognitoSyncPlatformUnknown, + AWSCognitoSyncPlatformApns, + AWSCognitoSyncPlatformApnsSandbox, + AWSCognitoSyncPlatformGcm, + AWSCognitoSyncPlatformAdm, +}; + +typedef NS_ENUM(NSInteger, AWSCognitoSyncStreamingStatus) { + AWSCognitoSyncStreamingStatusUnknown, + AWSCognitoSyncStreamingStatusEnabled, + AWSCognitoSyncStreamingStatusDisabled, +}; + +@class AWSCognitoSyncBulkPublishRequest; +@class AWSCognitoSyncBulkPublishResponse; +@class AWSCognitoSyncCognitoStreams; +@class AWSCognitoSyncDataset; +@class AWSCognitoSyncDeleteDatasetRequest; +@class AWSCognitoSyncDeleteDatasetResponse; +@class AWSCognitoSyncDescribeDatasetRequest; +@class AWSCognitoSyncDescribeDatasetResponse; +@class AWSCognitoSyncDescribeIdentityPoolUsageRequest; +@class AWSCognitoSyncDescribeIdentityPoolUsageResponse; +@class AWSCognitoSyncDescribeIdentityUsageRequest; +@class AWSCognitoSyncDescribeIdentityUsageResponse; +@class AWSCognitoSyncGetBulkPublishDetailsRequest; +@class AWSCognitoSyncGetBulkPublishDetailsResponse; +@class AWSCognitoSyncGetCognitoEventsRequest; +@class AWSCognitoSyncGetCognitoEventsResponse; +@class AWSCognitoSyncGetIdentityPoolConfigurationRequest; +@class AWSCognitoSyncGetIdentityPoolConfigurationResponse; +@class AWSCognitoSyncIdentityPoolUsage; +@class AWSCognitoSyncIdentityUsage; +@class AWSCognitoSyncListDatasetsRequest; +@class AWSCognitoSyncListDatasetsResponse; +@class AWSCognitoSyncListIdentityPoolUsageRequest; +@class AWSCognitoSyncListIdentityPoolUsageResponse; +@class AWSCognitoSyncListRecordsRequest; +@class AWSCognitoSyncListRecordsResponse; +@class AWSCognitoSyncPushSync; +@class AWSCognitoSyncRecord; +@class AWSCognitoSyncRecordPatch; +@class AWSCognitoSyncRegisterDeviceRequest; +@class AWSCognitoSyncRegisterDeviceResponse; +@class AWSCognitoSyncSetCognitoEventsRequest; +@class AWSCognitoSyncSetIdentityPoolConfigurationRequest; +@class AWSCognitoSyncSetIdentityPoolConfigurationResponse; +@class AWSCognitoSyncSubscribeToDatasetRequest; +@class AWSCognitoSyncSubscribeToDatasetResponse; +@class AWSCognitoSyncUnsubscribeFromDatasetRequest; +@class AWSCognitoSyncUnsubscribeFromDatasetResponse; +@class AWSCognitoSyncUpdateRecordsRequest; +@class AWSCognitoSyncUpdateRecordsResponse; + +/** + The input for the BulkPublish operation. + Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoSyncBulkPublishRequest : AWSRequest + + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + The output for the BulkPublish operation. + */ +@interface AWSCognitoSyncBulkPublishResponse : AWSModel + + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + Configuration options for configure Cognito streams. + */ +@interface AWSCognitoSyncCognitoStreams : AWSModel + + +/** + The ARN of the role Amazon Cognito can assume in order to publish to the stream. This role must grant access to Amazon Cognito (cognito-sync) to invoke PutRecord on your Cognito stream. + */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +/** + The name of the Cognito stream to receive updates. This stream must be in the developers account and in the same region as the identity pool. + */ +@property (nonatomic, strong) NSString * _Nullable streamName; + +/** + Status of the Cognito streams. Valid values are:

ENABLED - Streaming of updates to identity pool is enabled.

DISABLED - Streaming of updates to identity pool is disabled. Bulk publish will also fail if StreamingStatus is DISABLED.

+ */ +@property (nonatomic, assign) AWSCognitoSyncStreamingStatus streamingStatus; + +@end + +/** + A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs. + */ +@interface AWSCognitoSyncDataset : AWSModel + + +/** + Date on which the dataset was created. + */ +@property (nonatomic, strong) NSDate * _Nullable creationDate; + +/** + Total size in bytes of the records in this dataset. + */ +@property (nonatomic, strong) NSNumber * _Nullable dataStorage; + +/** + A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). + */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + The device that made the last change to this dataset. + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedBy; + +/** + Date when the dataset was last modified. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** + Number of records in this dataset. + */ +@property (nonatomic, strong) NSNumber * _Nullable numRecords; + +@end + +/** + A request to delete the specific dataset. + Required parameters: [IdentityPoolId, IdentityId, DatasetName] + */ +@interface AWSCognitoSyncDeleteDatasetRequest : AWSRequest + + +/** + A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). + */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + Response to a successful DeleteDataset request. + */ +@interface AWSCognitoSyncDeleteDatasetResponse : AWSModel + + +/** + A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs. + */ +@property (nonatomic, strong) AWSCognitoSyncDataset * _Nullable dataset; + +@end + +/** + A request for meta data about a dataset (creation date, number of records, size) by owner and dataset name. + Required parameters: [IdentityPoolId, IdentityId, DatasetName] + */ +@interface AWSCognitoSyncDescribeDatasetRequest : AWSRequest + + +/** + A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). + */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + Response to a successful DescribeDataset request. + */ +@interface AWSCognitoSyncDescribeDatasetResponse : AWSModel + + +/** + Meta data for a collection of data for an identity. An identity can have multiple datasets. A dataset can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs. + */ +@property (nonatomic, strong) AWSCognitoSyncDataset * _Nullable dataset; + +@end + +/** + A request for usage information about the identity pool. + Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoSyncDescribeIdentityPoolUsageRequest : AWSRequest + + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + Response to a successful DescribeIdentityPoolUsage request. + */ +@interface AWSCognitoSyncDescribeIdentityPoolUsageResponse : AWSModel + + +/** + Information about the usage of the identity pool. + */ +@property (nonatomic, strong) AWSCognitoSyncIdentityPoolUsage * _Nullable identityPoolUsage; + +@end + +/** + A request for information about the usage of an identity pool. + Required parameters: [IdentityPoolId, IdentityId] + */ +@interface AWSCognitoSyncDescribeIdentityUsageRequest : AWSRequest + + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + The response to a successful DescribeIdentityUsage request. + */ +@interface AWSCognitoSyncDescribeIdentityUsageResponse : AWSModel + + +/** + Usage information for the identity. + */ +@property (nonatomic, strong) AWSCognitoSyncIdentityUsage * _Nullable identityUsage; + +@end + +/** + The input for the GetBulkPublishDetails operation. + Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoSyncGetBulkPublishDetailsRequest : AWSRequest + + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** + The output for the GetBulkPublishDetails operation. + */ +@interface AWSCognitoSyncGetBulkPublishDetailsResponse : AWSModel + + +/** + If BulkPublishStatus is SUCCEEDED, the time the last bulk publish operation completed. + */ +@property (nonatomic, strong) NSDate * _Nullable bulkPublishCompleteTime; + +/** + The date/time at which the last bulk publish was initiated. + */ +@property (nonatomic, strong) NSDate * _Nullable bulkPublishStartTime; + +/** + Status of the last bulk publish operation, valid values are:

NOT_STARTED - No bulk publish has been requested for this identity pool

IN_PROGRESS - Data is being published to the configured stream

SUCCEEDED - All data for the identity pool has been published to the configured stream

FAILED - Some portion of the data has failed to publish, check FailureMessage for the cause.

+ */ +@property (nonatomic, assign) AWSCognitoSyncBulkPublishStatus bulkPublishStatus; + +/** + If BulkPublishStatus is FAILED this field will contain the error message that caused the bulk publish to fail. + */ +@property (nonatomic, strong) NSString * _Nullable failureMessage; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

A request for a list of the configured Cognito Events

+ Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoSyncGetCognitoEventsRequest : AWSRequest + + +/** +

The Cognito Identity Pool ID for the request

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

The response from the GetCognitoEvents request

+ */ +@interface AWSCognitoSyncGetCognitoEventsResponse : AWSModel + + +/** +

The Cognito Events returned from the GetCognitoEvents request

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable events; + +@end + +/** +

The input for the GetIdentityPoolConfiguration operation.

+ Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoSyncGetIdentityPoolConfigurationRequest : AWSRequest + + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool for which to return a configuration.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

The output for the GetIdentityPoolConfiguration operation.

+ */ +@interface AWSCognitoSyncGetIdentityPoolConfigurationResponse : AWSModel + + +/** + Options to apply to this identity pool for Amazon Cognito streams. + */ +@property (nonatomic, strong) AWSCognitoSyncCognitoStreams * _Nullable cognitoStreams; + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

Options to apply to this identity pool for push synchronization.

+ */ +@property (nonatomic, strong) AWSCognitoSyncPushSync * _Nullable pushSync; + +@end + +/** + Usage information for the identity pool. + */ +@interface AWSCognitoSyncIdentityPoolUsage : AWSModel + + +/** + Data storage information for the identity pool. + */ +@property (nonatomic, strong) NSNumber * _Nullable dataStorage; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + Date on which the identity pool was last modified. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** + Number of sync sessions for the identity pool. + */ +@property (nonatomic, strong) NSNumber * _Nullable syncSessionsCount; + +@end + +/** + Usage information for the identity. + */ +@interface AWSCognitoSyncIdentityUsage : AWSModel + + +/** + Total data storage for this identity. + */ +@property (nonatomic, strong) NSNumber * _Nullable dataStorage; + +/** + Number of datasets for the identity. + */ +@property (nonatomic, strong) NSNumber * _Nullable datasetCount; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + Date on which the identity was last modified. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +@end + +/** + Request for a list of datasets for an identity. + Required parameters: [IdentityId, IdentityPoolId] + */ +@interface AWSCognitoSyncListDatasetsRequest : AWSRequest + + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + The maximum number of results to be returned. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** + A pagination token for obtaining the next page of results. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + Returned for a successful ListDatasets request. + */ +@interface AWSCognitoSyncListDatasetsResponse : AWSModel + + +/** + Number of datasets returned. + */ +@property (nonatomic, strong) NSNumber * _Nullable count; + +/** + A set of datasets. + */ +@property (nonatomic, strong) NSArray * _Nullable datasets; + +/** + A pagination token for obtaining the next page of results. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + A request for usage information on an identity pool. + */ +@interface AWSCognitoSyncListIdentityPoolUsageRequest : AWSRequest + + +/** + The maximum number of results to be returned. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** + A pagination token for obtaining the next page of results. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + Returned for a successful ListIdentityPoolUsage request. + */ +@interface AWSCognitoSyncListIdentityPoolUsageResponse : AWSModel + + +/** + Total number of identities for the identity pool. + */ +@property (nonatomic, strong) NSNumber * _Nullable count; + +/** + Usage information for the identity pools. + */ +@property (nonatomic, strong) NSArray * _Nullable identityPoolUsages; + +/** + The maximum number of results to be returned. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** + A pagination token for obtaining the next page of results. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +@end + +/** + A request for a list of records. + Required parameters: [IdentityPoolId, IdentityId, DatasetName] + */ +@interface AWSCognitoSyncListRecordsRequest : AWSRequest + + +/** + A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). + */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + The last server sync count for this record. + */ +@property (nonatomic, strong) NSNumber * _Nullable lastSyncCount; + +/** + The maximum number of results to be returned. + */ +@property (nonatomic, strong) NSNumber * _Nullable maxResults; + +/** + A pagination token for obtaining the next page of results. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** + A token containing a session ID, identity ID, and expiration. + */ +@property (nonatomic, strong) NSString * _Nullable syncSessionToken; + +@end + +/** + Returned for a successful ListRecordsRequest. + */ +@interface AWSCognitoSyncListRecordsResponse : AWSModel + + +/** + Total number of records. + */ +@property (nonatomic, strong) NSNumber * _Nullable count; + +/** + A boolean value specifying whether to delete the dataset locally. + */ +@property (nonatomic, strong) NSNumber * _Nullable datasetDeletedAfterRequestedSyncCount; + +/** + Indicates whether the dataset exists. + */ +@property (nonatomic, strong) NSNumber * _Nullable datasetExists; + +/** + Server sync count for this dataset. + */ +@property (nonatomic, strong) NSNumber * _Nullable datasetSyncCount; + +/** + The user/device that made the last change to this record. + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedBy; + +/** + Names of merged datasets. + */ +@property (nonatomic, strong) NSArray * _Nullable mergedDatasetNames; + +/** + A pagination token for obtaining the next page of results. + */ +@property (nonatomic, strong) NSString * _Nullable nextToken; + +/** + A list of all records. + */ +@property (nonatomic, strong) NSArray * _Nullable records; + +/** + A token containing a session ID, identity ID, and expiration. + */ +@property (nonatomic, strong) NSString * _Nullable syncSessionToken; + +@end + +/** +

Configuration options to be applied to the identity pool.

+ */ +@interface AWSCognitoSyncPushSync : AWSModel + + +/** +

List of SNS platform application ARNs that could be used by clients.

+ */ +@property (nonatomic, strong) NSArray * _Nullable applicationArns; + +/** +

A role configured to allow Cognito to call SNS on behalf of the developer.

+ */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +@end + +/** + The basic data structure of a dataset. + */ +@interface AWSCognitoSyncRecord : AWSModel + + +/** + The last modified date of the client device. + */ +@property (nonatomic, strong) NSDate * _Nullable deviceLastModifiedDate; + +/** + The key for the record. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + The user/device that made the last change to this record. + */ +@property (nonatomic, strong) NSString * _Nullable lastModifiedBy; + +/** + The date on which the record was last modified. + */ +@property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; + +/** + The server sync count for this record. + */ +@property (nonatomic, strong) NSNumber * _Nullable syncCount; + +/** + The value for the record. + */ +@property (nonatomic, strong) NSString * _Nullable value; + +@end + +/** + An update operation for a record. + Required parameters: [Op, Key, SyncCount] + */ +@interface AWSCognitoSyncRecordPatch : AWSModel + + +/** + The last modified date of the client device. + */ +@property (nonatomic, strong) NSDate * _Nullable deviceLastModifiedDate; + +/** + The key associated with the record patch. + */ +@property (nonatomic, strong) NSString * _Nullable key; + +/** + An operation, either replace or remove. + */ +@property (nonatomic, assign) AWSCognitoSyncOperation op; + +/** + Last known server sync count for this record. Set to 0 if unknown. + */ +@property (nonatomic, strong) NSNumber * _Nullable syncCount; + +/** + The value associated with the record patch. + */ +@property (nonatomic, strong) NSString * _Nullable value; + +@end + +/** +

A request to RegisterDevice.

+ Required parameters: [IdentityPoolId, IdentityId, Platform, Token] + */ +@interface AWSCognitoSyncRegisterDeviceRequest : AWSRequest + + +/** +

The unique ID for this identity.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. Here, the ID of the pool that the identity belongs to.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

The SNS platform type (e.g. GCM, SDM, APNS, APNS_SANDBOX).

+ */ +@property (nonatomic, assign) AWSCognitoSyncPlatform platform; + +/** +

The push token.

+ */ +@property (nonatomic, strong) NSString * _Nullable token; + +@end + +/** +

Response to a RegisterDevice request.

+ */ +@interface AWSCognitoSyncRegisterDeviceResponse : AWSModel + + +/** +

The unique ID generated for this device by Cognito.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceId; + +@end + +/** +

A request to configure Cognito Events"

" + Required parameters: [IdentityPoolId, Events] + */ +@interface AWSCognitoSyncSetCognitoEventsRequest : AWSRequest + + +/** +

The events to configure

+ */ +@property (nonatomic, strong) NSDictionary * _Nullable events; + +/** +

The Cognito Identity Pool to use when configuring Cognito Events

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

The input for the SetIdentityPoolConfiguration operation.

+ Required parameters: [IdentityPoolId] + */ +@interface AWSCognitoSyncSetIdentityPoolConfigurationRequest : AWSRequest + + +/** + Options to apply to this identity pool for Amazon Cognito streams. + */ +@property (nonatomic, strong) AWSCognitoSyncCognitoStreams * _Nullable cognitoStreams; + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. This is the ID of the pool to modify.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

Options to apply to this identity pool for push synchronization.

+ */ +@property (nonatomic, strong) AWSCognitoSyncPushSync * _Nullable pushSync; + +@end + +/** +

The output for the SetIdentityPoolConfiguration operation

+ */ +@interface AWSCognitoSyncSetIdentityPoolConfigurationResponse : AWSModel + + +/** + Options to apply to this identity pool for Amazon Cognito streams. + */ +@property (nonatomic, strong) AWSCognitoSyncCognitoStreams * _Nullable cognitoStreams; + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** +

Options to apply to this identity pool for push synchronization.

+ */ +@property (nonatomic, strong) AWSCognitoSyncPushSync * _Nullable pushSync; + +@end + +/** +

A request to SubscribeToDatasetRequest.

+ Required parameters: [IdentityPoolId, IdentityId, DatasetName, DeviceId] + */ +@interface AWSCognitoSyncSubscribeToDatasetRequest : AWSRequest + + +/** +

The name of the dataset to subcribe to.

+ */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** +

The unique ID generated for this device by Cognito.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceId; + +/** +

Unique ID for this identity.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which the identity belongs.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

Response to a SubscribeToDataset request.

+ */ +@interface AWSCognitoSyncSubscribeToDatasetResponse : AWSModel + + +@end + +/** +

A request to UnsubscribeFromDataset.

+ Required parameters: [IdentityPoolId, IdentityId, DatasetName, DeviceId] + */ +@interface AWSCognitoSyncUnsubscribeFromDatasetRequest : AWSRequest + + +/** +

The name of the dataset from which to unsubcribe.

+ */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** +

The unique ID generated for this device by Cognito.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceId; + +/** +

Unique ID for this identity.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** +

A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. The ID of the pool to which this identity belongs.

+ */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +@end + +/** +

Response to an UnsubscribeFromDataset request.

+ */ +@interface AWSCognitoSyncUnsubscribeFromDatasetResponse : AWSModel + + +@end + +/** + A request to post updates to records or add and delete records for a dataset and user. + Required parameters: [IdentityPoolId, IdentityId, DatasetName, SyncSessionToken] + */ +@interface AWSCognitoSyncUpdateRecordsRequest : AWSRequest + + +/** + Intended to supply a device ID that will populate the lastModifiedBy field referenced in other methods. The ClientContext field is not yet implemented. + */ +@property (nonatomic, strong) NSString * _Nullable clientContext; + +/** + A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot). + */ +@property (nonatomic, strong) NSString * _Nullable datasetName; + +/** +

The unique ID generated for this device by Cognito.

+ */ +@property (nonatomic, strong) NSString * _Nullable deviceId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityId; + +/** + A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region. + */ +@property (nonatomic, strong) NSString * _Nullable identityPoolId; + +/** + A list of patch operations. + */ +@property (nonatomic, strong) NSArray * _Nullable recordPatches; + +/** + The SyncSessionToken returned by a previous call to ListRecords for this dataset and identity. + */ +@property (nonatomic, strong) NSString * _Nullable syncSessionToken; + +@end + +/** + Returned for a successful UpdateRecordsRequest. + */ +@interface AWSCognitoSyncUpdateRecordsResponse : AWSModel + + +/** + A list of records that have been updated. + */ +@property (nonatomic, strong) NSArray * _Nullable records; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncResources.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncResources.h new file mode 100755 index 0000000..a4b1fa3 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncResources.h @@ -0,0 +1,24 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import + +@interface AWSCognitoSyncResources : NSObject + ++ (instancetype)sharedInstance; + +- (NSDictionary *)JSONObject; + +@end diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncService.h b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncService.h new file mode 100755 index 0000000..ab5d537 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Headers/AWSCognitoSyncService.h @@ -0,0 +1,598 @@ +// +// Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"). +// You may not use this file except in compliance with the License. +// A copy of the License is located at +// +// http://aws.amazon.com/apache2.0 +// +// or in the "license" file accompanying this file. This file is distributed +// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +// express or implied. See the License for the specific language governing +// permissions and limitations under the License. +// + +#import +#import +#import "AWSCognitoSyncModel.h" +#import "AWSCognitoSyncResources.h" + +NS_ASSUME_NONNULL_BEGIN + +/** + Amazon Cognito Sync

Amazon Cognito Sync provides an AWS service and client library that enable cross-device syncing of application-related user data. High-level client libraries are available for both iOS and Android. You can use these libraries to persist data locally so that it's available even if the device is offline. Developer credentials don't need to be stored on the mobile device to access the service. You can use Amazon Cognito to obtain a normalized user ID and credentials. User data is persisted in a dataset that can store up to 1 MB of key-value pairs, and you can have up to 20 datasets per user identity.

With Amazon Cognito Sync, the data stored for each identity is accessible only to credentials assigned to that identity. In order to use the Cognito Sync service, you need to make API calls using credentials retrieved with Amazon Cognito Identity service.

If you want to use Cognito Sync in an Android or iOS application, you will probably want to make API calls via the AWS Mobile SDK. To learn more, see the Developer Guide for Android and the Developer Guide for iOS.

+ */ +@interface AWSCognitoSync : AWSService + +/** + The service configuration used to instantiate this service client. + + @warning Once the client is instantiated, do not modify the configuration object. It may cause unspecified behaviors. + */ +@property (nonatomic, strong, readonly) AWSServiceConfiguration *configuration; + +/** + Returns the singleton service client. If the singleton object does not exist, the SDK instantiates the default service client with `defaultServiceConfiguration` from `[AWSServiceManager defaultServiceManager]`. The reference to this object is maintained by the SDK, and you do not need to retain it manually. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USEast1, credentialsProvider: credentialProvider) + AWSServiceManager.default().defaultServiceConfiguration = configuration + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSEast1 + credentialsProvider:credentialsProvider]; + [AWSServiceManager defaultServiceManager].defaultServiceConfiguration = configuration; + + return YES; + } + + Then call the following to get the default service client: + + *Swift* + + let CognitoSync = AWSCognitoSync.default() + + *Objective-C* + + AWSCognitoSync *CognitoSync = [AWSCognitoSync defaultCognitoSync]; + + @return The default service client. + */ ++ (instancetype)defaultCognitoSync; + +/** + Creates a service client with the given service configuration and registers it for the key. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognitoSync.register(with: configuration!, forKey: "USWest2CognitoSync") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognitoSync registerCognitoSyncWithConfiguration:configuration forKey:@"USWest2CognitoSync"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let CognitoSync = AWSCognitoSync(forKey: "USWest2CognitoSync") + + *Objective-C* + + AWSCognitoSync *CognitoSync = [AWSCognitoSync CognitoSyncForKey:@"USWest2CognitoSync"]; + + @warning After calling this method, do not modify the configuration object. It may cause unspecified behaviors. + + @param configuration A service configuration object. + @param key A string to identify the service client. + */ ++ (void)registerCognitoSyncWithConfiguration:(AWSServiceConfiguration *)configuration forKey:(NSString *)key; + +/** + Retrieves the service client associated with the key. You need to call `+ registerCognitoSyncWithConfiguration:forKey:` before invoking this method. + + For example, set the default service configuration in `- application:didFinishLaunchingWithOptions:` + + *Swift* + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + let credentialProvider = AWSCognitoCredentialsProvider(regionType: .USEast1, identityPoolId: "YourIdentityPoolId") + let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider: credentialProvider) + AWSCognitoSync.register(with: configuration!, forKey: "USWest2CognitoSync") + + return true + } + + *Objective-C* + + - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + AWSCognitoCredentialsProvider *credentialsProvider = [[AWSCognitoCredentialsProvider alloc] initWithRegionType:AWSRegionUSEast1 + identityPoolId:@"YourIdentityPoolId"]; + AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:AWSRegionUSWest2 + credentialsProvider:credentialsProvider]; + + [AWSCognitoSync registerCognitoSyncWithConfiguration:configuration forKey:@"USWest2CognitoSync"]; + + return YES; + } + + Then call the following to get the service client: + + *Swift* + + let CognitoSync = AWSCognitoSync(forKey: "USWest2CognitoSync") + + *Objective-C* + + AWSCognitoSync *CognitoSync = [AWSCognitoSync CognitoSyncForKey:@"USWest2CognitoSync"]; + + @param key A string to identify the service client. + + @return An instance of the service client. + */ ++ (instancetype)CognitoSyncForKey:(NSString *)key; + +/** + Removes the service client associated with the key and release it. + + @warning Before calling this method, make sure no method is running on this client. + + @param key A string to identify the service client. + */ ++ (void)removeCognitoSyncForKey:(NSString *)key; + +/** +

Initiates a bulk publish of all existing datasets for an Identity Pool to the configured stream. Customers are limited to one successful bulk publish per 24 hours. Bulk publish is an asynchronous request, customers can see the status of the request via the GetBulkPublishDetails operation.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the BulkPublish service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncBulkPublishResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorDuplicateRequest`, `AWSCognitoSyncErrorAlreadyStreamed`. + + @see AWSCognitoSyncBulkPublishRequest + @see AWSCognitoSyncBulkPublishResponse + */ +- (AWSTask *)bulkPublish:(AWSCognitoSyncBulkPublishRequest *)request; + +/** +

Initiates a bulk publish of all existing datasets for an Identity Pool to the configured stream. Customers are limited to one successful bulk publish per 24 hours. Bulk publish is an asynchronous request, customers can see the status of the request via the GetBulkPublishDetails operation.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the BulkPublish service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorDuplicateRequest`, `AWSCognitoSyncErrorAlreadyStreamed`. + + @see AWSCognitoSyncBulkPublishRequest + @see AWSCognitoSyncBulkPublishResponse + */ +- (void)bulkPublish:(AWSCognitoSyncBulkPublishRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncBulkPublishResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Deletes the specific dataset. The dataset will be deleted permanently, and the action can't be undone. Datasets that this dataset was merged with will no longer report the merge. Any subsequent operation on this dataset will result in a ResourceNotFoundException.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

+ + @param request A container for the necessary parameters to execute the DeleteDataset service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncDeleteDatasetResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorResourceConflict`. + + @see AWSCognitoSyncDeleteDatasetRequest + @see AWSCognitoSyncDeleteDatasetResponse + */ +- (AWSTask *)deleteDataset:(AWSCognitoSyncDeleteDatasetRequest *)request; + +/** +

Deletes the specific dataset. The dataset will be deleted permanently, and the action can't be undone. Datasets that this dataset was merged with will no longer report the merge. Any subsequent operation on this dataset will result in a ResourceNotFoundException.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

+ + @param request A container for the necessary parameters to execute the DeleteDataset service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorResourceConflict`. + + @see AWSCognitoSyncDeleteDatasetRequest + @see AWSCognitoSyncDeleteDatasetResponse + */ +- (void)deleteDataset:(AWSCognitoSyncDeleteDatasetRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncDeleteDatasetResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets meta data about a dataset by identity and dataset name. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

+ + @param request A container for the necessary parameters to execute the DescribeDataset service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncDescribeDatasetResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncDescribeDatasetRequest + @see AWSCognitoSyncDescribeDatasetResponse + */ +- (AWSTask *)describeDataset:(AWSCognitoSyncDescribeDatasetRequest *)request; + +/** +

Gets meta data about a dataset by identity and dataset name. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

+ + @param request A container for the necessary parameters to execute the DescribeDataset service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncDescribeDatasetRequest + @see AWSCognitoSyncDescribeDatasetResponse + */ +- (void)describeDataset:(AWSCognitoSyncDescribeDatasetRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncDescribeDatasetResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets usage details (for example, data storage) about a particular identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the DescribeIdentityPoolUsage service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncDescribeIdentityPoolUsageResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncDescribeIdentityPoolUsageRequest + @see AWSCognitoSyncDescribeIdentityPoolUsageResponse + */ +- (AWSTask *)describeIdentityPoolUsage:(AWSCognitoSyncDescribeIdentityPoolUsageRequest *)request; + +/** +

Gets usage details (for example, data storage) about a particular identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the DescribeIdentityPoolUsage service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncDescribeIdentityPoolUsageRequest + @see AWSCognitoSyncDescribeIdentityPoolUsageResponse + */ +- (void)describeIdentityPoolUsage:(AWSCognitoSyncDescribeIdentityPoolUsageRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncDescribeIdentityPoolUsageResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets usage information for an identity, including number of datasets and data usage.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

+ + @param request A container for the necessary parameters to execute the DescribeIdentityUsage service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncDescribeIdentityUsageResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncDescribeIdentityUsageRequest + @see AWSCognitoSyncDescribeIdentityUsageResponse + */ +- (AWSTask *)describeIdentityUsage:(AWSCognitoSyncDescribeIdentityUsageRequest *)request; + +/** +

Gets usage information for an identity, including number of datasets and data usage.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

+ + @param request A container for the necessary parameters to execute the DescribeIdentityUsage service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncDescribeIdentityUsageRequest + @see AWSCognitoSyncDescribeIdentityUsageResponse + */ +- (void)describeIdentityUsage:(AWSCognitoSyncDescribeIdentityUsageRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncDescribeIdentityUsageResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Get the status of the last BulkPublish operation for an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the GetBulkPublishDetails service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncGetBulkPublishDetailsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`. + + @see AWSCognitoSyncGetBulkPublishDetailsRequest + @see AWSCognitoSyncGetBulkPublishDetailsResponse + */ +- (AWSTask *)getBulkPublishDetails:(AWSCognitoSyncGetBulkPublishDetailsRequest *)request; + +/** +

Get the status of the last BulkPublish operation for an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the GetBulkPublishDetails service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`. + + @see AWSCognitoSyncGetBulkPublishDetailsRequest + @see AWSCognitoSyncGetBulkPublishDetailsResponse + */ +- (void)getBulkPublishDetails:(AWSCognitoSyncGetBulkPublishDetailsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncGetBulkPublishDetailsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the events and the corresponding Lambda functions associated with an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the GetCognitoEvents service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncGetCognitoEventsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncGetCognitoEventsRequest + @see AWSCognitoSyncGetCognitoEventsResponse + */ +- (AWSTask *)getCognitoEvents:(AWSCognitoSyncGetCognitoEventsRequest *)request; + +/** +

Gets the events and the corresponding Lambda functions associated with an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the GetCognitoEvents service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncGetCognitoEventsRequest + @see AWSCognitoSyncGetCognitoEventsResponse + */ +- (void)getCognitoEvents:(AWSCognitoSyncGetCognitoEventsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncGetCognitoEventsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets the configuration settings of an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the GetIdentityPoolConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncGetIdentityPoolConfigurationResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncGetIdentityPoolConfigurationRequest + @see AWSCognitoSyncGetIdentityPoolConfigurationResponse + */ +- (AWSTask *)getIdentityPoolConfiguration:(AWSCognitoSyncGetIdentityPoolConfigurationRequest *)request; + +/** +

Gets the configuration settings of an identity pool.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the GetIdentityPoolConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncGetIdentityPoolConfigurationRequest + @see AWSCognitoSyncGetIdentityPoolConfigurationResponse + */ +- (void)getIdentityPoolConfiguration:(AWSCognitoSyncGetIdentityPoolConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncGetIdentityPoolConfigurationResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Lists datasets for an identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListDatasets can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use the Cognito Identity credentials to make this API call.

+ + @param request A container for the necessary parameters to execute the ListDatasets service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncListDatasetsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncListDatasetsRequest + @see AWSCognitoSyncListDatasetsResponse + */ +- (AWSTask *)listDatasets:(AWSCognitoSyncListDatasetsRequest *)request; + +/** +

Lists datasets for an identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListDatasets can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use the Cognito Identity credentials to make this API call.

+ + @param request A container for the necessary parameters to execute the ListDatasets service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncListDatasetsRequest + @see AWSCognitoSyncListDatasetsResponse + */ +- (void)listDatasets:(AWSCognitoSyncListDatasetsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncListDatasetsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets a list of identity pools registered with Cognito.

ListIdentityPoolUsage can only be called with developer credentials. You cannot make this API call with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the ListIdentityPoolUsage service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncListIdentityPoolUsageResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncListIdentityPoolUsageRequest + @see AWSCognitoSyncListIdentityPoolUsageResponse + */ +- (AWSTask *)listIdentityPoolUsage:(AWSCognitoSyncListIdentityPoolUsageRequest *)request; + +/** +

Gets a list of identity pools registered with Cognito.

ListIdentityPoolUsage can only be called with developer credentials. You cannot make this API call with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the ListIdentityPoolUsage service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncListIdentityPoolUsageRequest + @see AWSCognitoSyncListIdentityPoolUsageResponse + */ +- (void)listIdentityPoolUsage:(AWSCognitoSyncListIdentityPoolUsageRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncListIdentityPoolUsageResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Gets paginated records, optionally changed after a particular sync count for a dataset and identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListRecords can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

+ + @param request A container for the necessary parameters to execute the ListRecords service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncListRecordsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorInternalError`. + + @see AWSCognitoSyncListRecordsRequest + @see AWSCognitoSyncListRecordsResponse + */ +- (AWSTask *)listRecords:(AWSCognitoSyncListRecordsRequest *)request; + +/** +

Gets paginated records, optionally changed after a particular sync count for a dataset and identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.

ListRecords can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use Cognito Identity credentials to make this API call.

+ + @param request A container for the necessary parameters to execute the ListRecords service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorInternalError`. + + @see AWSCognitoSyncListRecordsRequest + @see AWSCognitoSyncListRecordsResponse + */ +- (void)listRecords:(AWSCognitoSyncListRecordsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncListRecordsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Registers a device to receive push sync notifications.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

+ + @param request A container for the necessary parameters to execute the RegisterDevice service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncRegisterDeviceResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorInvalidConfiguration`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncRegisterDeviceRequest + @see AWSCognitoSyncRegisterDeviceResponse + */ +- (AWSTask *)registerDevice:(AWSCognitoSyncRegisterDeviceRequest *)request; + +/** +

Registers a device to receive push sync notifications.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

+ + @param request A container for the necessary parameters to execute the RegisterDevice service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorInvalidConfiguration`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncRegisterDeviceRequest + @see AWSCognitoSyncRegisterDeviceResponse + */ +- (void)registerDevice:(AWSCognitoSyncRegisterDeviceRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncRegisterDeviceResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Sets the AWS Lambda function for a given event type for an identity pool. This request only updates the key/value pair specified. Other key/values pairs are not updated. To remove a key value pair, pass a empty value for the particular key.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the SetCognitoEvents service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will be `nil`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncSetCognitoEventsRequest + */ +- (AWSTask *)setCognitoEvents:(AWSCognitoSyncSetCognitoEventsRequest *)request; + +/** +

Sets the AWS Lambda function for a given event type for an identity pool. This request only updates the key/value pair specified. Other key/values pairs are not updated. To remove a key value pair, pass a empty value for the particular key.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the SetCognitoEvents service method. + @param completionHandler The completion handler to call when the load request is complete. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncSetCognitoEventsRequest + */ +- (void)setCognitoEvents:(AWSCognitoSyncSetCognitoEventsRequest *)request completionHandler:(void (^ _Nullable)(NSError * _Nullable error))completionHandler; + +/** +

Sets the necessary configuration for push sync.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the SetIdentityPoolConfiguration service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncSetIdentityPoolConfigurationResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorConcurrentModification`. + + @see AWSCognitoSyncSetIdentityPoolConfigurationRequest + @see AWSCognitoSyncSetIdentityPoolConfigurationResponse + */ +- (AWSTask *)setIdentityPoolConfiguration:(AWSCognitoSyncSetIdentityPoolConfigurationRequest *)request; + +/** +

Sets the necessary configuration for push sync.

This API can only be called with developer credentials. You cannot call this API with the temporary user credentials provided by Cognito Identity.

+ + @param request A container for the necessary parameters to execute the SetIdentityPoolConfiguration service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorConcurrentModification`. + + @see AWSCognitoSyncSetIdentityPoolConfigurationRequest + @see AWSCognitoSyncSetIdentityPoolConfigurationResponse + */ +- (void)setIdentityPoolConfiguration:(AWSCognitoSyncSetIdentityPoolConfigurationRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncSetIdentityPoolConfigurationResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Subscribes to receive notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

+ + @param request A container for the necessary parameters to execute the SubscribeToDataset service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncSubscribeToDatasetResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorInvalidConfiguration`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncSubscribeToDatasetRequest + @see AWSCognitoSyncSubscribeToDatasetResponse + */ +- (AWSTask *)subscribeToDataset:(AWSCognitoSyncSubscribeToDatasetRequest *)request; + +/** +

Subscribes to receive notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

+ + @param request A container for the necessary parameters to execute the SubscribeToDataset service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorInvalidConfiguration`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncSubscribeToDatasetRequest + @see AWSCognitoSyncSubscribeToDatasetResponse + */ +- (void)subscribeToDataset:(AWSCognitoSyncSubscribeToDatasetRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncSubscribeToDatasetResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Unsubscribes from receiving notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

+ + @param request A container for the necessary parameters to execute the UnsubscribeFromDataset service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncUnsubscribeFromDatasetResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorInvalidConfiguration`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncUnsubscribeFromDatasetRequest + @see AWSCognitoSyncUnsubscribeFromDatasetResponse + */ +- (AWSTask *)unsubscribeFromDataset:(AWSCognitoSyncUnsubscribeFromDatasetRequest *)request; + +/** +

Unsubscribes from receiving notifications when a dataset is modified by another device.

This API can only be called with temporary credentials provided by Cognito Identity. You cannot call this API with developer credentials.

+ + @param request A container for the necessary parameters to execute the UnsubscribeFromDataset service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorInternalError`, `AWSCognitoSyncErrorInvalidConfiguration`, `AWSCognitoSyncErrorTooManyRequests`. + + @see AWSCognitoSyncUnsubscribeFromDatasetRequest + @see AWSCognitoSyncUnsubscribeFromDatasetResponse + */ +- (void)unsubscribeFromDataset:(AWSCognitoSyncUnsubscribeFromDatasetRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncUnsubscribeFromDatasetResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +/** +

Posts updates to records and adds and deletes records for a dataset and user.

The sync count in the record patch is your last known sync count for that record. The server will reject an UpdateRecords request with a ResourceConflictException if you try to patch a record with a new value but a stale sync count.

For example, if the sync count on the server is 5 for a key called highScore and you try and submit a new highScore with sync count of 4, the request will be rejected. To obtain the current sync count for a record, call ListRecords. On a successful update of the record, the response returns the new sync count for that record. You should present that sync count the next time you try to update that same record. When the record does not exist, specify the sync count as 0.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

+ + @param request A container for the necessary parameters to execute the UpdateRecords service method. + + @return An instance of `AWSTask`. On successful execution, `task.result` will contain an instance of `AWSCognitoSyncUpdateRecordsResponse`. On failed execution, `task.error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorLimitExceeded`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorResourceConflict`, `AWSCognitoSyncErrorInvalidLambdaFunctionOutput`, `AWSCognitoSyncErrorLambdaThrottled`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorInternalError`. + + @see AWSCognitoSyncUpdateRecordsRequest + @see AWSCognitoSyncUpdateRecordsResponse + */ +- (AWSTask *)updateRecords:(AWSCognitoSyncUpdateRecordsRequest *)request; + +/** +

Posts updates to records and adds and deletes records for a dataset and user.

The sync count in the record patch is your last known sync count for that record. The server will reject an UpdateRecords request with a ResourceConflictException if you try to patch a record with a new value but a stale sync count.

For example, if the sync count on the server is 5 for a key called highScore and you try and submit a new highScore with sync count of 4, the request will be rejected. To obtain the current sync count for a record, call ListRecords. On a successful update of the record, the response returns the new sync count for that record. You should present that sync count the next time you try to update that same record. When the record does not exist, specify the sync count as 0.

This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.

+ + @param request A container for the necessary parameters to execute the UpdateRecords service method. + @param completionHandler The completion handler to call when the load request is complete. + `response` - A response object, or `nil` if the request failed. + `error` - An error object that indicates why the request failed, or `nil` if the request was successful. On failed execution, `error` may contain an `NSError` with `AWSCognitoSyncErrorDomain` domain and the following error code: `AWSCognitoSyncErrorInvalidParameter`, `AWSCognitoSyncErrorLimitExceeded`, `AWSCognitoSyncErrorNotAuthorized`, `AWSCognitoSyncErrorResourceNotFound`, `AWSCognitoSyncErrorResourceConflict`, `AWSCognitoSyncErrorInvalidLambdaFunctionOutput`, `AWSCognitoSyncErrorLambdaThrottled`, `AWSCognitoSyncErrorTooManyRequests`, `AWSCognitoSyncErrorInternalError`. + + @see AWSCognitoSyncUpdateRecordsRequest + @see AWSCognitoSyncUpdateRecordsResponse + */ +- (void)updateRecords:(AWSCognitoSyncUpdateRecordsRequest *)request completionHandler:(void (^ _Nullable)(AWSCognitoSyncUpdateRecordsResponse * _Nullable response, NSError * _Nullable error))completionHandler; + +@end + +NS_ASSUME_NONNULL_END diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Info.plist b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Info.plist new file mode 100755 index 0000000..23f4612 Binary files /dev/null and b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Info.plist differ diff --git a/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Modules/module.modulemap b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Modules/module.modulemap new file mode 100755 index 0000000..27a7606 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/AWSCognito.framework/Modules/module.modulemap @@ -0,0 +1,6 @@ +framework module AWSCognito { + umbrella header "AWSCognito.h" + + export * + module * { export * } +} diff --git a/My Mind/My Mind/Sdk/Aws/extras/Amazon_Software_License.txt b/My Mind/My Mind/Sdk/Aws/extras/Amazon_Software_License.txt new file mode 100755 index 0000000..0945c46 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/Amazon_Software_License.txt @@ -0,0 +1,27 @@ +Amazon Software License +This Amazon Software License (“License”) governs your use, reproduction, and distribution of the accompanying software as specified below. +1. Definitions +“Licensor” means any person or entity that distributes its Work. + +“Software” means the original work of authorship made available under this License. + +“Work” means the Software and any additions to or derivative works of the Software that are made available under this License. + +The terms “reproduce,” “reproduction,” “derivative works,” and “distribution” have the meaning as provided under U.S. copyright law; provided, however, that for the purposes of this License, derivative works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work. + +Works, including the Software, are “made available” under this License by including in or with the Work either (a) a copyright notice referencing the applicability of this License to the Work, or (b) a copy of this License. +2. License Grants +2.1 Copyright Grant. Subject to the terms and conditions of this License, each Licensor grants to you a perpetual, worldwide, non-exclusive, royalty-free, copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense and distribute its Work and any resulting derivative works in any form. +2.2 Patent Grant. Subject to the terms and conditions of this License, each Licensor grants to you a perpetual, worldwide, non-exclusive, royalty-free patent license to make, have made, use, sell, offer for sale, import, and otherwise transfer its Work, in whole or in part. The foregoing license applies only to the patent claims licensable by Licensor that would be infringed by Licensor’s Work (or portion thereof) individually and excluding any combinations with any other materials or technology. +3. Limitations +3.1 Redistribution. You may reproduce or distribute the Work only if (a) you do so under this License, (b) you include a complete copy of this License with your distribution, and (c) you retain without modification any copyright, patent, trademark, or attribution notices that are present in the Work. +3.2 Derivative Works. You may specify that additional or different terms apply to the use, reproduction, and distribution of your derivative works of the Work (“Your Terms”) only if (a) Your Terms provide that the use limitation in Section 3.3 applies to your derivative works, and (b) you identify the specific derivative works that are subject to Your Terms. Notwithstanding Your Terms, this License (including the redistribution requirements in Section 3.1) will continue to apply to the Work itself. +3.3 Use Limitation. The Work and any derivative works thereof only may be used or intended for use with the web services, computing platforms or applications provided by Amazon.com, Inc. or its affiliates, including Amazon Web Services, Inc. +3.4 Patent Claims. If you bring or threaten to bring a patent claim against any Licensor (including any claim, cross-claim or counterclaim in a lawsuit) to enforce any patents that you allege are infringed by any Work, then your rights under this License from such Licensor (including the grants in Sections 2.1 and 2.2) will terminate immediately. +3.5 Trademarks. This License does not grant any rights to use any Licensor’s or its affiliates’ names, logos, or trademarks, except as necessary to reproduce the notices described in this License. +3.6 Termination. If you violate any term of this License, then your rights under this License (including the grants in Sections 2.1 and 2.2) will terminate immediately. +4. Disclaimer of Warranty. +THE WORK IS PROVIDED “AS IS” WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WARRANTIES OR CONDITIONS OF M ERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE OR NON-INFRINGEMENT. YOU BEAR THE RISK OF UNDERTAKING ANY ACTIVITIES UNDER THIS LICENSE. SOME STATES’ CONSUMER LAWS DO NOT ALLOW EXCLUSION OF AN IMPLIED WARRANTY, SO THIS DISCLAIMER MAY NOT APPLY TO YOU. +5. Limitation of Liability. +EXCEPT AS PROHIBITED BY APPLICABLE LAW, IN NO EVENT AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE SHALL ANY LICENSOR BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATED TO THIS LICENSE, THE USE OR INABILITY TO USE THE WORK (INCLUDING BUT NOT LIMITED TO LOSS OF GOODWILL, BUSINESS INTERRUPTION, LOST PROFITS OR DATA, COMPUTER FAILURE OR MALFUNCTION, OR ANY OTHER COMM ERCIAL DAMAGES OR LOSSES), EVEN IF THE LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +Effective Date – April 18, 2008 © 2008 Amazon.com, Inc. or its affiliates. All rights reserved. \ No newline at end of file diff --git a/My Mind/My Mind/Sdk/Aws/extras/NOTICE b/My Mind/My Mind/Sdk/Aws/extras/NOTICE new file mode 100755 index 0000000..e6f5a92 --- /dev/null +++ b/My Mind/My Mind/Sdk/Aws/extras/NOTICE @@ -0,0 +1,19 @@ +Amazon Cognito Sync + +Copyright 2014 Amazon.com, Inc. or its affiliates. All Rights Reserved. + +This product includes software developed by Amazon Technologies, Inc (http://www.amazon.com/). + +Licensed under Amazon Software License + +See the License for the specific language governing permissions and limitations under the License. + +********************** +THIRD PARTY COMPONENTS +********************** + +This software includes third party software subject to the following copyrights: +- Bolts-iOS - Copyright (c) 2013, Facebook, Inc. - BSD License +- Mantle - Copyright (c) 2012 - 2014, GitHub, Inc. All rights reserved, copyright (c) 2012, Bitswift, Inc. All rights reserved - MIT license + +The licenses for these third party components are included in the License file. diff --git a/My Mind/My Mind/Sdk/CheckXcodeVersion.sh b/My Mind/My Mind/Sdk/CheckXcodeVersion.sh new file mode 100755 index 0000000..480f58c --- /dev/null +++ b/My Mind/My Mind/Sdk/CheckXcodeVersion.sh @@ -0,0 +1,17 @@ +#!/bin/sh +# +# This script confirms that you are running a compatible version of +# Xcode. If your version is too old, then the project will not build +# properly. +# +if [ ${XCODE_VERSION_ACTUAL} -lt 710 ]; then + echo "########################################################################" 1>&2 + echo "CheckXcodeVersion.sh: AWS Mobile Hub Xcode Version Checker" 1>&2 + echo 1>&2 + echo "ERROR: Detected unsupported version of Xcode: ${XCODE_VERSION_ACTUAL}." 1>&2 + echo 1>%2 + echo "AWS Mobile Hub projects require that you use a newer version of Xcode." 1>&2 + echo "Please upgrade to Xcode 7.1 or newer." 1>&2 + echo "########################################################################" 1>&2 + exit -1; +fi diff --git a/My Mind/My Mind/SignUpViews.swift b/My Mind/My Mind/SignUpView.swift similarity index 79% rename from My Mind/My Mind/SignUpViews.swift rename to My Mind/My Mind/SignUpView.swift index 5353ce1..063229a 100644 --- a/My Mind/My Mind/SignUpViews.swift +++ b/My Mind/My Mind/SignUpView.swift @@ -1,8 +1,8 @@ // -// SignUp.swift +// SignUpView.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 31/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // diff --git a/My Mind/My Mind/WelcomeScreenViews.swift b/My Mind/My Mind/TabBarController.swift similarity index 50% rename from My Mind/My Mind/WelcomeScreenViews.swift rename to My Mind/My Mind/TabBarController.swift index 7a5682c..f7998ed 100644 --- a/My Mind/My Mind/WelcomeScreenViews.swift +++ b/My Mind/My Mind/TabBarController.swift @@ -1,34 +1,23 @@ // -// WelcomeScreenViews.swift +// TabBarController.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 05/04/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // import Foundation import UIKit +import AWSCognitoIdentityProvider -class PageOne : UIViewController { - +class Interim: UIViewController{ override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } - } -class PageTwo : UIViewController { - +class MainTabView: UITabBarController{ override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent } - -} - -class PageThree : UIViewController { - - override var preferredStatusBarStyle: UIStatusBarStyle { - return .lightContent - } - } diff --git a/My Mind/My Mind/UserPools/SignInViewControllerExtensions.swift b/My Mind/My Mind/UserPools/SignInViewControllerExtensions.swift new file mode 100755 index 0000000..118e78d --- /dev/null +++ b/My Mind/My Mind/UserPools/SignInViewControllerExtensions.swift @@ -0,0 +1,97 @@ +// +// LoginViewExtensions.swift +// MySampleApp +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from template: aws-my-sample-app-ios-swift v0.12 +// +// + +import Foundation +import AWSCognitoIdentityProvider +import AWSMobileHubHelper + +// Extension containing methods which call different operations on Cognito User Pools (Sign In, Sign Up, Forgot Password) +extension LoginView { + + func handleCustomSignIn() { + // set the interactive auth delegate to self, since this view controller handles the LoginView process for user pools + AWSCognitoUserPoolsSignInProvider.sharedInstance().setInteractiveAuthDelegate(self) + self.handleLoginWithSignInProvider(AWSCognitoUserPoolsSignInProvider.sharedInstance()) + } + + func handleUserPoolSignUp () { + let storyboard = UIStoryboard(name: "Main", bundle: nil) + let viewController = storyboard.instantiateViewController(withIdentifier: "SignUp") + UIApplication.shared.delegate?.window??.rootViewController = viewController + //self.present(viewController, animated:true, completion:nil); + } + + func handleUserPoolForgotPassword () { + let storyboard = UIStoryboard(name: "Main", bundle: nil) + let viewController = storyboard.instantiateViewController(withIdentifier: "ForgotPassword") + self.present(viewController, animated:true, completion:nil); + } +} + +// Extension to adopt the `AWSCognitoIdentityInteractiveAuthenticationDelegate` protocol +extension LoginView: AWSCognitoIdentityInteractiveAuthenticationDelegate { + + // this function handles the UI setup for initial LoginView screen, in our case, since we are already on the LoginView screen, we just return the View Controller instance + func startPasswordAuthentication() -> AWSCognitoIdentityPasswordAuthentication { + return self + } + + // prepare and setup the ViewController that manages the Multi-Factor Authentication + func startMultiFactorAuthentication() -> AWSCognitoIdentityMultiFactorAuthentication { + let storyboard = UIStoryboard(name: "Main", bundle: nil) + let viewController = storyboard.instantiateViewController(withIdentifier: "MFA") + DispatchQueue.main.async(execute: { + self.present(viewController, animated:true, completion:nil); + }) + return viewController as! AWSCognitoIdentityMultiFactorAuthentication + } +} + +// Extension to adopt the `AWSCognitoIdentityPasswordAuthentication` protocol +extension LoginView: AWSCognitoIdentityPasswordAuthentication { + + func getDetails(_ authenticationInput: AWSCognitoIdentityPasswordAuthenticationInput, passwordAuthenticationCompletionSource: AWSTaskCompletionSource) { + self.passwordAuthenticationCompletion = passwordAuthenticationCompletionSource as? AWSTaskCompletionSource + } + + func didCompleteStepWithError(_ error: Error?) { + if let error = error as NSError? { + DispatchQueue.main.async(execute: { + UIAlertView(title: error.userInfo["__type"] as? String, + message: error.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: "Ok").show() + }) + } + } +} + +// Extension to adopt the `AWSCognitoUserPoolsSignInHandler` protocol +extension LoginView: AWSCognitoUserPoolsSignInHandler { + func handleUserPoolSignInFlowStart() { + // check if both username and password fields are provided + guard let username = self.customUserIdField.text, !username.isEmpty, + let password = self.customPasswordField.text, !password.isEmpty else { + DispatchQueue.main.async(execute: { + UIAlertView(title: "Missing UserName / Password", + message: "Please enter a valid user name / password.", + delegate: nil, + cancelButtonTitle: "Ok").show() + }) + return + } + // set the task completion result as an object of AWSCognitoIdentityPasswordAuthenticationDetails with username and password that the app user provides + self.passwordAuthenticationCompletion?.set(result: AWSCognitoIdentityPasswordAuthenticationDetails(username: username, password: password)) + } +} diff --git a/My Mind/My Mind/UserPools/UserPoolForgotPasswordViewController.swift b/My Mind/My Mind/UserPools/UserPoolForgotPasswordViewController.swift new file mode 100755 index 0000000..42d6e51 --- /dev/null +++ b/My Mind/My Mind/UserPools/UserPoolForgotPasswordViewController.swift @@ -0,0 +1,68 @@ +// +// UserPoolForgotPasswordViewController.swift +// MySampleApp +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from template: aws-my-sample-app-ios-swift v0.12 +// +// + +import Foundation +import UIKit +import AWSCognitoIdentityProvider +import AWSMobileHubHelper + +class UserPoolForgotPasswordViewController: UIViewController { + + var pool: AWSCognitoIdentityUserPool? + var user: AWSCognitoIdentityUser? + + @IBOutlet weak var userName: UITextField! + + @IBAction func onForgotPassword(_ sender: AnyObject) { + guard let username = self.userName.text, !username.isEmpty else { + UIAlertView(title: "Missing UserName", + message: "Please enter a valid user name.", + delegate: nil, + cancelButtonTitle: "Ok").show() + return + } + + self.user = self.pool?.getUser(self.userName.text!) + self.user?.forgotPassword().continueWith(block: {[weak self] (task: AWSTask) -> AnyObject? in + guard let strongSelf = self else {return nil} + DispatchQueue.main.async(execute: { + if let error = task.error as? NSError { + UIAlertView(title: error.userInfo["__type"] as? String, + message: error.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: "Ok").show() + } else { + strongSelf.performSegue(withIdentifier: "NewPasswordSegue", sender: sender) + } + }) + return nil + }) + + } + + @IBAction func onCancel(_ sender: AnyObject) { + self.presentingViewController?.dismiss(animated: true, completion: nil) + } + + override func viewDidLoad() { + super.viewDidLoad() + self.pool = AWSCognitoIdentityUserPool.init(forKey: AWSCognitoUserPoolsSignInProviderKey) + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + if let newPasswordViewController = segue.destination as? UserPoolNewPasswordViewController { + newPasswordViewController.user = self.user + } + } +} diff --git a/My Mind/My Mind/UserPools/UserPoolMFAViewController.swift b/My Mind/My Mind/UserPools/UserPoolMFAViewController.swift new file mode 100755 index 0000000..a227a5e --- /dev/null +++ b/My Mind/My Mind/UserPools/UserPoolMFAViewController.swift @@ -0,0 +1,73 @@ +// +// UserPoolMFAViewController.swift +// MySampleApp +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from template: aws-my-sample-app-ios-swift v0.12 +// +// + +import Foundation +import AWSMobileHubHelper +import AWSCognitoIdentityProvider + +class UserPoolMFAViewController: UIViewController { + + var destination: String? + var mfaCodeCompletionSource: AWSTaskCompletionSource? + + @IBOutlet weak var codeSentTo: UILabel! + @IBOutlet weak var authenticationCode: UITextField! + + override func viewWillAppear(_ animated: Bool) { + super.viewWillAppear(animated) + self.codeSentTo.text = self.destination + self.authenticationCode.text = nil + } + + override func viewDidLoad() { + super.viewDidLoad() + // perform any action, if required, once the view is loaded + } + + @IBAction func onSignIn(_ sender: AnyObject) { + // check if the user is not providing an empty authentication code + guard let authenticationCodeValue = self.authenticationCode.text, !authenticationCodeValue.isEmpty else { + UIAlertView(title: "Authentication Code Missing", + message: "Please enter the authentication code you received by E-mail / SMS.", + delegate: nil, + cancelButtonTitle: "Ok").show() + return + } + self.mfaCodeCompletionSource?.set(result: authenticationCodeValue as NSString) + } + + @IBAction func onCancel(_ sender: AnyObject) { + self.presentingViewController?.dismiss(animated: true, completion: nil) + } +} + +extension UserPoolMFAViewController : AWSCognitoIdentityMultiFactorAuthentication { + + func didCompleteMultifactorAuthenticationStepWithError(_ error: Error?) { + if let localError = error as? NSError { + DispatchQueue.main.async(execute: { + UIAlertView(title: localError.userInfo["__type"] as? String, + message: localError.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: nil).show() + }) + } + } + + func getCode(_ authenticationInput: AWSCognitoIdentityMultifactorAuthenticationInput, mfaCodeCompletionSource: AWSTaskCompletionSource) { + self.mfaCodeCompletionSource = mfaCodeCompletionSource + self.destination = authenticationInput.destination + } + +} diff --git a/My Mind/My Mind/UserPools/UserPoolNewPasswordViewController.swift b/My Mind/My Mind/UserPools/UserPoolNewPasswordViewController.swift new file mode 100755 index 0000000..c262736 --- /dev/null +++ b/My Mind/My Mind/UserPools/UserPoolNewPasswordViewController.swift @@ -0,0 +1,64 @@ +// +// UserPoolNewPasswordViewController.swift +// MySampleApp +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from template: aws-my-sample-app-ios-swift v0.12 +// +// + +import Foundation +import AWSCognitoIdentityProvider +import AWSMobileHubHelper + +class UserPoolNewPasswordViewController: UIViewController { + + var user: AWSCognitoIdentityUser? + + @IBOutlet weak var confirmationCode: UITextField! + @IBOutlet weak var updatedPassword: UITextField! + + override func viewDidLoad() { + super.viewDidLoad() + } + + + @IBAction func onUpdatePassword(_ sender: AnyObject) { + guard let confirmationCodeValue = self.confirmationCode.text, !confirmationCodeValue.isEmpty else { + UIAlertView(title: "Password Field Empty", + message: "Please enter a password of your choice.", + delegate: nil, + cancelButtonTitle: "Ok").show() + return + } + //confirm forgot password with input from ui. + _ = self.user?.confirmForgotPassword(confirmationCodeValue, password: self.updatedPassword.text!).continueWith(block: {[weak self] (task: AWSTask) -> AnyObject? in + guard let strongSelf = self else { return nil } + DispatchQueue.main.async(execute: { + if let error = task.error as? NSError { + UIAlertView(title: error.userInfo["__type"] as? String, + message: error.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: "Ok").show() + } else { + UIAlertView(title: "Password Reset Complete", + message: "Password Reset was completed successfully.", + delegate: nil, + cancelButtonTitle: "Ok").show() + strongSelf.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil) + } + }) + return nil + }) + } + + @IBAction func onCancel(_ sender: AnyObject) { + self.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil) + } + +} diff --git a/My Mind/My Mind/UserPools/UserPoolSignUpConfirmationViewController.swift b/My Mind/My Mind/UserPools/UserPoolSignUpConfirmationViewController.swift new file mode 100755 index 0000000..ffa5424 --- /dev/null +++ b/My Mind/My Mind/UserPools/UserPoolSignUpConfirmationViewController.swift @@ -0,0 +1,85 @@ +// +// UserPoolSignUpConfirmationViewController.swift +// MySampleApp +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from template: aws-my-sample-app-ios-swift v0.12 +// +// + +import Foundation +import UIKit +import AWSCognitoIdentityProvider +import AWSMobileHubHelper + +class UserPoolSignUpConfirmationViewController : UIViewController { + + var sentTo: String? + var user: AWSCognitoIdentityUser? + + @IBOutlet weak var codeSentTo: UILabel! + @IBOutlet weak var userName: UITextField! + @IBOutlet weak var confirmationCode: UITextField! + + override func viewDidLoad() { + super.viewDidLoad() + self.userName.text = self.user!.username; + } + + @IBAction func onConfirm(_ sender: AnyObject) { + guard let confirmationCodeValue = self.confirmationCode.text, !confirmationCodeValue.isEmpty else { + UIAlertView(title: "Confirmation code missing.", + message: "Please enter a valid confirmation code.", + delegate: nil, + cancelButtonTitle: "Ok").show() + return + } + self.user?.confirmSignUp(self.confirmationCode.text!, forceAliasCreation: true).continueWith(block: {[weak self] (task: AWSTask) -> AnyObject? in + guard let strongSelf = self else { return nil } + DispatchQueue.main.async(execute: { + if let error = task.error as? NSError { + UIAlertView(title: error.userInfo["__type"] as? String, + message: error.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: "Ok").show() + } else { + UIAlertView(title: "Registration Complete", + message: "Registration was successful.", + delegate: nil, + cancelButtonTitle: "Ok").show() + strongSelf.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil) + } + }) + return nil + }) + } + + @IBAction func onResendConfirmationCode(_ sender: AnyObject) { + self.user?.resendConfirmationCode().continueWith(block: {[weak self] (task: AWSTask) -> AnyObject? in + guard let _ = self else { return nil } + DispatchQueue.main.async(execute: { + if let error = task.error as? NSError { + UIAlertView(title: error.userInfo["__type"] as? String, + message: error.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: "Ok").show() + } else if let result = task.result as AWSCognitoIdentityUserResendConfirmationCodeResponse! { + UIAlertView(title: "Code Resent", + message: "Code resent to \(result.codeDeliveryDetails?.destination!)", + delegate: nil, + cancelButtonTitle: "Ok").show() + } + }) + return nil + }) + } + + @IBAction func onCancel(_ sender: AnyObject) { + self.presentingViewController?.presentingViewController?.dismiss(animated: true, completion: nil) + } +} diff --git a/My Mind/My Mind/UserPools/UserPoolSignUpViewController.swift b/My Mind/My Mind/UserPools/UserPoolSignUpViewController.swift new file mode 100755 index 0000000..1dc8413 --- /dev/null +++ b/My Mind/My Mind/UserPools/UserPoolSignUpViewController.swift @@ -0,0 +1,104 @@ +// +// UserPoolSignUpViewController.swift +// MySampleApp +// +// +// Copyright 2017 Amazon.com, Inc. or its affiliates (Amazon). All Rights Reserved. +// +// Code generated by AWS Mobile Hub. Amazon gives unlimited permission to +// copy, distribute and modify it. +// +// Source code generated from template: aws-my-sample-app-ios-swift v0.12 +// +// + +import Foundation +import UIKit +import AWSMobileHubHelper +import AWSCognitoIdentityProvider + +class UserPoolSignUpViewController: UIViewController { + + var pool: AWSCognitoIdentityUserPool? + var sentTo: String? + + @IBOutlet weak var userName: UITextField! + @IBOutlet weak var password: UITextField! + + @IBOutlet weak var phone: UITextField! + @IBOutlet weak var email: UITextField! + + override func viewDidLoad() { + super.viewDidLoad() + self.pool = AWSCognitoIdentityUserPool.init(forKey: AWSCognitoUserPoolsSignInProviderKey) + } + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + if let signUpConfirmationViewController = segue.destination as? UserPoolSignUpConfirmationViewController { + signUpConfirmationViewController.sentTo = self.sentTo + signUpConfirmationViewController.user = self.pool?.getUser(self.userName.text!) + } + } + + @IBAction func onSignUp(_ sender: AnyObject) { + + guard let userNameValue = self.userName.text, !userNameValue.isEmpty, + let passwordValue = self.password.text, !passwordValue.isEmpty else { + UIAlertView(title: "Missing Required Fields", + message: "Username / Password are required for registration.", + delegate: nil, + cancelButtonTitle: "Ok").show() + return + } + + var attributes = [AWSCognitoIdentityUserAttributeType]() + + if let phoneValue = self.phone.text, !phoneValue.isEmpty { + let phone = AWSCognitoIdentityUserAttributeType() + phone?.name = "phone_number" + phone?.value = phoneValue + attributes.append(phone!) + } + + if let emailValue = self.email.text, !emailValue.isEmpty { + let email = AWSCognitoIdentityUserAttributeType() + email?.name = "email" + email?.value = emailValue + attributes.append(email!) + } + + //sign up the user + self.pool?.signUp(userNameValue, password: passwordValue, userAttributes: attributes, validationData: nil).continueWith {[weak self] (task: AWSTask) -> AnyObject? in + guard let strongSelf = self else { return nil } + DispatchQueue.main.async(execute: { + if let error = task.error as? NSError { + UIAlertView(title: error.userInfo["__type"] as? String, + message: error.userInfo["message"] as? String, + delegate: nil, + cancelButtonTitle: "Ok").show() + return + } + + if let result = task.result as AWSCognitoIdentityUserPoolSignUpResponse! { + // handle the case where user has to confirm his identity via email / SMS + if (result.user.confirmedStatus != AWSCognitoIdentityUserStatus.confirmed) { + strongSelf.sentTo = result.codeDeliveryDetails?.destination + strongSelf.performSegue(withIdentifier: "SignUpConfirmSegue", sender:sender) + } else { + UIAlertView(title: "Registration Complete", + message: "Registration was successful.", + delegate: nil, + cancelButtonTitle: "Ok").show() + strongSelf.presentingViewController?.dismiss(animated: true, completion: nil) + } + } + + }) + return nil + } + } + + @IBAction func onCancel(_ sender: AnyObject) { + self.presentingViewController?.dismiss(animated: true, completion: nil) + } +} diff --git a/My Mind/My Mind/UserViews.swift b/My Mind/My Mind/UserViews.swift new file mode 100644 index 0000000..70e8169 --- /dev/null +++ b/My Mind/My Mind/UserViews.swift @@ -0,0 +1,149 @@ +// +// LoginView.swift +// My Mind +// +// Created by Alexander Davis on 31/03/2017. +// Copyright © 2017 Alexander Davis. All rights reserved. +// + +import UIKit +import AWSMobileHubHelper +import AWSCognitoIdentityProvider + +class LoginView: UIViewController { + + override var preferredStatusBarStyle: UIStatusBarStyle { + return .lightContent + } + + @IBOutlet weak var anchorView: UIView! + + @IBOutlet weak var customProviderButton: UIButton! + @IBOutlet weak var customCreateAccountButton: UIButton! + @IBOutlet weak var customForgotPasswordButton: UIButton! + @IBOutlet weak var customUserIdField: UITextField! + @IBOutlet weak var customPasswordField: UITextField! + @IBOutlet weak var leftHorizontalBar: UIView! + @IBOutlet weak var rightHorizontalBar: UIView! + @IBOutlet weak var orSignInWithLabel: UIView! + + var didSignInObserver: AnyObject! + + var passwordAuthenticationCompletion: AWSTaskCompletionSource? + + // MARK: - View lifecycle + + override func viewDidLoad() { + super.viewDidLoad() + print("Sign In Loading.") + + + didSignInObserver = NotificationCenter.default.addObserver(forName: NSNotification.Name.AWSIdentityManagerDidSignIn, + object: AWSIdentityManager.default(), + queue: OperationQueue.main, + using: {(note: Notification) -> Void in + let storyboard = UIStoryboard(name: "Main", bundle: nil) + let viewController = storyboard.instantiateViewController(withIdentifier: "MainController") + //self.present(viewController, animated:true, completion:nil); + self.present(viewController, animated: true, completion:nil); + // perform successful login actions here */ + + }) + + // NotificationCenter.default.addObserver(self, selector: #selector(loginSuccess), name: NSNotification.Name.AWSIdentityManagerDidSignIn, object: AWSIdentityManager.default()); + + customProviderButton.addTarget(self, action: #selector(self.handleCustomSignIn), for: .touchUpInside) + customCreateAccountButton.addTarget(self, action: #selector(self.handleUserPoolSignUp), for: .touchUpInside) + customForgotPasswordButton.addTarget(self, action: #selector(self.handleUserPoolForgotPassword), for: .touchUpInside) + } + + deinit { + NotificationCenter.default.removeObserver(didSignInObserver) + } + + func dimissController() { + self.dismiss(animated: true, completion: nil) + } + + func loginSuccess() -> Void { + print("success login"); + } + + + func startNewPasswordRequired() -> AWSCognitoIdentityNewPasswordRequired { + let storyboard = UIStoryboard(name: "Login", bundle: nil) + let viewController = storyboard.instantiateViewController(withIdentifier: "PwdChange") + self.present(viewController, animated: true, completion:nil) + return ChangePasswordView.self as! AWSCognitoIdentityNewPasswordRequired; + } + + // MARK: - Utility Methods + + func handleLoginWithSignInProvider(_ signInProvider: AWSSignInProvider) { + AWSIdentityManager.default().login(signInProvider: signInProvider, completionHandler: {(result: Any?, error: Error?) in + // If no error reported by SignInProvider, discard the sign-in view controller. + if error == nil { + DispatchQueue.main.async(execute: { + self.presentingViewController?.dismiss(animated: true, completion: nil) + }) + } + print("result = \(String(describing: result)), error = \(String(describing: error))") + }) + } + + func showErrorDialog(_ loginProviderName: String, withError error: NSError) { + print("\(loginProviderName) failed to sign in w/ error: \(error)") + let alertController = UIAlertController(title: NSLocalizedString("Sign-in Provider Sign-In Error", comment: "Sign-in error for sign-in failure."), message: NSLocalizedString("\(loginProviderName) failed to sign in w/ error: \(error)", comment: "Sign-in message structure for sign-in failure."), preferredStyle: .alert) + let doneAction = UIAlertAction(title: NSLocalizedString("Cancel", comment: "Label to cancel sign-in failure."), style: .cancel, handler: nil) + alertController.addAction(doneAction) + present(alertController, animated: true, completion: nil) + } + + // MARK: - IBActions + + +} + +class ChangePasswordView: UIViewController{ + var newPasswordCompletion: AWSTaskCompletionSource? + + override var preferredStatusBarStyle: UIStatusBarStyle { + return .lightContent + } + +} + +extension ChangePasswordView: AWSCognitoIdentityNewPasswordRequired { + func getNewPasswordDetails(_ newPasswordRequiredInput: AWSCognitoIdentityNewPasswordRequiredInput, newPasswordRequiredCompletionSource: + AWSTaskCompletionSource) { + self.newPasswordCompletion = newPasswordRequiredCompletionSource + } + + func didCompleteNewPasswordStepWithError(_ error: Error?) { + if let error = error as NSError? { + // Handle error + } else { + // Handle success, in my case simply dismiss the view controller + self.dismiss(animated: true, completion: nil) + } + } + +} + +class AccountSettings: UIViewController{ + @IBAction func Logout(_ sender: UIButton) { + let pool = AWSCognitoIdentityUserPool(forKey: "UserPool") + let user = pool.currentUser() + user?.signOut() + + let storyboard = UIStoryboard(name: "Main", bundle: nil) + let viewController = storyboard.instantiateViewController(withIdentifier: "OnBoard") + //self.present(viewController, animated:true, completion:nil); + self.present(viewController, animated: true, completion:nil); + } + override var preferredStatusBarStyle: UIStatusBarStyle { + return .lightContent + } + + +} diff --git a/My Mind/My Mind/SettingsView.swift b/My Mind/My Mind/WelcomeScreenOne.swift similarity index 67% rename from My Mind/My Mind/SettingsView.swift rename to My Mind/My Mind/WelcomeScreenOne.swift index 319d9e4..ae853e4 100644 --- a/My Mind/My Mind/SettingsView.swift +++ b/My Mind/My Mind/WelcomeScreenOne.swift @@ -1,15 +1,15 @@ // -// SettingsView.swift +// WelcomeScreenOne.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // import Foundation import UIKit -class Settings : UIViewController { +class PageOne : UIViewController { override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent diff --git a/My Mind/My Mind/AppointmentView.swift b/My Mind/My Mind/WelcomeScreenThree.swift similarity index 66% rename from My Mind/My Mind/AppointmentView.swift rename to My Mind/My Mind/WelcomeScreenThree.swift index 536586b..502dbfb 100644 --- a/My Mind/My Mind/AppointmentView.swift +++ b/My Mind/My Mind/WelcomeScreenThree.swift @@ -1,15 +1,15 @@ // -// AppointmentView.swift +// WelcomeScreenThree.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // import Foundation import UIKit -class Appointments : UIViewController { +class PageThree : UIViewController { override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent diff --git a/My Mind/My Mind/EmergencyView.swift b/My Mind/My Mind/WelcomeScreenTwo.swift similarity index 67% rename from My Mind/My Mind/EmergencyView.swift rename to My Mind/My Mind/WelcomeScreenTwo.swift index 087a216..29edc23 100644 --- a/My Mind/My Mind/EmergencyView.swift +++ b/My Mind/My Mind/WelcomeScreenTwo.swift @@ -1,15 +1,15 @@ // -// EmergencyView.swift +// WelcomeScreenTwo.swift // My Mind // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // import Foundation import UIKit -class Contacts : UIViewController { +class PageTwo : UIViewController { override var preferredStatusBarStyle: UIStatusBarStyle { return .lightContent diff --git a/My Mind/My MindTests/My_MindTests.swift b/My Mind/My MindTests/My_MindTests.swift index a09c0a0..5ead917 100644 --- a/My Mind/My MindTests/My_MindTests.swift +++ b/My Mind/My MindTests/My_MindTests.swift @@ -2,7 +2,7 @@ // My_MindTests.swift // My MindTests // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // diff --git a/My Mind/My MindUITests/My_MindUITests.swift b/My Mind/My MindUITests/My_MindUITests.swift index 0db770a..af3408a 100644 --- a/My Mind/My MindUITests/My_MindUITests.swift +++ b/My Mind/My MindUITests/My_MindUITests.swift @@ -2,7 +2,7 @@ // My_MindUITests.swift // My MindUITests // -// Created by Alexander Davis on 02/04/2017. +// Created by Alexander Davis on 30/03/2017. // Copyright © 2017 Alexander Davis. All rights reserved. // diff --git a/My Mind/OnBoard.storyboard b/My Mind/OnBoard.storyboard deleted file mode 100644 index 0606be0..0000000 --- a/My Mind/OnBoard.storyboard +++ /dev/null @@ -1,177 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/Podfile b/My Mind/Podfile deleted file mode 100644 index 6af6683..0000000 --- a/My Mind/Podfile +++ /dev/null @@ -1,14 +0,0 @@ -# Uncomment the next line to define a global platform for your project -# platform :ios, '9.0' - -target 'My Mind' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for My Mind - source 'https://github.com/CocoaPods/Specs.git' - platform :ios, '10.0' - - pod 'SwiftForms' - -end diff --git a/My Mind/Podfile.lock b/My Mind/Podfile.lock deleted file mode 100644 index a160760..0000000 --- a/My Mind/Podfile.lock +++ /dev/null @@ -1,12 +0,0 @@ -PODS: - - SwiftForms (1.7) - -DEPENDENCIES: - - SwiftForms - -SPEC CHECKSUMS: - SwiftForms: 3f3dbaa79fe54eb1ccd0aca8d0cd1e38eb00537e - -PODFILE CHECKSUM: 151404a3c6461c3500cb5ad53873feed64782084 - -COCOAPODS: 1.2.0 diff --git a/My Mind/Pods/Manifest.lock b/My Mind/Pods/Manifest.lock deleted file mode 100644 index a160760..0000000 --- a/My Mind/Pods/Manifest.lock +++ /dev/null @@ -1,12 +0,0 @@ -PODS: - - SwiftForms (1.7) - -DEPENDENCIES: - - SwiftForms - -SPEC CHECKSUMS: - SwiftForms: 3f3dbaa79fe54eb1ccd0aca8d0cd1e38eb00537e - -PODFILE CHECKSUM: 151404a3c6461c3500cb5ad53873feed64782084 - -COCOAPODS: 1.2.0 diff --git a/My Mind/Pods/Pods.xcodeproj/project.pbxproj b/My Mind/Pods/Pods.xcodeproj/project.pbxproj deleted file mode 100644 index 62f378b..0000000 --- a/My Mind/Pods/Pods.xcodeproj/project.pbxproj +++ /dev/null @@ -1,636 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 03EF3F933BB7251A1855CC94603DEC65 /* FormTextViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1E0442D246B6BE5D63794A8272CD29D7 /* FormTextViewCell.swift */; }; - 07C50FD8924C352E6192E17407164548 /* FormTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6457A2AD94C92744CD529A259963A815 /* FormTitleCell.swift */; }; - 0C7BA74D44509C4986CD91162B3EACD2 /* Pods-My Mind-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 5D773D6E8A4D08EA369BA62CBB15C96D /* Pods-My Mind-dummy.m */; }; - 13631CF19ACBBA00003AE4FF6E80A950 /* SwiftForms-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = FDBC4734700A671C779EA1E95AB491DE /* SwiftForms-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 14A9620A964C13211F1EA8A2C0B22F8A /* FormButtonCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE6C8D17D783210FA4F2135AFC7916FD /* FormButtonCell.swift */; }; - 1A955F2BB60628E3623F62E5A0A21CA9 /* FormStepperCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3392BDF079C5F5110F21F7FF6D2A9CB6 /* FormStepperCell.swift */; }; - 2C8C7B65A39424B4877895B6B49B1A45 /* FormBaseCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9CBF1A92E42C705D845954FA5022B5A2 /* FormBaseCell.swift */; }; - 3746ACDA34C83B83E0B761CA2427AF45 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; - 3B17D2DBF7FAD1D61DC2EA1820B39C58 /* FormLabelCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC9694CA0CCB81F33F7401D39E62F6AC /* FormLabelCell.swift */; }; - 3DE2D07D73CBE76023937DD2C8A52DA5 /* FormRowDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 779CFE9CE7E3C9DF648387F479F8B136 /* FormRowDescriptor.swift */; }; - 559644BAD1D89F61959C5F9A2A29DA05 /* FormSliderCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 414D52CE9DE007B0034F186E334938B0 /* FormSliderCell.swift */; }; - 66A1F137D80EC517C5BA912E0896E0B1 /* FormOptionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BCA69E49E73FACABB6836F7ABDE5CFEA /* FormOptionsViewController.swift */; }; - 71F121A2694B47FEE7AD4820596B9C5A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */; }; - 82410AA8266CE2A9E535A82E3581C07D /* FormDateCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8704DCCB3EE207F1B48B58E6D98D30B4 /* FormDateCell.swift */; }; - 90C734E50A52D9134711E065EF61AF74 /* FormCheckCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F08D64CD66CA323CA3BD90B78CCFDF8 /* FormCheckCell.swift */; }; - 99EA20C0AE4622CF0EE25D99DBEC8D91 /* SwiftForms-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D2A074BADC9C26DBD8651FA2717962A /* SwiftForms-dummy.m */; }; - 9C5DFD2AEDD675AD1C43D2DB64B484D3 /* FormSegmentedControlCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C2EEDBA44BDD15023CDE3C3AAB2862ED /* FormSegmentedControlCell.swift */; }; - 9CAEA25DD38FEBD23E16488DD196FDDD /* FormPickerCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2791E57E6C92C67EF47313BD1472F157 /* FormPickerCell.swift */; }; - A1C3C3F28D353A1AC564CDC5B52E4E85 /* FormValueCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BF069E602A7B33C4CA309B381B899ADA /* FormValueCell.swift */; }; - A50C14E484188D2D4EC6A6FD14FCA196 /* FormTextFieldCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 287AD7B612AC84C8522177DDA99A7D3E /* FormTextFieldCell.swift */; }; - A92CBEE5843E6C47D2E2FAF016E92242 /* FormSwitchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D7828A1FBE7FF6B63B5AF1C1870226E /* FormSwitchCell.swift */; }; - BEA9B2179B3019F3C09D5AA4D30631D8 /* FormSelector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F164AC8B6863637ADC41FADF29F81D0 /* FormSelector.swift */; }; - C429747674AB0C639C41B70836F11F3F /* Pods-My Mind-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 58B766CB74D8B5A07596DCB37A3EB579 /* Pods-My Mind-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CA6F4D9178F0E4AC67FBD0B72C650D08 /* FormSelectorCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0B32BB291079004139037A1E02979B18 /* FormSelectorCell.swift */; }; - D49EDC86FBB50663006E51EFC89AF8CD /* FormViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BC634DB4E68B431AE9845A139E8BC780 /* FormViewController.swift */; }; - DABC76BFB50777F18A45BDD9C7AED299 /* FormSectionDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = AE9729E66ED6974E55471C264D7E9F40 /* FormSectionDescriptor.swift */; }; - F248C607B8B918D558072A73B1F798DC /* FormErrorType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9965589ABC4D4A27DA470B4410CB0382 /* FormErrorType.swift */; }; - F9D30ABD8814CDD8A0F7A971D4BC0FAA /* FormDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 462B26F93955ABF531DB2A727EF8F840 /* FormDescriptor.swift */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 40FEB4AE19752E6CA4DBD84A7E1FF5C5 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; - proxyType = 1; - remoteGlobalIDString = 7C88BBED096F0D59AE5BF5BB6F95A358; - remoteInfo = SwiftForms; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 022676B8F22402DBC50BE1A0B8DD4FD4 /* Pods-My Mind.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-My Mind.modulemap"; sourceTree = ""; }; - 0A57199DBEA3CA847CAE8E043FC2E457 /* Pods-My Mind.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-My Mind.debug.xcconfig"; sourceTree = ""; }; - 0B32BB291079004139037A1E02979B18 /* FormSelectorCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormSelectorCell.swift; path = SwiftForms/cells/FormSelectorCell.swift; sourceTree = ""; }; - 0D7828A1FBE7FF6B63B5AF1C1870226E /* FormSwitchCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormSwitchCell.swift; path = SwiftForms/cells/FormSwitchCell.swift; sourceTree = ""; }; - 1E0442D246B6BE5D63794A8272CD29D7 /* FormTextViewCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormTextViewCell.swift; path = SwiftForms/cells/FormTextViewCell.swift; sourceTree = ""; }; - 1E9596DA53A5D63845EB86C8F80BD3CB /* SwiftForms-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftForms-prefix.pch"; sourceTree = ""; }; - 2791E57E6C92C67EF47313BD1472F157 /* FormPickerCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormPickerCell.swift; path = SwiftForms/cells/FormPickerCell.swift; sourceTree = ""; }; - 287AD7B612AC84C8522177DDA99A7D3E /* FormTextFieldCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormTextFieldCell.swift; path = SwiftForms/cells/FormTextFieldCell.swift; sourceTree = ""; }; - 3258E5EDEBE9426F23F1ED1D835D80E8 /* Pods_My_Mind.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_My_Mind.framework; path = "Pods-My Mind.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3392BDF079C5F5110F21F7FF6D2A9CB6 /* FormStepperCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormStepperCell.swift; path = SwiftForms/cells/FormStepperCell.swift; sourceTree = ""; }; - 3AD9B5B8C30C59FDA839FF3D4B18F57F /* Pods-My Mind-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-My Mind-resources.sh"; sourceTree = ""; }; - 414D52CE9DE007B0034F186E334938B0 /* FormSliderCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormSliderCell.swift; path = SwiftForms/cells/FormSliderCell.swift; sourceTree = ""; }; - 462B26F93955ABF531DB2A727EF8F840 /* FormDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormDescriptor.swift; path = SwiftForms/descriptors/FormDescriptor.swift; sourceTree = ""; }; - 58B766CB74D8B5A07596DCB37A3EB579 /* Pods-My Mind-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-My Mind-umbrella.h"; sourceTree = ""; }; - 5D773D6E8A4D08EA369BA62CBB15C96D /* Pods-My Mind-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-My Mind-dummy.m"; sourceTree = ""; }; - 5F08D64CD66CA323CA3BD90B78CCFDF8 /* FormCheckCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormCheckCell.swift; path = SwiftForms/cells/FormCheckCell.swift; sourceTree = ""; }; - 5F164AC8B6863637ADC41FADF29F81D0 /* FormSelector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormSelector.swift; path = SwiftForms/controllers/FormSelector.swift; sourceTree = ""; }; - 6457A2AD94C92744CD529A259963A815 /* FormTitleCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormTitleCell.swift; path = SwiftForms/cells/base/FormTitleCell.swift; sourceTree = ""; }; - 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - 70D83ACF9E83D5C34BD3C6CCDB48DDCE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 75C470EF25905B747DB66014970805D2 /* SwiftForms.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftForms.xcconfig; sourceTree = ""; }; - 779CFE9CE7E3C9DF648387F479F8B136 /* FormRowDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormRowDescriptor.swift; path = SwiftForms/descriptors/FormRowDescriptor.swift; sourceTree = ""; }; - 7E7D16F1C508025CE290F3AF400A9A2E /* Pods-My Mind-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-My Mind-acknowledgements.plist"; sourceTree = ""; }; - 8704DCCB3EE207F1B48B58E6D98D30B4 /* FormDateCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormDateCell.swift; path = SwiftForms/cells/FormDateCell.swift; sourceTree = ""; }; - 8D2A074BADC9C26DBD8651FA2717962A /* SwiftForms-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftForms-dummy.m"; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9965589ABC4D4A27DA470B4410CB0382 /* FormErrorType.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormErrorType.swift; path = SwiftForms/FormErrorType.swift; sourceTree = ""; }; - 9CBF1A92E42C705D845954FA5022B5A2 /* FormBaseCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormBaseCell.swift; path = SwiftForms/cells/base/FormBaseCell.swift; sourceTree = ""; }; - A9052E612873E18154BCD8BE797E4088 /* Pods-My Mind.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-My Mind.release.xcconfig"; sourceTree = ""; }; - AB91AB87E82CBF4568B660DE620E93D1 /* SwiftForms.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftForms.modulemap; sourceTree = ""; }; - AE9729E66ED6974E55471C264D7E9F40 /* FormSectionDescriptor.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormSectionDescriptor.swift; path = SwiftForms/descriptors/FormSectionDescriptor.swift; sourceTree = ""; }; - BC634DB4E68B431AE9845A139E8BC780 /* FormViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormViewController.swift; path = SwiftForms/controllers/FormViewController.swift; sourceTree = ""; }; - BCA69E49E73FACABB6836F7ABDE5CFEA /* FormOptionsViewController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormOptionsViewController.swift; path = SwiftForms/controllers/FormOptionsViewController.swift; sourceTree = ""; }; - BF069E602A7B33C4CA309B381B899ADA /* FormValueCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormValueCell.swift; path = SwiftForms/cells/base/FormValueCell.swift; sourceTree = ""; }; - C2EEDBA44BDD15023CDE3C3AAB2862ED /* FormSegmentedControlCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormSegmentedControlCell.swift; path = SwiftForms/cells/FormSegmentedControlCell.swift; sourceTree = ""; }; - C80642FD21D2FEB45826BAC06B2FA99B /* SwiftForms.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftForms.framework; path = SwiftForms.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CE6C8D17D783210FA4F2135AFC7916FD /* FormButtonCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormButtonCell.swift; path = SwiftForms/cells/FormButtonCell.swift; sourceTree = ""; }; - D868AE79960303F26602C164E13DEE09 /* Pods-My Mind-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-My Mind-acknowledgements.markdown"; sourceTree = ""; }; - EAEF8B9A7A8BB3C570A810595F1CD946 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - FC9694CA0CCB81F33F7401D39E62F6AC /* FormLabelCell.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FormLabelCell.swift; path = SwiftForms/cells/FormLabelCell.swift; sourceTree = ""; }; - FDBC4734700A671C779EA1E95AB491DE /* SwiftForms-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftForms-umbrella.h"; sourceTree = ""; }; - FEBEAD6123DCBBBCA0982CF92D6F222A /* Pods-My Mind-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-My Mind-frameworks.sh"; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 2E5568F0C0388DB5422A0FF5C9D4340B /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 3746ACDA34C83B83E0B761CA2427AF45 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 62C06DE3E53A47AE58A64713E66052D3 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 71F121A2694B47FEE7AD4820596B9C5A /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 285A40EEC8D15E6425A802DCA6C2D1DF /* SwiftForms */ = { - isa = PBXGroup; - children = ( - 9CBF1A92E42C705D845954FA5022B5A2 /* FormBaseCell.swift */, - CE6C8D17D783210FA4F2135AFC7916FD /* FormButtonCell.swift */, - 5F08D64CD66CA323CA3BD90B78CCFDF8 /* FormCheckCell.swift */, - 8704DCCB3EE207F1B48B58E6D98D30B4 /* FormDateCell.swift */, - 462B26F93955ABF531DB2A727EF8F840 /* FormDescriptor.swift */, - 9965589ABC4D4A27DA470B4410CB0382 /* FormErrorType.swift */, - FC9694CA0CCB81F33F7401D39E62F6AC /* FormLabelCell.swift */, - BCA69E49E73FACABB6836F7ABDE5CFEA /* FormOptionsViewController.swift */, - 2791E57E6C92C67EF47313BD1472F157 /* FormPickerCell.swift */, - 779CFE9CE7E3C9DF648387F479F8B136 /* FormRowDescriptor.swift */, - AE9729E66ED6974E55471C264D7E9F40 /* FormSectionDescriptor.swift */, - C2EEDBA44BDD15023CDE3C3AAB2862ED /* FormSegmentedControlCell.swift */, - 5F164AC8B6863637ADC41FADF29F81D0 /* FormSelector.swift */, - 0B32BB291079004139037A1E02979B18 /* FormSelectorCell.swift */, - 414D52CE9DE007B0034F186E334938B0 /* FormSliderCell.swift */, - 3392BDF079C5F5110F21F7FF6D2A9CB6 /* FormStepperCell.swift */, - 0D7828A1FBE7FF6B63B5AF1C1870226E /* FormSwitchCell.swift */, - 287AD7B612AC84C8522177DDA99A7D3E /* FormTextFieldCell.swift */, - 1E0442D246B6BE5D63794A8272CD29D7 /* FormTextViewCell.swift */, - 6457A2AD94C92744CD529A259963A815 /* FormTitleCell.swift */, - BF069E602A7B33C4CA309B381B899ADA /* FormValueCell.swift */, - BC634DB4E68B431AE9845A139E8BC780 /* FormViewController.swift */, - ACF1C5C7147FB66FF31EF5238BCD23E4 /* Support Files */, - ); - name = SwiftForms; - path = SwiftForms; - sourceTree = ""; - }; - 7DB346D0F39D3F0E887471402A8071AB = { - isa = PBXGroup; - children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */, - FCD0D99CB0CABE779274F20E03F26BF3 /* Pods */, - B6B6B83F1A0657BD51A58C75F7E58530 /* Products */, - 9F272CB3B6AD25AE526BE31CF1A3EEE8 /* Targets Support Files */, - ); - sourceTree = ""; - }; - 8ED74E6C79FEB403C3D668FE4CF1CDB2 /* Pods-My Mind */ = { - isa = PBXGroup; - children = ( - EAEF8B9A7A8BB3C570A810595F1CD946 /* Info.plist */, - 022676B8F22402DBC50BE1A0B8DD4FD4 /* Pods-My Mind.modulemap */, - D868AE79960303F26602C164E13DEE09 /* Pods-My Mind-acknowledgements.markdown */, - 7E7D16F1C508025CE290F3AF400A9A2E /* Pods-My Mind-acknowledgements.plist */, - 5D773D6E8A4D08EA369BA62CBB15C96D /* Pods-My Mind-dummy.m */, - FEBEAD6123DCBBBCA0982CF92D6F222A /* Pods-My Mind-frameworks.sh */, - 3AD9B5B8C30C59FDA839FF3D4B18F57F /* Pods-My Mind-resources.sh */, - 58B766CB74D8B5A07596DCB37A3EB579 /* Pods-My Mind-umbrella.h */, - 0A57199DBEA3CA847CAE8E043FC2E457 /* Pods-My Mind.debug.xcconfig */, - A9052E612873E18154BCD8BE797E4088 /* Pods-My Mind.release.xcconfig */, - ); - name = "Pods-My Mind"; - path = "Target Support Files/Pods-My Mind"; - sourceTree = ""; - }; - 9F272CB3B6AD25AE526BE31CF1A3EEE8 /* Targets Support Files */ = { - isa = PBXGroup; - children = ( - 8ED74E6C79FEB403C3D668FE4CF1CDB2 /* Pods-My Mind */, - ); - name = "Targets Support Files"; - sourceTree = ""; - }; - ACF1C5C7147FB66FF31EF5238BCD23E4 /* Support Files */ = { - isa = PBXGroup; - children = ( - 70D83ACF9E83D5C34BD3C6CCDB48DDCE /* Info.plist */, - AB91AB87E82CBF4568B660DE620E93D1 /* SwiftForms.modulemap */, - 75C470EF25905B747DB66014970805D2 /* SwiftForms.xcconfig */, - 8D2A074BADC9C26DBD8651FA2717962A /* SwiftForms-dummy.m */, - 1E9596DA53A5D63845EB86C8F80BD3CB /* SwiftForms-prefix.pch */, - FDBC4734700A671C779EA1E95AB491DE /* SwiftForms-umbrella.h */, - ); - name = "Support Files"; - path = "../Target Support Files/SwiftForms"; - sourceTree = ""; - }; - B6B6B83F1A0657BD51A58C75F7E58530 /* Products */ = { - isa = PBXGroup; - children = ( - 3258E5EDEBE9426F23F1ED1D835D80E8 /* Pods_My_Mind.framework */, - C80642FD21D2FEB45826BAC06B2FA99B /* SwiftForms.framework */, - ); - name = Products; - sourceTree = ""; - }; - BC3CA7F9E30CC8F7E2DD044DD34432FC /* Frameworks */ = { - isa = PBXGroup; - children = ( - D35AF013A5F0BAD4F32504907A52519E /* iOS */, - ); - name = Frameworks; - sourceTree = ""; - }; - D35AF013A5F0BAD4F32504907A52519E /* iOS */ = { - isa = PBXGroup; - children = ( - 6604A7D69453B4569E4E4827FB9155A9 /* Foundation.framework */, - ); - name = iOS; - sourceTree = ""; - }; - FCD0D99CB0CABE779274F20E03F26BF3 /* Pods */ = { - isa = PBXGroup; - children = ( - 285A40EEC8D15E6425A802DCA6C2D1DF /* SwiftForms */, - ); - name = Pods; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - 2E0BC26F0A617D9EB239BBB619FF8BAC /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - C429747674AB0C639C41B70836F11F3F /* Pods-My Mind-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - EDC43E23F92B99DE831A38277B456D39 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 13631CF19ACBBA00003AE4FF6E80A950 /* SwiftForms-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 33988396BCE45C5796DD8492DEF2041F /* Pods-My Mind */ = { - isa = PBXNativeTarget; - buildConfigurationList = 0681E253ADECF8232FC446EDF708E36B /* Build configuration list for PBXNativeTarget "Pods-My Mind" */; - buildPhases = ( - 3CBB4A6BA0AAB00E4F5B96D9105C5ECD /* Sources */, - 2E5568F0C0388DB5422A0FF5C9D4340B /* Frameworks */, - 2E0BC26F0A617D9EB239BBB619FF8BAC /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - 2B2F37FF3A808D8A04865A7EBD71AF0F /* PBXTargetDependency */, - ); - name = "Pods-My Mind"; - productName = "Pods-My Mind"; - productReference = 3258E5EDEBE9426F23F1ED1D835D80E8 /* Pods_My_Mind.framework */; - productType = "com.apple.product-type.framework"; - }; - 7C88BBED096F0D59AE5BF5BB6F95A358 /* SwiftForms */ = { - isa = PBXNativeTarget; - buildConfigurationList = F7F88DF26ADD5FC7753D2E02B27210FA /* Build configuration list for PBXNativeTarget "SwiftForms" */; - buildPhases = ( - 02A595511BA1136A400E342900E799E3 /* Sources */, - 62C06DE3E53A47AE58A64713E66052D3 /* Frameworks */, - EDC43E23F92B99DE831A38277B456D39 /* Headers */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SwiftForms; - productName = SwiftForms; - productReference = C80642FD21D2FEB45826BAC06B2FA99B /* SwiftForms.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { - isa = PBXProject; - attributes = { - LastSwiftUpdateCheck = 0830; - LastUpgradeCheck = 0700; - }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = B6B6B83F1A0657BD51A58C75F7E58530 /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 33988396BCE45C5796DD8492DEF2041F /* Pods-My Mind */, - 7C88BBED096F0D59AE5BF5BB6F95A358 /* SwiftForms */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXSourcesBuildPhase section */ - 02A595511BA1136A400E342900E799E3 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 2C8C7B65A39424B4877895B6B49B1A45 /* FormBaseCell.swift in Sources */, - 14A9620A964C13211F1EA8A2C0B22F8A /* FormButtonCell.swift in Sources */, - 90C734E50A52D9134711E065EF61AF74 /* FormCheckCell.swift in Sources */, - 82410AA8266CE2A9E535A82E3581C07D /* FormDateCell.swift in Sources */, - F9D30ABD8814CDD8A0F7A971D4BC0FAA /* FormDescriptor.swift in Sources */, - F248C607B8B918D558072A73B1F798DC /* FormErrorType.swift in Sources */, - 3B17D2DBF7FAD1D61DC2EA1820B39C58 /* FormLabelCell.swift in Sources */, - 66A1F137D80EC517C5BA912E0896E0B1 /* FormOptionsViewController.swift in Sources */, - 9CAEA25DD38FEBD23E16488DD196FDDD /* FormPickerCell.swift in Sources */, - 3DE2D07D73CBE76023937DD2C8A52DA5 /* FormRowDescriptor.swift in Sources */, - DABC76BFB50777F18A45BDD9C7AED299 /* FormSectionDescriptor.swift in Sources */, - 9C5DFD2AEDD675AD1C43D2DB64B484D3 /* FormSegmentedControlCell.swift in Sources */, - BEA9B2179B3019F3C09D5AA4D30631D8 /* FormSelector.swift in Sources */, - CA6F4D9178F0E4AC67FBD0B72C650D08 /* FormSelectorCell.swift in Sources */, - 559644BAD1D89F61959C5F9A2A29DA05 /* FormSliderCell.swift in Sources */, - 1A955F2BB60628E3623F62E5A0A21CA9 /* FormStepperCell.swift in Sources */, - A92CBEE5843E6C47D2E2FAF016E92242 /* FormSwitchCell.swift in Sources */, - A50C14E484188D2D4EC6A6FD14FCA196 /* FormTextFieldCell.swift in Sources */, - 03EF3F933BB7251A1855CC94603DEC65 /* FormTextViewCell.swift in Sources */, - 07C50FD8924C352E6192E17407164548 /* FormTitleCell.swift in Sources */, - A1C3C3F28D353A1AC564CDC5B52E4E85 /* FormValueCell.swift in Sources */, - D49EDC86FBB50663006E51EFC89AF8CD /* FormViewController.swift in Sources */, - 99EA20C0AE4622CF0EE25D99DBEC8D91 /* SwiftForms-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 3CBB4A6BA0AAB00E4F5B96D9105C5ECD /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 0C7BA74D44509C4986CD91162B3EACD2 /* Pods-My Mind-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 2B2F37FF3A808D8A04865A7EBD71AF0F /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftForms; - target = 7C88BBED096F0D59AE5BF5BB6F95A358 /* SwiftForms */; - targetProxy = 40FEB4AE19752E6CA4DBD84A7E1FF5C5 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 0C05EE70331FA55C2209CD58C75FD498 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = A9052E612873E18154BCD8BE797E4088 /* Pods-My Mind.release.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-My Mind/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-My Mind/Pods-My Mind.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_My_Mind; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 1ECDBFE19F75B50026F2AE72409054DA /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 75C470EF25905B747DB66014970805D2 /* SwiftForms.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SwiftForms/SwiftForms-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftForms/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftForms/SwiftForms.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = SwiftForms; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 43C67B241F8C48503D4EAD77E1433900 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 0A57199DBEA3CA847CAE8E043FC2E457 /* Pods-My Mind.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-My Mind/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-My Mind/Pods-My Mind.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_My_Mind; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 643C76AA582046977B7877822ED7A258 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 8328E94705188774EBEB34FAF4473804 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 75C470EF25905B747DB66014970805D2 /* SwiftForms.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SwiftForms/SwiftForms-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftForms/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftForms/SwiftForms.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = SwiftForms; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - C03B8870130C98D1B02B59D003687524 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_RELEASE=1", - "$(inherited)", - ); - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 0681E253ADECF8232FC446EDF708E36B /* Build configuration list for PBXNativeTarget "Pods-My Mind" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 43C67B241F8C48503D4EAD77E1433900 /* Debug */, - 0C05EE70331FA55C2209CD58C75FD498 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 643C76AA582046977B7877822ED7A258 /* Debug */, - C03B8870130C98D1B02B59D003687524 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - F7F88DF26ADD5FC7753D2E02B27210FA /* Build configuration list for PBXNativeTarget "SwiftForms" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 1ECDBFE19F75B50026F2AE72409054DA /* Debug */, - 8328E94705188774EBEB34FAF4473804 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; -} diff --git a/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index 919434a..0000000 --- a/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate b/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 3542c2e..0000000 Binary files a/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/UserInterfaceState.xcuserstate and /dev/null differ diff --git a/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/WorkspaceSettings.xcsettings b/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/WorkspaceSettings.xcsettings deleted file mode 100644 index a8f6112..0000000 --- a/My Mind/Pods/Pods.xcodeproj/project.xcworkspace/xcuserdata/alexanderdavis.xcuserdatad/WorkspaceSettings.xcsettings +++ /dev/null @@ -1,8 +0,0 @@ - - - - - BuildLocationStyle - UseTargetSettings - - diff --git a/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/Pods-My Mind.xcscheme b/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/Pods-My Mind.xcscheme deleted file mode 100644 index 525586e..0000000 --- a/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/Pods-My Mind.xcscheme +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/SwiftForms.xcscheme b/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/SwiftForms.xcscheme deleted file mode 100644 index 90e68a3..0000000 --- a/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/SwiftForms.xcscheme +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist b/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist deleted file mode 100644 index 4890738..0000000 --- a/My Mind/Pods/Pods.xcodeproj/xcuserdata/alexanderdavis.xcuserdatad/xcschemes/xcschememanagement.plist +++ /dev/null @@ -1,32 +0,0 @@ - - - - - SchemeUserState - - Pods-My Mind.xcscheme - - isShown - - - SwiftForms.xcscheme - - isShown - - - - SuppressBuildableAutocreation - - 33988396BCE45C5796DD8492DEF2041F - - primary - - - 7C88BBED096F0D59AE5BF5BB6F95A358 - - primary - - - - - diff --git a/My Mind/Pods/SwiftForms/LICENSE b/My Mind/Pods/SwiftForms/LICENSE deleted file mode 100644 index 03d0bb6..0000000 --- a/My Mind/Pods/SwiftForms/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) -Copyright (c) 2014 Miguel Ángel Ortuño ( ortuman@gmail.com ) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/My Mind/Pods/SwiftForms/README.MD b/My Mind/Pods/SwiftForms/README.MD deleted file mode 100644 index aa4e4a6..0000000 --- a/My Mind/Pods/SwiftForms/README.MD +++ /dev/null @@ -1,155 +0,0 @@ - -[![Version](https://img.shields.io/badge/pod-1.7-red.svg)](http://cocoadocs.org/docsets/SwiftForms) -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) - -[![License](https://img.shields.io/badge/license-MIT-gray.svg)](http://cocoadocs.org/docsets/SwiftForms) -[![Platform](https://img.shields.io/badge/platform-iOS-lightgrey.svg)](http://cocoadocs.org/docsets/SwiftForms) - -SwiftForms -========== - -Purpose -------- -SwiftForms is a powerful and extremely flexible library written in Swift that allows to create forms by just defining them in a couple of lines. It also provides the ability to customize cells appearance, use custom cells and define your own selector controllers. - -#####Here is an screenshot from an example application using SwiftForms - -![Screenshot of Example application](SwiftFormsApplication/Example.gif) - -How to create a form --------------------- - -Creating a form using SwiftForms is pretty straightforward. All you need is to derive your controller from `FormViewController` and define a `FormDescriptor` instance along with its sections and rows. Here is an example of how to create a simple form to input an email and a user password. - -```swift - -// Create form instace -var form = FormDescriptor() -form.title = "Example form" - -// Define first section -var section1 = FormSectionDescriptor() - -var row = FormRowDescriptor(tag: "name", rowType: .Email, title: "Email") -section1.rows.append(row) - -row = FormRowDescriptor(tag: "pass", rowType: .Password, title: "Password") -section1.rows.append(row) - -// Define second section -var section2 = FormSectionDescriptor() - -row = FormRowDescriptor(tag: "button", rowType: .Button, title: "Submit") -section2.rows.append(row) - -form.sections = [section1, section2] - -self.form = form -``` -To see a more complex form definition you can take a look to the example application. - -Cell appearance ----------------------- - -Every row descriptor has a `configuration` dictionary that allows to customize cell's appearance and behavior. In order to change concrete visual aspects of a row simply set `row.configuration.cell.appearance` value to a dictionary containing custom key-value coding properties. - -Here's an example: - -```swift -row.configuration.cell.appearance = ["titleLabel.font" : UIFont.boldSystemFontOfSize(30.0), "segmentedControl.tintColor" : UIColor.redColor()] -``` - -Custom cells ------------------ - -In addition, it is possible to create 100% custom cells by deriving from `FormBaseCell` class. In that case, don't forget to override `configure` and `update` methods. First method will be called only once and after cell has been created, and the second one every time cell content should be refreshed. - -Here are the methods that help you to define custom cell behavior. -```swift -func configure() { - /// override -} - -func update() { - /// override -} - -class func formRowCellHeight() -> CGFloat { - return 44.0 -} - -class func formViewController(formViewController: FormViewController, didSelectRow: FormBaseCell) { -} -``` -Once you have defined your custom cell, and in order to use it for a concrete row, you'll have to set `FormRowDescriptor` cellClass property. - -Custom selector controllers -------------------------------------- - -In order to customize selector controller your class should conform to `FormSelector` protocol. That way you'll have access to the cell instance that pushed the controller, being able to alter its properties or setting it's row value accordingly to user interaction. - -After defining your class, don't forget to set `row.configuration.selection.controllerClass` value in the configuration dictionary to use your custom selector controller. - -Requirements ---------------------- - -* iOS 8.0 and above - -### CocoaPods - -[CocoaPods](http://cocoapods.org) is a dependency manager for Cocoa projects. - -CocoaPods 0.36 adds supports for Swift and embedded frameworks. You can install it with the following command: - -```bash -$ gem install cocoapods -``` - -To integrate SwiftForms into your Xcode project using CocoaPods, specify it in your `Podfile`: - -```ruby -source 'https://github.com/CocoaPods/Specs.git' -platform :ios, '8.0' -use_frameworks! - -pod 'SwiftForms' -``` - -Then, run the following command: - -```bash -$ pod install -``` - -### Carthage - -Simply add the following line to your `Cartfile`: - -``` -github "ortuman/SwiftForms" -``` - -Then run: - -```bash -$ carthage update -``` - -For more information on [Carthage](https://github.com/Carthage/Carthage) see the [README](https://github.com/Carthage/Carthage/blob/master/README.md) - -Copyright ---------- - -SwiftForms is originally based on XLForm github project. (https://github.com/xmartlabs/XLForm) - -Check LICENSE file for more details. - -Contact -------- - -If you are using SwiftForms in your project and have any suggestion or question: - -Miguel Angel Ortuño, - -[@ortuman](http://twitter.com/ortuman) - diff --git a/My Mind/Pods/SwiftForms/SwiftForms/FormErrorType.swift b/My Mind/Pods/SwiftForms/SwiftForms/FormErrorType.swift deleted file mode 100644 index 37356e8..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/FormErrorType.swift +++ /dev/null @@ -1,12 +0,0 @@ -// -// FormErrorType.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 2/1/16. -// Copyright © 2016 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -public enum FormErrorType: Error { - case sectionOutOfIndex - case rowOutOfIndex -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormButtonCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormButtonCell.swift deleted file mode 100644 index 0d3dcdb..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormButtonCell.swift +++ /dev/null @@ -1,24 +0,0 @@ -// -// FormButtonCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 21/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormButtonCell: FormTitleCell { - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - titleLabel.textAlignment = .center - } - - open override func update() { - super.update() - titleLabel.text = rowDescriptor?.title - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormCheckCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormCheckCell.swift deleted file mode 100644 index 818c355..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormCheckCell.swift +++ /dev/null @@ -1,55 +0,0 @@ -// -// FormCheckCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 22/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormCheckCell: FormTitleCell { - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - selectionStyle = .default - accessoryType = .none - } - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - - var rowValue: Bool - if let value = rowDescriptor?.value as? Bool { - rowValue = value - } else { - rowValue = false - rowDescriptor?.value = rowValue as AnyObject - } - - accessoryType = (rowValue) ? .checkmark : .none - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormCheckCell else { return } - row.check() - } - - // MARK: Private interface - - fileprivate func check() { - var newValue: Bool - if let value = rowDescriptor?.value as? Bool { - newValue = !value - } - else { - newValue = true - } - rowDescriptor?.value = newValue as AnyObject - update() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormDateCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormDateCell.swift deleted file mode 100644 index e9093ec..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormDateCell.swift +++ /dev/null @@ -1,97 +0,0 @@ -// -// FormDateCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 22/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormDateCell: FormValueCell { - - // MARK: Properties - - fileprivate let datePicker = UIDatePicker() - fileprivate let hiddenTextField = UITextField(frame: CGRect.zero) - - fileprivate let defaultDateFormatter = DateFormatter() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - contentView.addSubview(hiddenTextField) - hiddenTextField.inputView = datePicker - datePicker.datePickerMode = .date - datePicker.addTarget(self, action: #selector(FormDateCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - if let showsInputToolbar = rowDescriptor?.configuration.cell.showsInputToolbar , showsInputToolbar && hiddenTextField.inputAccessoryView == nil { - hiddenTextField.inputAccessoryView = inputAccesoryView() - } - - titleLabel.text = rowDescriptor?.title - - if let rowType = rowDescriptor?.type { - switch rowType { - case .date: - datePicker.datePickerMode = .date - defaultDateFormatter.dateStyle = .long - defaultDateFormatter.timeStyle = .none - case .time: - datePicker.datePickerMode = .time - defaultDateFormatter.dateStyle = .none - defaultDateFormatter.timeStyle = .short - default: - datePicker.datePickerMode = .dateAndTime - defaultDateFormatter.dateStyle = .long - defaultDateFormatter.timeStyle = .short - } - } - - if let date = rowDescriptor?.value as? Date { - datePicker.date = date - valueLabel.text = getDateFormatter().string(from: date) - } - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormDateCell else { return } - - if row.rowDescriptor?.value == nil { - let date = Date() - row.rowDescriptor?.value = date as AnyObject - row.valueLabel.text = row.getDateFormatter().string(from: date) - row.update() - } - - row.hiddenTextField.becomeFirstResponder() - } - - open override func firstResponderElement() -> UIResponder? { - return hiddenTextField - } - - open override class func formRowCanBecomeFirstResponder() -> Bool { - return true - } - - // MARK: Actions - - internal func valueChanged(_ sender: UIDatePicker) { - rowDescriptor?.value = sender.date as AnyObject - valueLabel.text = getDateFormatter().string(from: sender.date) - update() - } - - // MARK: Private interface - - fileprivate func getDateFormatter() -> DateFormatter { - guard let dateFormatter = rowDescriptor?.configuration.date.dateFormatter else { return defaultDateFormatter } - return dateFormatter - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormLabelCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormLabelCell.swift deleted file mode 100644 index 5104b29..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormLabelCell.swift +++ /dev/null @@ -1,48 +0,0 @@ -// -// FormTextFieldCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 20/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -class FormLabelCell: FormValueCell { - - /// MARK: FormBaseCell - - override func configure() { - super.configure() - - accessoryType = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - valueLabel.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - valueLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - valueLabel.textColor = UIColor.lightGray - valueLabel.textAlignment = .right - - contentView.addSubview(titleLabel) - contentView.addSubview(valueLabel) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - titleLabel.setContentCompressionResistancePriority(1000, for: .horizontal) - - // apply constant constraints - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - } - - override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - valueLabel.text = rowDescriptor?.configuration.cell.placeholder - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormPickerCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormPickerCell.swift deleted file mode 100644 index 580cea9..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormPickerCell.swift +++ /dev/null @@ -1,104 +0,0 @@ -// -// FormPickerCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 22/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormPickerCell: FormValueCell, UIPickerViewDelegate, UIPickerViewDataSource { - - // MARK: Properties - - fileprivate let picker = UIPickerView() - fileprivate let hiddenTextField = UITextField(frame: CGRect.zero) - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - accessoryType = .none - - picker.delegate = self - picker.dataSource = self - hiddenTextField.inputView = picker - - contentView.addSubview(hiddenTextField) - } - - open override func update() { - super.update() - picker.reloadAllComponents() - - if let showsInputToolbar = rowDescriptor?.configuration.cell.showsInputToolbar , showsInputToolbar && hiddenTextField.inputAccessoryView == nil { - hiddenTextField.inputAccessoryView = inputAccesoryView() - } - - titleLabel.text = rowDescriptor?.title - - if let selectedValue = rowDescriptor?.value { - valueLabel.text = rowDescriptor?.configuration.selection.optionTitleClosure?(selectedValue) - if let options = rowDescriptor?.configuration.selection.options , !options.isEmpty { - var selectedIndex: Int? - for (index, value) in options.enumerated() { - if value === selectedValue { - selectedIndex = index - break - } - } - if let index = selectedIndex { - picker.selectRow(index, inComponent: 0, animated: false) - } - } - } - } - - open override func firstResponderElement() -> UIResponder? { - return hiddenTextField - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormPickerCell else { return } - - if selectedRow.rowDescriptor?.value == nil { - guard let options = selectedRow.rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - let value = options[0] - selectedRow.rowDescriptor?.value = value - row.valueLabel.text = selectedRow.rowDescriptor?.configuration.selection.optionTitleClosure?(value) - row.hiddenTextField.becomeFirstResponder() - } else { - guard let value = selectedRow.rowDescriptor?.value else { return } - row.valueLabel.text = selectedRow.rowDescriptor?.configuration.selection.optionTitleClosure?(value) - row.hiddenTextField.becomeFirstResponder() - } - } - - // MARK: UIPickerViewDelegate - - open func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return nil } - guard row < options.count else { return nil } - return rowDescriptor?.configuration.selection.optionTitleClosure?(options[row]) - } - - open func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - guard row < options.count else { return } - let newValue = options[row] - rowDescriptor?.value = newValue - valueLabel.text = rowDescriptor?.configuration.selection.optionTitleClosure?(newValue) - } - - // MARK: UIPickerViewDataSource - - open func numberOfComponents(in pickerView: UIPickerView) -> Int { - return 1 - } - - open func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { - guard let options = rowDescriptor?.configuration.selection.options else { return 0 } - return options.count - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift deleted file mode 100644 index b3f05d7..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSegmentedControlCell.swift +++ /dev/null @@ -1,99 +0,0 @@ -// -// FormSegmentedControlCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 21/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormSegmentedControlCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let segmentedControl = UISegmentedControl() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject] = [] - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - segmentedControl.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.setContentCompressionResistancePriority(500, for: .horizontal) - segmentedControl.setContentCompressionResistancePriority(500, for: .horizontal) - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(segmentedControl) - - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: segmentedControl, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - segmentedControl.addTarget(self, action: #selector(FormSegmentedControlCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - updateSegmentedControl() - - guard let value = rowDescriptor?.value else { return } - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - - var idx = 0 - for optionValue in options { - if optionValue === value { - segmentedControl.selectedSegmentIndex = idx - break - } - idx += 1 - } - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "segmentedControl" : segmentedControl] - } - - open override func defaultVisualConstraints() -> [String] { - if let text = titleLabel.text , text.characters.count > 0 { - return ["H:|-16-[titleLabel]-16-[segmentedControl]-16-|"] - } else { - return ["H:|-16-[segmentedControl]-16-|"] - } - } - - // MARK: Actions - - internal func valueChanged(_ sender: UISegmentedControl) { - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - let value = options[sender.selectedSegmentIndex] - rowDescriptor?.value = value - } - - // MARK: Private - - fileprivate func updateSegmentedControl() { - segmentedControl.removeAllSegments() - - guard let options = rowDescriptor?.configuration.selection.options , !options.isEmpty else { return } - - var idx = 0 - for value in options { - let title = rowDescriptor?.configuration.selection.optionTitleClosure?(value) - segmentedControl.insertSegment(withTitle: title, at: idx, animated: false) - idx += 1 - } - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSelectorCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSelectorCell.swift deleted file mode 100644 index 7906778..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSelectorCell.swift +++ /dev/null @@ -1,63 +0,0 @@ -// -// FormSelectorCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormSelectorCell: FormValueCell { - - // MARK: FormBaseCell - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - - var title: String? - if let multipleValues = rowDescriptor?.value as? [AnyObject] { - var multipleValuesTitle = "" - for (index, selectedValue) in multipleValues.enumerated() { - guard let selectedValueTitle = rowDescriptor?.configuration.selection.optionTitleClosure?(selectedValue) else { continue } - if index != 0 { - multipleValuesTitle += ", " - } - multipleValuesTitle += selectedValueTitle - } - title = multipleValuesTitle - } else if let singleValue = rowDescriptor?.value { - title = rowDescriptor?.configuration.selection.optionTitleClosure?(singleValue) - } - - if let title = title , title.characters.count > 0 { - valueLabel.text = title - valueLabel.textColor = UIColor.black - } else { - valueLabel.text = rowDescriptor?.configuration.cell.placeholder - valueLabel.textColor = UIColor.lightGray - } - } - - open override class func formViewController(_ formViewController: FormViewController, didSelectRow selectedRow: FormBaseCell) { - guard let row = selectedRow as? FormSelectorCell else { return } - - formViewController.view.endEditing(true) - - var selectorControllerClass: UIViewController.Type - - if let controllerClass = row.rowDescriptor?.configuration.selection.controllerClass as? UIViewController.Type { - selectorControllerClass = controllerClass - } else { // fallback to default cell class - selectorControllerClass = FormOptionsSelectorController.self - } - - let selectorController = selectorControllerClass.init() - guard let formRowDescriptorViewController = selectorController as? FormSelector else { return } - - formRowDescriptorViewController.formCell = row - formViewController.navigationController?.pushViewController(selectorController, animated: true) - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSliderCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSliderCell.swift deleted file mode 100644 index 7466df0..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSliderCell.swift +++ /dev/null @@ -1,75 +0,0 @@ -// -// FormSliderCell.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 23/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -import UIKit - -open class FormSliderCell: FormTitleCell { - - // MARK: Cell views - - open let sliderView = UISlider() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - sliderView.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(sliderView) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: sliderView, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - sliderView.addTarget(self, action: #selector(FormSliderCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - if let maximumValue = rowDescriptor?.configuration.stepper.maximumValue { sliderView.maximumValue = Float(maximumValue) } - if let minimumValue = rowDescriptor?.configuration.stepper.minimumValue { sliderView.minimumValue = Float(minimumValue) } - if let continuous = rowDescriptor?.configuration.stepper.continuous { sliderView.isContinuous = continuous } - - titleLabel.text = rowDescriptor?.title - - if let value = rowDescriptor?.value as? Float { - sliderView.value = value - } else { - sliderView.value = sliderView.minimumValue - rowDescriptor?.value = sliderView.minimumValue as AnyObject - } - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "sliderView" : sliderView] - } - - open override func defaultVisualConstraints() -> [String] { - var constraints: [String] = [] - - constraints.append("V:|[titleLabel]|") - constraints.append("H:|-16-[titleLabel]-16-[sliderView]-16-|") - - return constraints - } - - // MARK: Actions - - internal func valueChanged(_: UISlider) { - rowDescriptor?.value = sliderView.value as AnyObject - update() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormStepperCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormStepperCell.swift deleted file mode 100644 index 16a021e..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormStepperCell.swift +++ /dev/null @@ -1,82 +0,0 @@ -// -// FormStepperCell.swift -// SwiftFormsApplication -// -// Created by Miguel Angel Ortuno Ortuno on 23/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -import UIKit - -open class FormStepperCell: FormTitleCell { - - // MARK: Cell views - - open let stepperView = UIStepper() - open let countLabel = UILabel() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - stepperView.translatesAutoresizingMaskIntoConstraints = false - countLabel.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - countLabel.textAlignment = .right - - contentView.addSubview(titleLabel) - contentView.addSubview(countLabel) - contentView.addSubview(stepperView) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: stepperView, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - stepperView.addTarget(self, action: #selector(FormStepperCell.valueChanged(_:)), for: .valueChanged) - } - - open override func update() { - super.update() - - if let maximumValue = rowDescriptor?.configuration.stepper.maximumValue { stepperView.maximumValue = maximumValue } - if let minimumValue = rowDescriptor?.configuration.stepper.minimumValue { stepperView.minimumValue = minimumValue } - if let steps = rowDescriptor?.configuration.stepper.steps { stepperView.stepValue = steps } - - titleLabel.text = rowDescriptor?.title - - if let value = rowDescriptor?.value as? Double { - stepperView.value = value - countLabel.text = String(value) - } else { - stepperView.value = stepperView.minimumValue - rowDescriptor?.value = stepperView.minimumValue as AnyObject - countLabel.text = String(stepperView.minimumValue) - } - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "countLabel" : countLabel, "stepperView" : stepperView] - } - - open override func defaultVisualConstraints() -> [String] { - var constraints: [String] = [] - - constraints.append("V:|[titleLabel]|") - constraints.append("V:|[countLabel]|") - - constraints.append("H:|-16-[titleLabel][countLabel]-[stepperView]-16-|") - return constraints - } - - // MARK: Actions - - internal func valueChanged(_: UISwitch) { - rowDescriptor?.value = stepperView.value as AnyObject - update() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSwitchCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSwitchCell.swift deleted file mode 100644 index 064eccf..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormSwitchCell.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// FormSwitchCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 21/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormSwitchCell: FormTitleCell { - - // MARK: Cell views - - open let switchView = UISwitch() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - switchView.addTarget(self, action: #selector(FormSwitchCell.valueChanged(_:)), for: .valueChanged) - accessoryView = switchView - } - - open override func update() { - super.update() - - titleLabel.text = rowDescriptor?.title - - if let value = rowDescriptor?.value as? Bool { - switchView.isOn = value - } else { - switchView.isOn = false - rowDescriptor?.value = false as AnyObject - } - } - - // MARK: Actions - - internal func valueChanged(_: UISwitch) { - rowDescriptor?.value = switchView.isOn as AnyObject - update() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift deleted file mode 100644 index 63b4cc7..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormTextFieldCell.swift +++ /dev/null @@ -1,148 +0,0 @@ -// -// FormTextFieldCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormTextFieldCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let textField = UITextField() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject] = [] - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - textField.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - textField.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(textField) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - titleLabel.setContentCompressionResistancePriority(1000, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - - textField.addTarget(self, action: #selector(FormTextFieldCell.editingChanged(_:)), for: .editingChanged) - } - - open override func update() { - super.update() - - if let showsInputToolbar = rowDescriptor?.configuration.cell.showsInputToolbar , showsInputToolbar && textField.inputAccessoryView == nil { - textField.inputAccessoryView = inputAccesoryView() - } - - titleLabel.text = rowDescriptor?.title - textField.text = rowDescriptor?.value as? String - textField.placeholder = rowDescriptor?.configuration.cell.placeholder - - textField.isSecureTextEntry = false - textField.clearButtonMode = .whileEditing - - if let type = rowDescriptor?.type { - switch type { - case .text: - textField.autocorrectionType = .default - textField.autocapitalizationType = .sentences - textField.keyboardType = .default - case .number: - textField.keyboardType = .numberPad - case .numbersAndPunctuation: - textField.keyboardType = .numbersAndPunctuation - case .decimal: - textField.keyboardType = .decimalPad - case .name: - textField.autocorrectionType = .no - textField.autocapitalizationType = .words - textField.keyboardType = .default - case .phone: - textField.keyboardType = .phonePad - case .namePhone: - textField.autocorrectionType = .no - textField.autocapitalizationType = .words - textField.keyboardType = .namePhonePad - case .url: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .URL - case .twitter: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .twitter - case .email: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .emailAddress - case .asciiCapable: - textField.autocorrectionType = .no - textField.autocapitalizationType = .none - textField.keyboardType = .asciiCapable - case .password: - textField.isSecureTextEntry = true - textField.clearsOnBeginEditing = false - default: - break - } - } - } - - open override func constraintsViews() -> [String : UIView] { - var views = ["titleLabel" : titleLabel, "textField" : textField] - if self.imageView!.image != nil { - views["imageView"] = imageView - } - return views - } - - open override func defaultVisualConstraints() -> [String] { - if self.imageView!.image != nil { - if titleLabel.text != nil && (titleLabel.text!).characters.count > 0 { - return ["H:[imageView]-[titleLabel]-[textField]-16-|"] - } else { - return ["H:[imageView]-[textField]-16-|"] - } - } else { - if titleLabel.text != nil && (titleLabel.text!).characters.count > 0 { - return ["H:|-16-[titleLabel]-[textField]-16-|"] - } else { - return ["H:|-16-[textField]-16-|"] - } - } - } - - open override func firstResponderElement() -> UIResponder? { - return textField - } - - open override class func formRowCanBecomeFirstResponder() -> Bool { - return true - } - - // MARK: Actions - - internal func editingChanged(_ sender: UITextField) { - guard let text = sender.text, text.characters.count > 0 else { rowDescriptor?.value = nil; update(); return } - rowDescriptor?.value = text as AnyObject - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormTextViewCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/FormTextViewCell.swift deleted file mode 100644 index 179463d..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/FormTextViewCell.swift +++ /dev/null @@ -1,96 +0,0 @@ -// -// FormTextViewCell.swift -// SwiftForms -// -// Created by Joey Padot on 12/6/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormTextViewCell : FormBaseCell, UITextViewDelegate { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let textField = UITextView() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject]! - - // MARK: Class Funcs - - open override class func formRowCellHeight() -> CGFloat { - return 110.0 - } - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - selectionStyle = .none - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - textField.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - textField.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - contentView.addSubview(titleLabel) - contentView.addSubview(textField) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .top, relatedBy: .equal, toItem: contentView, attribute: .top, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: textField, attribute: .bottom, relatedBy: .equal, toItem: contentView, attribute: .bottom, multiplier: 1.0, constant: 0.0)) - - textField.delegate = self - } - - open override func update() { - - titleLabel.text = rowDescriptor?.title - textField.text = rowDescriptor?.value as? String - - textField.isSecureTextEntry = false - textField.autocorrectionType = .default - textField.autocapitalizationType = .sentences - textField.keyboardType = .default - } - - open override func constraintsViews() -> [String : UIView] { - var views = ["titleLabel" : titleLabel, "textField" : textField] - if self.imageView!.image != nil { - views["imageView"] = imageView - } - return views - } - - open override func defaultVisualConstraints() -> [String] { - if self.imageView!.image != nil { - if let text = titleLabel.text , text.characters.count > 0 { - return ["H:[imageView]-[titleLabel]-[textField]-16-|"] - } else { - return ["H:[imageView]-[textField]-16-|"] - } - } else { - if let text = titleLabel.text , text.characters.count > 0 { - return ["H:|-16-[titleLabel]-[textField]-16-|"] - } else { - return ["H:|-16-[textField]-16-|"] - } - } - } - - // MARK: UITextViewDelegate - - open func textViewDidChange(_ textView: UITextView) { - guard let text = textView.text , text.characters.count > 0 else { rowDescriptor?.value = nil; update(); return } - rowDescriptor?.value = text as AnyObject - update() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift deleted file mode 100644 index e294eb1..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormBaseCell.swift +++ /dev/null @@ -1,119 +0,0 @@ -// -// FormBaseCell.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormBaseCell: UITableViewCell { - - // MARK: Properties - - open var rowDescriptor: FormRowDescriptor? { - didSet { - self.update() - } - } - - open weak var formViewController: FormViewController? - - fileprivate var customConstraints: [NSLayoutConstraint] = [] - - // MARK: Init - - public required override init(style: UITableViewCellStyle, reuseIdentifier: String!) { - super.init(style: style, reuseIdentifier: reuseIdentifier) - } - - public required init?(coder aDecoder: NSCoder) { - super.init(coder: aDecoder) - } - - // MARK: Public interface - - open func configure() { - /// override - } - - open func update() { - /// override - } - - open func defaultVisualConstraints() -> [String] { - /// override - return [] - } - - open func constraintsViews() -> [String : UIView] { - /// override - return [:] - } - - open func firstResponderElement() -> UIResponder? { - /// override - return nil - } - - open func inputAccesoryView() -> UIToolbar { - - let actionBar = UIToolbar() - actionBar.isTranslucent = true - actionBar.sizeToFit() - actionBar.barStyle = .default - - let doneButton = UIBarButtonItem(title: NSLocalizedString("Done", comment: ""), style: .done, target: self, action: #selector(FormBaseCell.handleDoneAction(_:))) - - let flexible = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) - actionBar.items = [flexible, doneButton] - - return actionBar - } - - internal func handleDoneAction(_: UIBarButtonItem) { - firstResponderElement()?.resignFirstResponder() - } - - open class func formRowCellHeight() -> CGFloat { - return 44.0 - } - - open class func formRowCanBecomeFirstResponder() -> Bool { - return false - } - - open class func formViewController(_ formViewController: FormViewController, didSelectRow: FormBaseCell) { - } - - // MARK: Constraints - - open override func updateConstraints() { - if customConstraints.count > 0 { - contentView.removeConstraints(customConstraints) - } - - let views = constraintsViews() - - customConstraints.removeAll() - - var visualConstraints = [String]() - - if let visualConstraintsClosure = rowDescriptor?.configuration.cell.visualConstraintsClosure { - visualConstraints = visualConstraintsClosure(self) - } else { - visualConstraints = defaultVisualConstraints() - } - - for visualConstraint in visualConstraints { - let constraints = NSLayoutConstraint.constraints(withVisualFormat: visualConstraint, options: NSLayoutFormatOptions(rawValue: 0), metrics: nil, views: views) - for constraint in constraints { - customConstraints.append(constraint) - } - } - - contentView.addConstraints(customConstraints) - super.updateConstraints() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift deleted file mode 100644 index aefe09d..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormTitleCell.swift +++ /dev/null @@ -1,38 +0,0 @@ -// -// FormTitleCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 13/11/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormTitleCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - // apply constant constraints - contentView.addSubview(titleLabel) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel] - } - - open override func defaultVisualConstraints() -> [String] { - return ["H:|-16-[titleLabel]-16-|"] - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormValueCell.swift b/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormValueCell.swift deleted file mode 100644 index db28b10..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/cells/base/FormValueCell.swift +++ /dev/null @@ -1,70 +0,0 @@ -// -// FormValueCell.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 13/11/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormValueCell: FormBaseCell { - - // MARK: Cell views - - open let titleLabel = UILabel() - open let valueLabel = UILabel() - - // MARK: Properties - - fileprivate var customConstraints: [AnyObject]! - - // MARK: FormBaseCell - - open override func configure() { - super.configure() - - accessoryType = .disclosureIndicator - - titleLabel.translatesAutoresizingMaskIntoConstraints = false - valueLabel.translatesAutoresizingMaskIntoConstraints = false - - titleLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - valueLabel.font = UIFont.preferredFont(forTextStyle: UIFontTextStyle.body) - - valueLabel.textColor = UIColor.lightGray - valueLabel.textAlignment = .right - - contentView.addSubview(titleLabel) - contentView.addSubview(valueLabel) - - titleLabel.setContentHuggingPriority(500, for: .horizontal) - titleLabel.setContentCompressionResistancePriority(1000, for: .horizontal) - - // apply constant constraints - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .height, relatedBy: .equal, toItem: contentView, attribute: .height, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: titleLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - contentView.addConstraint(NSLayoutConstraint(item: valueLabel, attribute: .centerY, relatedBy: .equal, toItem: contentView, attribute: .centerY, multiplier: 1.0, constant: 0.0)) - } - - open override func constraintsViews() -> [String : UIView] { - return ["titleLabel" : titleLabel, "valueLabel" : valueLabel] - } - - open override func defaultVisualConstraints() -> [String] { - - // apply default constraints - var rightPadding = 0 - if accessoryType == .none { - rightPadding = 16 - } - - if titleLabel.text != nil && (titleLabel.text!).characters.count > 0 { - return ["H:|-16-[titleLabel]-[valueLabel]-\(rightPadding)-|"] - } - else { - return ["H:|-16-[valueLabel]-\(rightPadding)-|"] - } - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift b/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift deleted file mode 100644 index 1146359..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormOptionsViewController.swift +++ /dev/null @@ -1,125 +0,0 @@ -// -// FormOptionsSelectorController.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormOptionsSelectorController: UITableViewController, FormSelector { - - // MARK: FormSelector - - open var formCell: FormBaseCell? - - // MARK: Init - - public init() { - super.init(style: .grouped) - } - - public required init(coder aDecoder: NSCoder) { - super.init(coder: aDecoder)! - } - - override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) - } - - open override func viewDidLoad() { - super.viewDidLoad() - self.navigationItem.title = formCell?.rowDescriptor?.title - } - - // MARK: UITableViewDataSource - - open override func numberOfSections(in tableView: UITableView) -> Int { - return 1 - } - - open override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - guard let options = formCell?.rowDescriptor?.configuration.selection.options , !options.isEmpty else { return 0 } - return options.count - } - - open override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - return 0.1 - } - - open override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - - let reuseIdentifier = NSStringFromClass(type(of: self)) - - var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) - if cell == nil { - cell = UITableViewCell(style: .default, reuseIdentifier: reuseIdentifier) - } - - let options = formCell!.rowDescriptor!.configuration.selection.options - let optionValue = options[(indexPath as NSIndexPath).row] - - cell?.textLabel?.text = formCell?.rowDescriptor?.configuration.selection.optionTitleClosure?(optionValue) - - if let selectedOptions = formCell?.rowDescriptor?.value as? [AnyObject] { - if let _ = selectedOptions.index(where: { $0 === optionValue }) { - cell?.accessoryType = .checkmark - } else { - cell?.accessoryType = .none - } - - } else if let selectedOption = formCell?.rowDescriptor?.value { - if optionValue === selectedOption { - cell?.accessoryType = .checkmark - } else { - cell?.accessoryType = .none - } - } - - return cell! - } - - // MARK: UITableViewDelegate - - open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - - let cell = tableView.cellForRow(at: indexPath) - - var allowsMultipleSelection = false - if let allowsMultipleSelectionValue = formCell?.rowDescriptor?.configuration.selection.allowsMultipleSelection { - allowsMultipleSelection = allowsMultipleSelectionValue - } - - let options = formCell!.rowDescriptor!.configuration.selection.options - let selectedOption = options[(indexPath as NSIndexPath).row] - - if allowsMultipleSelection { - if var selectedOptions = formCell?.rowDescriptor?.value as? [AnyObject] { - if let index = selectedOptions.index(where: { $0 === selectedOption }) { - selectedOptions.remove(at: index) - cell?.accessoryType = .none - } else { - selectedOptions.append(selectedOption) - cell?.accessoryType = .checkmark - } - formCell?.rowDescriptor?.value = selectedOptions as AnyObject - - } else { - formCell?.rowDescriptor?.value = [AnyObject](arrayLiteral: selectedOption) as AnyObject - cell?.accessoryType = .checkmark - } - - } else { - formCell?.rowDescriptor?.value = selectedOption - } - - formCell?.update() - - if allowsMultipleSelection { - tableView.deselectRow(at: indexPath, animated: true) - } else { - let _ = self.navigationController?.popViewController(animated: true) - } - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormSelector.swift b/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormSelector.swift deleted file mode 100644 index 0032995..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormSelector.swift +++ /dev/null @@ -1,13 +0,0 @@ -// -// FormSelector.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -@objc public protocol FormSelector: NSObjectProtocol { - var formCell: FormBaseCell? { get set } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormViewController.swift b/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormViewController.swift deleted file mode 100644 index 79c488e..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/controllers/FormViewController.swift +++ /dev/null @@ -1,225 +0,0 @@ -// -// FormViewController.swift -// SwiftForms -// -// Created by Miguel Angel Ortuño on 20/08/14. -// Copyright (c) 2014 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -open class FormViewController : UITableViewController { - - private static var __once: () = { - FormViewController.defaultCellClasses[.text] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.label] = FormLabelCell.self - FormViewController.defaultCellClasses[.number] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.numbersAndPunctuation] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.decimal] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.name] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.phone] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.url] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.twitter] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.namePhone] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.email] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.asciiCapable] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.password] = FormTextFieldCell.self - FormViewController.defaultCellClasses[.button] = FormButtonCell.self - FormViewController.defaultCellClasses[.booleanSwitch] = FormSwitchCell.self - FormViewController.defaultCellClasses[.booleanCheck] = FormCheckCell.self - FormViewController.defaultCellClasses[.segmentedControl] = FormSegmentedControlCell.self - FormViewController.defaultCellClasses[.picker] = FormPickerCell.self - FormViewController.defaultCellClasses[.date] = FormDateCell.self - FormViewController.defaultCellClasses[.time] = FormDateCell.self - FormViewController.defaultCellClasses[.dateAndTime] = FormDateCell.self - FormViewController.defaultCellClasses[.stepper] = FormStepperCell.self - FormViewController.defaultCellClasses[.slider] = FormSliderCell.self - FormViewController.defaultCellClasses[.multipleSelector] = FormSelectorCell.self - FormViewController.defaultCellClasses[.multilineText] = FormTextViewCell.self - }() - - // MARK: Class variables - - fileprivate static var onceDefaultCellClass: Int = 0 - fileprivate static var defaultCellClasses: [FormRowDescriptor.RowType : FormBaseCell.Type] = [:] - - // MARK: Properties - - open var form = FormDescriptor() - - // MARK: Init - - public convenience init() { - self.init(style: .grouped) - } - - public convenience init(form: FormDescriptor) { - self.init(style: .grouped) - self.form = form - } - - public override init(style: UITableViewStyle) { - super.init(style: style) - } - - public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { - super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) - } - - public required init(coder aDecoder: NSCoder) { - super.init(coder: aDecoder)! - } - - // MARK: View life cycle - - open override func viewDidLoad() { - super.viewDidLoad() - navigationItem.title = form.title - } - - // MARK: Public interface - - open func valueForTag(_ tag: String) -> AnyObject? { - for section in form.sections { - for row in section.rows { - if row.tag == tag { - return row.value - } - } - } - return nil - } - - open func setValue(_ value: AnyObject, forTag tag: String) { - for (sectionIndex, section) in form.sections.enumerated() { - for (rowIndex, row) in section.rows.enumerated() { - if row.tag == tag { - form.sections[sectionIndex].rows[rowIndex].value = value - if let cell = self.tableView.cellForRow(at: IndexPath(row: rowIndex, section: sectionIndex)) as? FormBaseCell { - cell.update() - } - return - } - } - } - } - - // MARK: UITableViewDataSource - - open override func numberOfSections(in tableView: UITableView) -> Int { - return form.sections.count - } - - open override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - return form.sections[section].rows.count - } - - open override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - - let rowDescriptor = formRowDescriptorAtIndexPath(indexPath) - - let formBaseCellClass = formBaseCellClassFromRowDescriptor(rowDescriptor) - - let reuseIdentifier = NSStringFromClass(formBaseCellClass!) - - var cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentifier) as? FormBaseCell - if cell == nil { - cell = formBaseCellClass?.init(style: .default, reuseIdentifier: reuseIdentifier) - cell?.formViewController = self - cell?.configure() - } - - cell?.rowDescriptor = rowDescriptor - - // apply cell custom design - for (keyPath, value) in rowDescriptor.configuration.cell.appearance { - cell?.setValue(value, forKeyPath: keyPath) - } - return cell! - } - - open override func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { - return form.sections[section].headerTitle - } - - open override func tableView(_ tableView: UITableView, titleForFooterInSection section: Int) -> String? { - return form.sections[section].footerTitle - } - - open override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { - guard let headerView = form.sections[section].headerView else { return nil } - return headerView - } - - open override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { - guard let footerView = form.sections[section].footerView else { return nil } - return footerView - } - - open override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { - guard let headerView = form.sections[section].headerView , headerView.translatesAutoresizingMaskIntoConstraints else { - return form.sections[section].headerViewHeight - } - return headerView.frame.size.height - } - - open override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { - guard let footerView = form.sections[section].footerView , footerView.translatesAutoresizingMaskIntoConstraints else { - return form.sections[section].footerViewHeight - } - return footerView.frame.size.height - } - - // MARK: UITableViewDelegate - - open override func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - - let rowDescriptor = formRowDescriptorAtIndexPath(indexPath) - - if let formBaseCellClass = formBaseCellClassFromRowDescriptor(rowDescriptor) { - return formBaseCellClass.formRowCellHeight() - } - return super.tableView(tableView, heightForRowAt: indexPath) - } - - open override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { - - let rowDescriptor = formRowDescriptorAtIndexPath(indexPath) - - if let selectedRow = tableView.cellForRow(at: indexPath) as? FormBaseCell { - if let formBaseCellClass = formBaseCellClassFromRowDescriptor(rowDescriptor) { - formBaseCellClass.formViewController(self, didSelectRow: selectedRow) - } - } - - if let didSelectClosure = rowDescriptor.configuration.button.didSelectClosure { - didSelectClosure(rowDescriptor) - } - - tableView.deselectRow(at: indexPath, animated: true) - } - - fileprivate class func defaultCellClassForRowType(_ rowType: FormRowDescriptor.RowType) -> FormBaseCell.Type { - _ = FormViewController.__once - return FormViewController.defaultCellClasses[rowType]! - } - - fileprivate func formRowDescriptorAtIndexPath(_ indexPath: IndexPath) -> FormRowDescriptor { - - let section = form.sections[(indexPath as NSIndexPath).section] - let rowDescriptor = section.rows[(indexPath as NSIndexPath).row] - return rowDescriptor - } - - fileprivate func formBaseCellClassFromRowDescriptor(_ rowDescriptor: FormRowDescriptor) -> FormBaseCell.Type! { - - var formBaseCellClass: FormBaseCell.Type - - if let cellClass = rowDescriptor.configuration.cell.cellClass as? FormBaseCell.Type { - formBaseCellClass = cellClass - } else { - formBaseCellClass = FormViewController.defaultCellClassForRowType(rowDescriptor.type) - } - return formBaseCellClass - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift b/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift deleted file mode 100644 index fbe7980..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormDescriptor.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// FormDescriptor.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -public final class FormDescriptor { - - // MARK: Properties - - public var title: String - public var sections: [FormSectionDescriptor] = [] - - // MARK: Init - - public init() { - self.title = "" - } - - public init(title: String) { - self.title = title - } - - // MARK: Public - - public func formValues() -> [String : AnyObject] { - - var formValues: [String : AnyObject] = [:] - - for section in sections { - for row in section.rows { - if row.type != .button { - if let value = row.value { - formValues[row.tag] = value - } else { - formValues[row.tag] = NSNull() - } - } - } - } - return formValues - } - - public func validateForm() -> FormRowDescriptor? { - for section in sections { - for row in section.rows { - if row.configuration.cell.required && row.value == nil { - return row - } - } - } - return nil - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift b/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift deleted file mode 100644 index 9760ca3..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormRowDescriptor.swift +++ /dev/null @@ -1,159 +0,0 @@ -// -// FormRowDescriptor.swift -// SwiftForms -// -// Created by Miguel Ángel Ortuño Ortuño on 23/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -public final class FormRowDescriptor { - - // MARK: Types - - public enum RowType { - case unknown - case label - case text - case url - case number - case numbersAndPunctuation - case decimal - case name - case phone - case namePhone - case email - case twitter - case asciiCapable - case password - case button - case booleanSwitch - case booleanCheck - case segmentedControl - case picker - case date - case time - case dateAndTime - case stepper - case slider - case multipleSelector - case multilineText - } - - public struct CellConfiguration { - public var cellClass: AnyClass? - public var appearance: [String : AnyObject] - public var placeholder: String? - public var showsInputToolbar: Bool - public var required: Bool - public var willUpdateClosure: ((FormRowDescriptor) -> Void)? - public var didUpdateClosure: ((FormRowDescriptor) -> Void)? - public var visualConstraintsClosure: ((FormBaseCell) -> [String])? - - public init() { - cellClass = nil - appearance = [:] - placeholder = nil - showsInputToolbar = false - required = true - willUpdateClosure = nil - didUpdateClosure = nil - visualConstraintsClosure = nil - } - } - - public struct SelectionConfiguration { - public var controllerClass: AnyClass? - public var options: [AnyObject] - public var optionTitleClosure: ((AnyObject) -> String)? - public var allowsMultipleSelection: Bool - - public init() { - controllerClass = nil - options = [] - optionTitleClosure = nil - allowsMultipleSelection = false - } - } - - public struct ButtonConfiguration { - public var didSelectClosure: ((FormRowDescriptor) -> Void)? - - public init() { - didSelectClosure = nil - } - } - - public struct StepperConfiguration { - public var maximumValue: Double - public var minimumValue: Double - public var steps: Double - public var continuous: Bool - - public init() { - maximumValue = 0.0 - minimumValue = 0.0 - steps = 0.0 - continuous = false - } - } - - public struct DateConfiguration { - public var dateFormatter: DateFormatter? - } - - public struct RowConfiguration { - public var cell: CellConfiguration - public var selection: SelectionConfiguration - public var button: ButtonConfiguration - public var stepper: StepperConfiguration - public var date: DateConfiguration - public var userInfo: [String : AnyObject] - - init() { - cell = CellConfiguration() - selection = SelectionConfiguration() - button = ButtonConfiguration() - stepper = StepperConfiguration() - date = DateConfiguration() - userInfo = [:] - } - } - - // MARK: Properties - - public let tag: String - public let type: RowType - - public var title: String? - - public var value: AnyObject? { - willSet { - guard let willUpdateBlock = configuration.cell.willUpdateClosure else { return } - willUpdateBlock(self) - } - didSet { - guard let didUpdateBlock = configuration.cell.didUpdateClosure else { return } - didUpdateBlock(self) - } - } - - public var configuration: RowConfiguration - - // MARK: Init - - public init(tag: String, type: RowType, title: String, configuration: RowConfiguration) { - self.tag = tag - self.type = type - self.title = title - self.configuration = configuration - } - - public init(tag: String, type: RowType, title: String) { - self.tag = tag - self.type = type - self.title = title - self.configuration = RowConfiguration() - } -} diff --git a/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift b/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift deleted file mode 100644 index 7db6681..0000000 --- a/My Mind/Pods/SwiftForms/SwiftForms/descriptors/FormSectionDescriptor.swift +++ /dev/null @@ -1,32 +0,0 @@ -// -// FormSectionDescriptor.swift -// SwiftForms -// -// Created by Miguel Angel Ortuno on 20/08/14. -// Copyright (c) 2016 Miguel Angel Ortuño. All rights reserved. -// - -import UIKit - -public final class FormSectionDescriptor { - - // MARK: Properties - - public var rows: [FormRowDescriptor] = [] - - public var headerTitle: String? - public var footerTitle: String? - - public var headerView: UIView? - public var footerView: UIView? - - public var headerViewHeight: CGFloat = UITableViewAutomaticDimension - public var footerViewHeight: CGFloat = UITableViewAutomaticDimension - - // MARK: Init - - public init(headerTitle: String?, footerTitle: String?) { - self.headerTitle = headerTitle - self.footerTitle = footerTitle - } -} diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Info.plist b/My Mind/Pods/Target Support Files/Pods-My Mind/Info.plist deleted file mode 100644 index 2243fe6..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-acknowledgements.markdown b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-acknowledgements.markdown deleted file mode 100644 index 3bd6235..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-acknowledgements.markdown +++ /dev/null @@ -1,28 +0,0 @@ -# Acknowledgements -This application makes use of the following third party libraries: - -## SwiftForms - -The MIT License (MIT) - -Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) -Copyright (c) 2014 Miguel Ángel Ortuño ( ortuman@gmail.com ) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Generated by CocoaPods - https://cocoapods.org diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-acknowledgements.plist b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-acknowledgements.plist deleted file mode 100644 index f0185a2..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-acknowledgements.plist +++ /dev/null @@ -1,60 +0,0 @@ - - - - - PreferenceSpecifiers - - - FooterText - This application makes use of the following third party libraries: - Title - Acknowledgements - Type - PSGroupSpecifier - - - FooterText - The MIT License (MIT) - -Copyright (c) 2014 Xmartlabs ( http://xmartlabs.com ) -Copyright (c) 2014 Miguel Ángel Ortuño ( ortuman@gmail.com ) - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - - License - MIT - Title - SwiftForms - Type - PSGroupSpecifier - - - FooterText - Generated by CocoaPods - https://cocoapods.org - Title - - Type - PSGroupSpecifier - - - StringsTable - Acknowledgements - Title - Acknowledgements - - diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-dummy.m b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-dummy.m deleted file mode 100644 index 0ed997e..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_Pods_My_Mind : NSObject -@end -@implementation PodsDummy_Pods_My_Mind -@end diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-frameworks.sh b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-frameworks.sh deleted file mode 100755 index 39ce0ff..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-frameworks.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh -set -e - -echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" -mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - -SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" - -install_framework() -{ - if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then - local source="${BUILT_PRODUCTS_DIR}/$1" - elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then - local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")" - elif [ -r "$1" ]; then - local source="$1" - fi - - local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - - if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" - fi - - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" - - local basename - basename="$(basename -s .framework "$1")" - binary="${destination}/${basename}.framework/${basename}" - if ! [ -r "$binary" ]; then - binary="${destination}/${basename}" - fi - - # Strip invalid architectures so "fat" simulator / device frameworks work on device - if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then - strip_invalid_archs "$binary" - fi - - # Resign the code if required by the build settings to avoid unstable apps - code_sign_if_enabled "${destination}/$(basename "$1")" - - # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. - if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then - local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) - for lib in $swift_runtime_libs; do - echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" - rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" - code_sign_if_enabled "${destination}/${lib}" - done - fi -} - -# Signs a framework with the provided identity -code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy - echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'" - - if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - code_sign_cmd="$code_sign_cmd &" - fi - echo "$code_sign_cmd" - eval "$code_sign_cmd" - fi -} - -# Strip invalid architectures -strip_invalid_archs() { - binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" - stripped="" - for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then - # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 - stripped="$stripped $arch" - fi - done - if [[ "$stripped" ]]; then - echo "Stripped $binary of architectures:$stripped" - fi -} - - -if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/SwiftForms/SwiftForms.framework" -fi -if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/SwiftForms/SwiftForms.framework" -fi -if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then - wait -fi diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-resources.sh b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-resources.sh deleted file mode 100755 index 4602c68..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-resources.sh +++ /dev/null @@ -1,99 +0,0 @@ -#!/bin/sh -set -e - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - -RESOURCES_TO_COPY=${PODS_ROOT}/resources-to-copy-${TARGETNAME}.txt -> "$RESOURCES_TO_COPY" - -XCASSET_FILES=() - -case "${TARGETED_DEVICE_FAMILY}" in - 1,2) - TARGET_DEVICE_ARGS="--target-device ipad --target-device iphone" - ;; - 1) - TARGET_DEVICE_ARGS="--target-device iphone" - ;; - 2) - TARGET_DEVICE_ARGS="--target-device ipad" - ;; - 3) - TARGET_DEVICE_ARGS="--target-device tv" - ;; - *) - TARGET_DEVICE_ARGS="--target-device mac" - ;; -esac - -install_resource() -{ - if [[ "$1" = /* ]] ; then - RESOURCE_PATH="$1" - else - RESOURCE_PATH="${PODS_ROOT}/$1" - fi - if [[ ! -e "$RESOURCE_PATH" ]] ; then - cat << EOM -error: Resource "$RESOURCE_PATH" not found. Run 'pod install' to update the copy resources script. -EOM - exit 1 - fi - case $RESOURCE_PATH in - *.storyboard) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .storyboard`.storyboardc" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.xib) - echo "ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile ${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib $RESOURCE_PATH --sdk ${SDKROOT} ${TARGET_DEVICE_ARGS}" - ibtool --reference-external-strings-file --errors --warnings --notices --minimum-deployment-target ${!DEPLOYMENT_TARGET_SETTING_NAME} --output-format human-readable-text --compile "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename \"$RESOURCE_PATH\" .xib`.nib" "$RESOURCE_PATH" --sdk "${SDKROOT}" ${TARGET_DEVICE_ARGS} - ;; - *.framework) - echo "mkdir -p ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - mkdir -p "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - echo "rsync -av $RESOURCE_PATH ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - rsync -av "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" - ;; - *.xcdatamodel) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH"`.mom\"" - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodel`.mom" - ;; - *.xcdatamodeld) - echo "xcrun momc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd\"" - xcrun momc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcdatamodeld`.momd" - ;; - *.xcmappingmodel) - echo "xcrun mapc \"$RESOURCE_PATH\" \"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm\"" - xcrun mapc "$RESOURCE_PATH" "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/`basename "$RESOURCE_PATH" .xcmappingmodel`.cdm" - ;; - *.xcassets) - ABSOLUTE_XCASSET_FILE="$RESOURCE_PATH" - XCASSET_FILES+=("$ABSOLUTE_XCASSET_FILE") - ;; - *) - echo "$RESOURCE_PATH" - echo "$RESOURCE_PATH" >> "$RESOURCES_TO_COPY" - ;; - esac -} - -mkdir -p "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -if [[ "${ACTION}" == "install" ]] && [[ "${SKIP_INSTALL}" == "NO" ]]; then - mkdir -p "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" - rsync -avr --copy-links --no-relative --exclude '*/.svn/*' --files-from="$RESOURCES_TO_COPY" / "${INSTALL_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi -rm -f "$RESOURCES_TO_COPY" - -if [[ -n "${WRAPPER_EXTENSION}" ]] && [ "`xcrun --find actool`" ] && [ -n "$XCASSET_FILES" ] -then - # Find all other xcassets (this unfortunately includes those of path pods and other targets). - OTHER_XCASSETS=$(find "$PWD" -iname "*.xcassets" -type d) - while read line; do - if [[ $line != "${PODS_ROOT}*" ]]; then - XCASSET_FILES+=("$line") - fi - done <<<"$OTHER_XCASSETS" - - printf "%s\0" "${XCASSET_FILES[@]}" | xargs -0 xcrun actool --output-format human-readable-text --notices --warnings --platform "${PLATFORM_NAME}" --minimum-deployment-target "${!DEPLOYMENT_TARGET_SETTING_NAME}" ${TARGET_DEVICE_ARGS} --compress-pngs --compile "${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}" -fi diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-umbrella.h b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-umbrella.h deleted file mode 100644 index 1220131..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double Pods_My_MindVersionNumber; -FOUNDATION_EXPORT const unsigned char Pods_My_MindVersionString[]; - diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.debug.xcconfig b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.debug.xcconfig deleted file mode 100644 index 4d95115..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.debug.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SwiftForms" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftForms/SwiftForms.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "SwiftForms" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT}/Pods diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.modulemap b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.modulemap deleted file mode 100644 index d34bdf8..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_My_Mind { - umbrella header "Pods-My Mind-umbrella.h" - - export * - module * { export * } -} diff --git a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.release.xcconfig b/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.release.xcconfig deleted file mode 100644 index 4d95115..0000000 --- a/My Mind/Pods/Target Support Files/Pods-My Mind/Pods-My Mind.release.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/SwiftForms" -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftForms/SwiftForms.framework/Headers" -OTHER_LDFLAGS = $(inherited) -framework "SwiftForms" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT}/Pods diff --git a/My Mind/Pods/Target Support Files/SwiftForms/Info.plist b/My Mind/Pods/Target Support Files/SwiftForms/Info.plist deleted file mode 100644 index fcedd03..0000000 --- a/My Mind/Pods/Target Support Files/SwiftForms/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.7.0 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-dummy.m b/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-dummy.m deleted file mode 100644 index 0f311b1..0000000 --- a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_SwiftForms : NSObject -@end -@implementation PodsDummy_SwiftForms -@end diff --git a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-prefix.pch b/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-umbrella.h b/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-umbrella.h deleted file mode 100644 index 3545fd2..0000000 --- a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SwiftFormsVersionNumber; -FOUNDATION_EXPORT const unsigned char SwiftFormsVersionString[]; - diff --git a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms.modulemap b/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms.modulemap deleted file mode 100644 index 789f293..0000000 --- a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module SwiftForms { - umbrella header "SwiftForms-umbrella.h" - - export * - module * { export * } -} diff --git a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms.xcconfig b/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms.xcconfig deleted file mode 100644 index 4ec270d..0000000 --- a/My Mind/Pods/Target Support Files/SwiftForms/SwiftForms.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SwiftForms -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftForms -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES diff --git a/My Mind/SwiftForms.framework/Headers/SwiftForms-Swift.h b/My Mind/SwiftForms.framework/Headers/SwiftForms-Swift.h deleted file mode 100644 index d6d5d60..0000000 --- a/My Mind/SwiftForms.framework/Headers/SwiftForms-Swift.h +++ /dev/null @@ -1,380 +0,0 @@ -// Generated by Apple Swift version 3.1 (swiftlang-802.0.48 clang-802.0.38) -#pragma clang diagnostic push - -#if defined(__has_include) && __has_include() -# include -#endif - -#pragma clang diagnostic ignored "-Wauto-import" -#include -#include -#include -#include - -#if !defined(SWIFT_TYPEDEFS) -# define SWIFT_TYPEDEFS 1 -# if defined(__has_include) && __has_include() -# include -# elif !defined(__cplusplus) || __cplusplus < 201103L -typedef uint_least16_t char16_t; -typedef uint_least32_t char32_t; -# endif -typedef float swift_float2 __attribute__((__ext_vector_type__(2))); -typedef float swift_float3 __attribute__((__ext_vector_type__(3))); -typedef float swift_float4 __attribute__((__ext_vector_type__(4))); -typedef double swift_double2 __attribute__((__ext_vector_type__(2))); -typedef double swift_double3 __attribute__((__ext_vector_type__(3))); -typedef double swift_double4 __attribute__((__ext_vector_type__(4))); -typedef int swift_int2 __attribute__((__ext_vector_type__(2))); -typedef int swift_int3 __attribute__((__ext_vector_type__(3))); -typedef int swift_int4 __attribute__((__ext_vector_type__(4))); -typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); -typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); -typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); -#endif - -#if !defined(SWIFT_PASTE) -# define SWIFT_PASTE_HELPER(x, y) x##y -# define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) -#endif -#if !defined(SWIFT_METATYPE) -# define SWIFT_METATYPE(X) Class -#endif -#if !defined(SWIFT_CLASS_PROPERTY) -# if __has_feature(objc_class_property) -# define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ -# else -# define SWIFT_CLASS_PROPERTY(...) -# endif -#endif - -#if defined(__has_attribute) && __has_attribute(objc_runtime_name) -# define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) -#else -# define SWIFT_RUNTIME_NAME(X) -#endif -#if defined(__has_attribute) && __has_attribute(swift_name) -# define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) -#else -# define SWIFT_COMPILE_NAME(X) -#endif -#if defined(__has_attribute) && __has_attribute(objc_method_family) -# define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) -#else -# define SWIFT_METHOD_FAMILY(X) -#endif -#if defined(__has_attribute) && __has_attribute(noescape) -# define SWIFT_NOESCAPE __attribute__((noescape)) -#else -# define SWIFT_NOESCAPE -#endif -#if defined(__has_attribute) && __has_attribute(warn_unused_result) -# define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) -#else -# define SWIFT_WARN_UNUSED_RESULT -#endif -#if !defined(SWIFT_CLASS_EXTRA) -# define SWIFT_CLASS_EXTRA -#endif -#if !defined(SWIFT_PROTOCOL_EXTRA) -# define SWIFT_PROTOCOL_EXTRA -#endif -#if !defined(SWIFT_ENUM_EXTRA) -# define SWIFT_ENUM_EXTRA -#endif -#if !defined(SWIFT_CLASS) -# if defined(__has_attribute) && __has_attribute(objc_subclassing_restricted) -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# else -# define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA -# endif -#endif - -#if !defined(SWIFT_PROTOCOL) -# define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -# define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA -#endif - -#if !defined(SWIFT_EXTENSION) -# define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) -#endif - -#if !defined(OBJC_DESIGNATED_INITIALIZER) -# if defined(__has_attribute) && __has_attribute(objc_designated_initializer) -# define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) -# else -# define OBJC_DESIGNATED_INITIALIZER -# endif -#endif -#if !defined(SWIFT_ENUM) -# define SWIFT_ENUM(_type, _name) enum _name : _type _name; enum SWIFT_ENUM_EXTRA _name : _type -# if defined(__has_feature) && __has_feature(generalized_swift_name) -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_EXTRA _name : _type -# else -# define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME) SWIFT_ENUM(_type, _name) -# endif -#endif -#if !defined(SWIFT_UNAVAILABLE) -# define SWIFT_UNAVAILABLE __attribute__((unavailable)) -#endif -#if !defined(SWIFT_UNAVAILABLE_MSG) -# define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) -#endif -#if !defined(SWIFT_AVAILABILITY) -# define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) -#endif -#if !defined(SWIFT_DEPRECATED) -# define SWIFT_DEPRECATED __attribute__((deprecated)) -#endif -#if !defined(SWIFT_DEPRECATED_MSG) -# define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) -#endif -#if defined(__has_feature) && __has_feature(modules) -@import UIKit; -@import CoreGraphics; -@import ObjectiveC; -@import Foundation; -#endif - -#pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" -#pragma clang diagnostic ignored "-Wduplicate-method-arg" -@class FormViewController; -@class NSCoder; -@class UIView; -@class UIResponder; -@class UIToolbar; - -SWIFT_CLASS("_TtC10SwiftForms12FormBaseCell") -@interface FormBaseCell : UITableViewCell -@property (nonatomic, weak) FormViewController * _Nullable formViewController; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -- (void)configure; -- (void)update; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -- (UIToolbar * _Nonnull)inputAccesoryView SWIFT_WARN_UNUSED_RESULT; -+ (CGFloat)formRowCellHeight SWIFT_WARN_UNUSED_RESULT; -+ (BOOL)formRowCanBecomeFirstResponder SWIFT_WARN_UNUSED_RESULT; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)didSelectRow; -- (void)updateConstraints; -@end - -@class UILabel; - -SWIFT_CLASS("_TtC10SwiftForms13FormTitleCell") -@interface FormTitleCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -- (void)configure; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms14FormButtonCell") -@interface FormButtonCell : FormTitleCell -- (void)configure; -- (void)update; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms13FormCheckCell") -@interface FormCheckCell : FormTitleCell -- (void)configure; -- (void)update; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms13FormValueCell") -@interface FormValueCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UILabel * _Nonnull valueLabel; -- (void)configure; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_CLASS("_TtC10SwiftForms12FormDateCell") -@interface FormDateCell : FormValueCell -- (void)configure; -- (void)update; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -+ (BOOL)formRowCanBecomeFirstResponder SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - -SWIFT_PROTOCOL("_TtP10SwiftForms12FormSelector_") -@protocol FormSelector -@property (nonatomic, strong) FormBaseCell * _Nullable formCell; -@end - -@class NSBundle; -@class UITableView; - -SWIFT_CLASS("_TtC10SwiftForms29FormOptionsSelectorController") -@interface FormOptionsSelectorController : UITableViewController -@property (nonatomic, strong) FormBaseCell * _Nullable formCell; -- (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil SWIFT_UNAVAILABLE; -- (void)viewDidLoad; -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -- (nonnull instancetype)initWithStyle:(UITableViewStyle)style SWIFT_UNAVAILABLE; -@end - -@class UIPickerView; - -SWIFT_CLASS("_TtC10SwiftForms14FormPickerCell") -@interface FormPickerCell : FormValueCell -- (void)configure; -- (void)update; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (NSString * _Nullable)pickerView:(UIPickerView * _Nonnull)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component SWIFT_WARN_UNUSED_RESULT; -- (void)pickerView:(UIPickerView * _Nonnull)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component; -- (NSInteger)numberOfComponentsInPickerView:(UIPickerView * _Nonnull)pickerView SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)pickerView:(UIPickerView * _Nonnull)pickerView numberOfRowsInComponent:(NSInteger)component SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UISegmentedControl; - -SWIFT_CLASS("_TtC10SwiftForms24FormSegmentedControlCell") -@interface FormSegmentedControlCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UISegmentedControl * _Nonnull segmentedControl; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - - -SWIFT_CLASS("_TtC10SwiftForms16FormSelectorCell") -@interface FormSelectorCell : FormValueCell -- (void)update; -+ (void)formViewController:(FormViewController * _Nonnull)formViewController didSelectRow:(FormBaseCell * _Nonnull)selectedRow; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UISlider; - -SWIFT_CLASS("_TtC10SwiftForms14FormSliderCell") -@interface FormSliderCell : FormTitleCell -@property (nonatomic, readonly, strong) UISlider * _Nonnull sliderView; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UIStepper; - -SWIFT_CLASS("_TtC10SwiftForms15FormStepperCell") -@interface FormStepperCell : FormTitleCell -@property (nonatomic, readonly, strong) UIStepper * _Nonnull stepperView; -@property (nonatomic, readonly, strong) UILabel * _Nonnull countLabel; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UISwitch; - -SWIFT_CLASS("_TtC10SwiftForms14FormSwitchCell") -@interface FormSwitchCell : FormTitleCell -@property (nonatomic, readonly, strong) UISwitch * _Nonnull switchView; -- (void)configure; -- (void)update; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UITextField; - -SWIFT_CLASS("_TtC10SwiftForms17FormTextFieldCell") -@interface FormTextFieldCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UITextField * _Nonnull textField; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (UIResponder * _Nullable)firstResponderElement SWIFT_WARN_UNUSED_RESULT; -+ (BOOL)formRowCanBecomeFirstResponder SWIFT_WARN_UNUSED_RESULT; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - -@class UITextView; - -SWIFT_CLASS("_TtC10SwiftForms16FormTextViewCell") -@interface FormTextViewCell : FormBaseCell -@property (nonatomic, readonly, strong) UILabel * _Nonnull titleLabel; -@property (nonatomic, readonly, strong) UITextView * _Nonnull textField; -+ (CGFloat)formRowCellHeight SWIFT_WARN_UNUSED_RESULT; -- (void)configure; -- (void)update; -- (NSDictionary * _Nonnull)constraintsViews SWIFT_WARN_UNUSED_RESULT; -- (NSArray * _Nonnull)defaultVisualConstraints SWIFT_WARN_UNUSED_RESULT; -- (void)textViewDidChange:(UITextView * _Nonnull)textView; -- (nonnull instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString * _Null_unspecified)reuseIdentifier OBJC_DESIGNATED_INITIALIZER; -- (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -@end - - - - -SWIFT_CLASS("_TtC10SwiftForms18FormViewController") -@interface FormViewController : UITableViewController -- (nonnull instancetype)init; -- (nonnull instancetype)initWithStyle:(UITableViewStyle)style OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; -- (nonnull instancetype)initWithCoder:(NSCoder * _Nonnull)aDecoder OBJC_DESIGNATED_INITIALIZER; -- (void)viewDidLoad; -- (id _Nullable)valueForTag:(NSString * _Nonnull)tag SWIFT_WARN_UNUSED_RESULT; -- (void)setValue:(id _Nonnull)value forTag:(NSString * _Nonnull)tag; -- (NSInteger)numberOfSectionsInTableView:(UITableView * _Nonnull)tableView SWIFT_WARN_UNUSED_RESULT; -- (NSInteger)tableView:(UITableView * _Nonnull)tableView numberOfRowsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UITableViewCell * _Nonnull)tableView:(UITableView * _Nonnull)tableView cellForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (NSString * _Nullable)tableView:(UITableView * _Nonnull)tableView titleForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (NSString * _Nullable)tableView:(UITableView * _Nonnull)tableView titleForFooterInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForFooterInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (UIView * _Nullable)tableView:(UITableView * _Nonnull)tableView viewForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForHeaderInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForFooterInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT; -- (CGFloat)tableView:(UITableView * _Nonnull)tableView heightForRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT; -- (void)tableView:(UITableView * _Nonnull)tableView didSelectRowAtIndexPath:(NSIndexPath * _Nonnull)indexPath; -@end - -#pragma clang diagnostic pop diff --git a/My Mind/SwiftForms.framework/Headers/SwiftForms.h b/My Mind/SwiftForms.framework/Headers/SwiftForms.h deleted file mode 100755 index b14d579..0000000 --- a/My Mind/SwiftForms.framework/Headers/SwiftForms.h +++ /dev/null @@ -1,19 +0,0 @@ -// -// SwiftForms.h -// SwiftForms -// -// Created by Miguel Angel Ortuno Ortuno on 14/5/15. -// Copyright (c) 2015 Miguel Angel Ortuno Ortuno. All rights reserved. -// - -#import - -//! Project version number for SwiftForms. -FOUNDATION_EXPORT double SwiftFormsVersionNumber; - -//! Project version string for SwiftForms. -FOUNDATION_EXPORT const unsigned char SwiftFormsVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import - - diff --git a/My Mind/SwiftForms.framework/Info.plist b/My Mind/SwiftForms.framework/Info.plist deleted file mode 100644 index 8547bdb..0000000 Binary files a/My Mind/SwiftForms.framework/Info.plist and /dev/null differ diff --git a/My Mind/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftdoc b/My Mind/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftdoc deleted file mode 100644 index 618a774..0000000 Binary files a/My Mind/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftdoc and /dev/null differ diff --git a/My Mind/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftmodule b/My Mind/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftmodule deleted file mode 100644 index e0da2e4..0000000 Binary files a/My Mind/SwiftForms.framework/Modules/SwiftForms.swiftmodule/x86_64.swiftmodule and /dev/null differ diff --git a/My Mind/SwiftForms.framework/Modules/module.modulemap b/My Mind/SwiftForms.framework/Modules/module.modulemap deleted file mode 100644 index 51d6767..0000000 --- a/My Mind/SwiftForms.framework/Modules/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module SwiftForms { - umbrella header "SwiftForms.h" - - export * - module * { export * } -} - -module SwiftForms.Swift { - header "SwiftForms-Swift.h" -} diff --git a/My Mind/SwiftForms.framework/SwiftForms b/My Mind/SwiftForms.framework/SwiftForms deleted file mode 100755 index 2eb2c04..0000000 Binary files a/My Mind/SwiftForms.framework/SwiftForms and /dev/null differ diff --git a/My Mind/SwiftForms.framework/_CodeSignature/CodeResources b/My Mind/SwiftForms.framework/_CodeSignature/CodeResources deleted file mode 100644 index c7f6dce..0000000 --- a/My Mind/SwiftForms.framework/_CodeSignature/CodeResources +++ /dev/null @@ -1,196 +0,0 @@ - - - - - files - - Headers/SwiftForms-Swift.h - - 0cQieLgtqToDzVU2PUinDhyGzTM= - - Headers/SwiftForms.h - - Y7Fa3PEkZ0GCt16wvvMf5PMqHQU= - - Info.plist - - 4YFM9JonxoLRDAq3JE1CnYZHyNs= - - Modules/SwiftForms.swiftmodule/x86_64.swiftdoc - - A5WpH4Q2DdjUNQpRchTNGNRJMWc= - - Modules/SwiftForms.swiftmodule/x86_64.swiftmodule - - qaOlLmVuckAFh8LDZmELmELh3+c= - - Modules/module.modulemap - - lKexM9Q4YDsm8L+bTG2JyToHhbA= - - - files2 - - Headers/SwiftForms-Swift.h - - hash - - 0cQieLgtqToDzVU2PUinDhyGzTM= - - hash2 - - ooyINQSLy180vDyPD1fpZYPhiq8MpBH8EwR6TkPHpPY= - - - Headers/SwiftForms.h - - hash - - Y7Fa3PEkZ0GCt16wvvMf5PMqHQU= - - hash2 - - uNliA+V8lSyJQ6xy4rsFiUwcdRLgQ2y9pcs2ZNu+MzE= - - - Modules/SwiftForms.swiftmodule/x86_64.swiftdoc - - hash - - A5WpH4Q2DdjUNQpRchTNGNRJMWc= - - hash2 - - e3NDlNNYwQHjQaf942bm/d6UnMBawq88RJV8GIu9iYU= - - - Modules/SwiftForms.swiftmodule/x86_64.swiftmodule - - hash - - qaOlLmVuckAFh8LDZmELmELh3+c= - - hash2 - - pLWpQt+pLaSrpe/tQrGdCGrDZc3xVGqWM7Rvm+AoGXA= - - - Modules/module.modulemap - - hash - - lKexM9Q4YDsm8L+bTG2JyToHhbA= - - hash2 - - 38OVDDAnh/yGFOKWi5Fa92sriGPHLGD83kg+twX9JF0= - - - - rules - - ^ - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^version.plist$ - - - rules2 - - .*\.dSYM($|/) - - weight - 11 - - ^ - - weight - 20 - - ^(.*/)?\.DS_Store$ - - omit - - weight - 2000 - - ^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/ - - nested - - weight - 10 - - ^.* - - ^.*\.lproj/ - - optional - - weight - 1000 - - ^.*\.lproj/locversion.plist$ - - omit - - weight - 1100 - - ^Base\.lproj/ - - weight - 1010 - - ^Info\.plist$ - - omit - - weight - 20 - - ^PkgInfo$ - - omit - - weight - 20 - - ^[^/]+$ - - nested - - weight - 10 - - ^embedded\.provisionprofile$ - - weight - 20 - - ^version\.plist$ - - weight - 20 - - - - diff --git a/MyMindParse Security Key.pem b/MyMindParse Security Key.pem new file mode 100644 index 0000000..86249cd --- /dev/null +++ b/MyMindParse Security Key.pem @@ -0,0 +1,23 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEogIBAAKCAQEAg5h/N+qCjidNBqQgxkKyAG4+2m4I5y3vA6biMcHEBGbuf8qGDSf4YNjEW3OW +wktBTA7j7z9jUjnu3hUWCpvlCe1YYd5KFOeKScObv5BgBVjYKh0XfeHmUJ6VHQhLf3blixcqP3Od +w1w1ZLhJFJI4ZvdNaDJDZlLxCpo3H+vORPZ4JjjLCzh3r8RDtdDmyZREjGMpl1pSW588gfIYQNUI +sjMsN/n5OFaGlAUG5I+29nND5+ZkOSbyg7rH+N08upeRQY3JEv5xBq1NPu6pmrGK9UUPVdOIo/IX +T10UC6UZXjsGkprnk9h16xiwAbI1IYpcD7KxRcMiLOQqGNPrQkK9pwIDAQABAoIBACnQ1nQVL8Eu +GdrHYqa9YMSkQ5KzLl8PiIi3id7XvIrNjnHLEAe0MMfNea+5rik1Mp2RibpngQ8K2610M9nRKdma +st/+e7nizV2dK6uWm/x2+9F+Bw34L3Bkw+tCzILHbC9jgAhDm9kNPuYvbQF9aTDG2rEGb8ZfCrsc +v/GDw7rDxV5yCQzHHi9UiPqkBMX9FhQQCmtAeKD7pLXqL7xMDiTmir4nZj3x4E3qXEtswkEgIv86 +jWwtbEggoN06ISBQALECmw8WHw8wW+W7/R+ABOv2e76sTmK1U3+WbMb9ydCXXpdAQHfsr3B10JCj +4FkyKt8/1QqasY9nZNPzMvALzsECgYEA0BurDYuxqgS6HJVOyoI4wDQKi+rq4iGMHjQffjzixIqv +FHI/XnAVfYQKvKFY6ODXioYvCiznkAk/oJPtZVgnbHQRFmp39myAG5JgPO2CpBQYpXDf3T7RwEBn +XUjhfM5qBVF0+hhWRmw4ZYJsC0x7jdkKX4WUyVpPo99q/W+VwscCgYEAoeE7cgJ3+oT79ofqkhHD +GKUgUhr8ouSGYWqdKyoLb8t1S+w0OdLizp/brZqwmErCEHKsduo5AuTtMgRjbWO6K/HYjLnkmp8Z +0cBTIzVAc3MGIxj2aP0O22SLRwAyeLLce/eQj1Qufaobcbfgpg0hvFvrxFoqVmMrhxSd6bCETiEC +gYAX0aLhWQTLreDTVq9+9CqkrRAr9YZOvYI5DsQwAa3+ytTBJVZla7S5+fv0nQ79EIb6/uKxanRS +gwx6R5QbTlysyBgQlb0HQmHjRfyn3JNgTkCH5wRoYUFGnNh3z9inHUT7ONiHq3NsegR2cdgF7woR +MS9DwZlG9oQ5AGBRg40DjwKBgDNmOaLMp93SpdI0e8WfgCvuGmIXkYoDN6vs1zSiZ/k6R+cwe7C0 +hjGHTpBD4rioXBAu6RXk7u89Uxcjj5JnLPDRHKoqSCzUQbV49KzkNq+xoQw529ugJjyBIzwLEvuC +B0IRbEQmPZDHF2m3McxntQOCyEyTOIgvet2sLSvLUWchAoGASV1NQKA72c7dhyaj4n27LqAbVg+6 +mXCSeKXKOSxrQWcXe1rVcnZS0605wmIIeizIhXyy5F1cGPnCxAim3a5FXEKKUTdGjOvhE79Aq8oB ++vYV/f0ux0U2U+Cx1WKGluC4oUSeheDj1SeJS+5Piv6EPZz9AFJ4qufLS02+icxvDbc= +-----END RSA PRIVATE KEY----- \ No newline at end of file diff --git a/Test Accounts.docx b/Test Accounts.docx new file mode 100644 index 0000000..1f83880 Binary files /dev/null and b/Test Accounts.docx differ diff --git a/thesisTemplate.pdf b/thesisTemplate.pdf new file mode 100755 index 0000000..3656e84 Binary files /dev/null and b/thesisTemplate.pdf differ