summary refs log tree commit diff stats
path: root/compiler/importer.nim
Commit message (Expand)AuthorAgeFilesLines
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-26/+26
* fixes #5050; fixes #11826 (#12606) [backport]cooldome2019-11-071-0/+4
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-271-1/+1
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-3/+3
* fixes 'unused module' feature for 32 bit builds of Nim for good [nobackport]Araq2019-08-091-2/+2
* fixes #11809Andreas Rumpf2019-08-081-11/+12
* fixes #11790 [nobackport]Araq2019-07-191-1/+1
* Merge branch 'devel' into araq-detect-unused-importsAndreas Rumpf2019-07-181-2/+2
|\
| * [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-2/+2
* | [feature] detect unused importsAraq2019-07-171-0/+1
|/
* styleCheck: make the compiler and large parts of the stdlib compatible with -...Araq2019-07-101-1/+1
* fixes #3333Andreas Rumpf2019-07-061-6/+6
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-4/+4
* Fix 105, few fixes for 101 (#11148)genotrance2019-05-041-1/+1
* Deprecate gc v2 (#10151)Neelesh Chandola2019-01-011-2/+2
* Nimsuggest now shows gotodef for y in `from x import y` (#10023)Neelesh Chandola2018-12-181-0/+1
* IC: further progressAraq2018-11-221-1/+1
* compiler refactoring; use typesafe path handing; docgen: render symbols betwe...Andreas Rumpf2018-09-071-8/+6
* fixes #8852Araq2018-09-031-5/+5
* fixes #8066Araq2018-08-311-2/+8
* Fix nkImportAs regression (#8796)Oscar Nihlgård2018-08-281-9/+14
* Fix for module alias inside brackets (#8726)Oscar Nihlgård2018-08-231-7/+19
* incremental compilation: implemented basic replay logicAndreas Rumpf2018-06-021-11/+13
* baby steps for incremental compilationAndreas Rumpf2018-05-301-2/+3
* refactoring: remove idents.legacy global variable and pass the IdentCache aro...Andreas Rumpf2018-05-271-2/+2
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
* preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-2/+2
* fixes testament compilationAraq2018-05-141-5/+8
|\
| * implement the export/except statementZahary Karadjov2018-05-071-5/+8
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-131-1/+2
* | make nimsuggest compile againAndreas Rumpf2018-05-131-1/+1
* | pragmas compiles againAndreas Rumpf2018-05-111-17/+17
|/
* the 'deprecated' pragma for modules now supports an error messageAraq2018-04-061-1/+4
* Jump to definition on import will open the imported module (#7155)Yuriy Glukhov2018-01-311-2/+2
* make type vs proc ambiguous handling more consistent; fixes #6726; fixes #6693Araq2017-12-151-1/+1
* Add sections (type, var, let, const, using) support for reorder pragma (#6326)BigEpsilon2017-10-281-73/+1
* implemented new experimental scriptable import mechanismAndreas Rumpf2017-10-011-10/+40
* .pure enums are much more convenient to use nowAndreas Rumpf2017-09-171-2/+10
* fixes #5185Andreas Rumpf2017-02-081-0/+1
* fixes #5185Andreas Rumpf2017-01-061-2/+3
* implements module grouping for the import statementAndreas Rumpf2016-12-211-7/+19
* recursive modules are only detected to improve error messagesAndreas Rumpf2016-11-241-3/+3
* make tests green againAndreas Rumpf2016-11-241-1/+1
* disallow recursive module dependenciesAraq2016-11-231-3/+17
* new dependency tracking for nimsuggestAraq2016-11-051-1/+1
* big refactoring: step 1Araq2016-10-311-1/+1
* fixes a regression that caused --import in a config file to break thingsAndreas Rumpf2016-08-291-1/+4
* tester cleanup; enable some rod testsAraq2016-08-271-1/+1
* Locate 'attempt to redefine' errors at the import statement rather than at th...Kier Davis2016-07-301-3/+3
* changed the compiler's path handling; fixes #546Andreas Rumpf2016-05-311-1/+5
Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/*
 * otrlib.h
 * vim: expandtab:ts=4:sts=4:sw=4
 *
 * Copyright (C) 2012 - 2019 James Booth <boothj5@gmail.com>
 *
 * This file is part of Profanity.
 *
 * Profanity is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Profanity is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Profanity.  If not, see <https://www.gnu.org/licenses/>.
 *
 * In addition, as a special exception, the copyright holders give permission to
 * link the code of portions of this program with the OpenSSL library under
 * certain conditions as described in each individual source file, and
 * distribute linked combinations including the two.
 *
 * You must obey the GNU General Public License in all respects for all of the
 * code used other than OpenSSL. If you modify file(s) with this exception, you
 * may extend this exception to your version of the file(s), but you are not
 * obligated to do so. If you do not wish to do so, delete this exception
 * statement from your version. If you delete this exception statement from all
 * source files in the program, then also delete it here.
 *
 */

#ifndef OTR_OTRLIB_H
#define OTR_OTRLIB_H

OtrlPolicy otrlib_policy(void);

char* otrlib_start_query(void);

void otrlib_init_ops(OtrlMessageAppOps* ops);

void otrlib_init_timer(void);
void otrlib_poll(void);

ConnContext* otrlib_context_find(OtrlUserState user_state, const char* const recipient, char* jid);

void otrlib_end_session(OtrlUserState user_state, const char* const recipient, char* jid, OtrlMessageAppOps* ops);

gcry_error_t otrlib_encrypt_message(OtrlUserState user_state, OtrlMessageAppOps* ops, char* jid, const char* const to,
                                    const char* const message, char** newmessage);

int otrlib_decrypt_message(OtrlUserState user_state, OtrlMessageAppOps* ops, char* jid, const char* const from,
                           const char* const message, char** decrypted, OtrlTLV** tlvs);

void otrlib_handle_tlvs(OtrlUserState user_state, OtrlMessageAppOps* ops, ConnContext* context, OtrlTLV* tlvs, GHashTable* smp_initiators);

#endif