messenger-cli

Command-line user interface for GNUnet Messenger
Log | Files | Refs | README | LICENSE

chat_open_dialog.h (1723B)


      1 /*
      2    This file is part of GNUnet.
      3    Copyright (C) 2022, 2026 GNUnet e.V.
      4 
      5    GNUnet is free software: you can redistribute it and/or modify it
      6    under the terms of the GNU Affero General Public License as published
      7    by the Free Software Foundation, either version 3 of the License,
      8    or (at your option) any later version.
      9 
     10    GNUnet is distributed in the hope that it will be useful, but
     11    WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13    Affero General Public License for more details.
     14 
     15    You should have received a copy of the GNU Affero General Public License
     16    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17 
     18    SPDX-License-Identifier: AGPL3.0-or-later
     19  */
     20 /*
     21  * @author Tobias Frisch
     22  * @file ui/chat_open_dialog.h
     23  */
     24 
     25 #ifndef UI_CHAT_OPEN_DIALOG_H_
     26 #define UI_CHAT_OPEN_DIALOG_H_
     27 
     28 #include <curses.h>
     29 
     30 struct MESSENGER_Application;
     31 
     32 /**
     33  * @struct UI_CHAT_OPEN_DIALOG_Handle
     34  */
     35 typedef struct UI_CHAT_OPEN_DIALOG_Handle
     36 {
     37   WINDOW **window;
     38 
     39   char topic [256];
     40   int topic_len;
     41   int topic_pos;
     42 } UI_CHAT_OPEN_DIALOG_Handle;
     43 
     44 /**
     45  * Processes the current key event by the dialog
     46  * to open a chat.
     47  *
     48  * @param[in,out] open_dialog Chat opening dialog
     49  * @param[in,out] app Application handle
     50  * @param[in] key Key
     51  */
     52 void
     53 chat_open_dialog_event(UI_CHAT_OPEN_DIALOG_Handle *open_dialog,
     54 		       struct MESSENGER_Application *app,
     55 		       int key);
     56 
     57 /**
     58  * Prints the content of the dialog to open a
     59  * chat to its selected window view.
     60  *
     61  * @param[in] open_dialog Chat opening dialog
     62  */
     63 void
     64 chat_open_dialog_print(UI_CHAT_OPEN_DIALOG_Handle *open_dialog);
     65 
     66 #endif /* UI_CHAT_OPEN_DIALOG_H_ */