diff options
Diffstat (limited to 'src/glibext/gcodebuffer.h')
-rw-r--r-- | src/glibext/gcodebuffer.h | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/src/glibext/gcodebuffer.h b/src/glibext/gcodebuffer.h deleted file mode 100644 index f600aee..0000000 --- a/src/glibext/gcodebuffer.h +++ /dev/null @@ -1,155 +0,0 @@ - -/* Chrysalide - Outil d'analyse de fichiers binaires - * gcodebuffer.h - prototypes pour l'affichage d'un fragment de code d'assemblage - * - * Copyright (C) 2010-2014 Cyrille Bagard - * - * This file is part of Chrysalide. - * - * Chrysalide 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. - * - * Chrysalide 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 Foobar. If not, see <http://www.gnu.org/licenses/>. - */ - - -#ifndef _GLIBEXT_GCODEBUFFER_H -#define _GLIBEXT_GCODEBUFFER_H - - -#include <glib-object.h> - - -#include "delayed.h" -#include "gbufferline.h" -#include "gwidthtracker.h" - - - -/* -------------------------- TAMPON POUR CODE DESASSEMBLE -------------------------- */ - - -#define G_TYPE_CODE_BUFFER (g_code_buffer_get_type()) -#define G_CODE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), G_TYPE_CODE_BUFFER, GCodeBuffer)) -#define G_CODE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), G_TYPE_CODE_BUFFER, GCodeBufferClass)) -#define G_IS_CODE_BUFFER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), G_TYPE_CODE_BUFFER)) -#define G_IS_CODE_BUFFER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), G_TYPE_CODE_BUFFER)) -#define G_CODE_BUFFER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), G_TYPE_CODE_BUFFER, GCodeBufferClass)) - - -/* Tampon pour code désassemblé (instance) */ -typedef struct _GCodeBuffer GCodeBuffer; - -/* Tampon pour code désassemblé (classe) */ -typedef struct _GCodeBufferClass GCodeBufferClass; - - -/* Détermine le type du composant de tampon pour code désassemblé. */ -GType g_code_buffer_get_type(void); - -/* Crée un nouveau composant de tampon pour code désassemblé. */ -GCodeBuffer *g_code_buffer_new(BufferLineColumn); - -/* Compte le nombre de lignes rassemblées dans un tampon. */ -size_t g_code_buffer_count_lines(const GCodeBuffer *); - -/* Fournit un lien vers la structure de suivi de largeurs. */ -const GWidthTracker *g_code_buffer_get_width_tracker(const GCodeBuffer *); - -/* Initie une nouvelle ligne devant être insérée dans le tampon. */ -GBufferLine *g_code_buffer_prepare_new_line(GCodeBuffer *, const mrange_t *); - -/* Ajoute une nouvelle ligne en fin de tampon. */ -void g_code_buffer_append_new_line(GCodeBuffer *, GBufferLine *); - -/* Ajoute de nouvelles lignes par rapport à une ligne donnée. */ -bool g_code_buffer_insert_lines(GCodeBuffer *, GBufferLine **, size_t, const GBufferLine *, bool); - -/* Supprime une ou plusieurs lignes du tampon indiqué. */ -void g_code_buffer_delete_lines(GCodeBuffer *, size_t, size_t); - - - -/* FIXME */ -#define g_code_buffer_append_new_line_fixme(b) \ - g_code_buffer_prepare_new_line(b, (mrange_t []){ { 0, 0 }, 0 }) - -/* FIXME */ -#define g_code_buffer_insert_at(buf, a, b) NULL - - - -/* Retrouve une ligne au sein d'un tampon avec une adresse. */ -GBufferLine *g_code_buffer_find_line_by_addr(const GCodeBuffer *, const vmpa2t *, BufferLineFlags, size_t *); - -/* Retrouve une ligne au sein d'un tampon avec un indice. */ -GBufferLine *g_code_buffer_find_line_by_index(const GCodeBuffer *, size_t); - -/* Convertit une adresse en indice de ligne. */ -size_t g_code_buffer_get_index_from_address(const GCodeBuffer *, const vmpa2t *, bool); - -/* Retrouve l'indice associé à une ligne au sein d'un tampon. */ -size_t g_code_buffer_find_index_by_line(const GCodeBuffer *, const GBufferLine *); - -/* Augmente l'indentation des prochaines lignes. */ -void g_code_buffer_inc_indentation(GCodeBuffer *); - -/* Diminue l'indentation des prochaines lignes. */ -void g_code_buffer_dec_indentation(GCodeBuffer *); - -/* Traitement d'une ligne parcourue. */ -typedef bool (* process_line_fc) (GCodeBuffer *, GBufferLine *, void *); - -/* Lance un parcours des différentes lignes du tampon de code. */ -GDelayedWork *g_buffer_code_scan(GCodeBuffer *, const vmpa2t *, const vmpa2t *, const char *, process_line_fc, void *); - - - -/* ------------------------- CONFORTS POUR LES COMMENTAIRES ------------------------- */ - - -/* Séparateur commun à tous les plateformes */ -#define COMMENT_LINE_SEP "\n" - - -/* Affiche un commentaire sur une ligne de tampon donnée. */ -bool g_code_buffer_update_inlined_comment(GCodeBuffer *, GBufferLine *, const char *, GObject *); - -/* Affiche un commentaire sur une ligne de tampon dédiée. */ -bool g_code_buffer_update_comment_area(GCodeBuffer *, GBufferLine *, const char *, bool, GObject *); - -/* Retrouve le créateur d'un commentaire existant. */ -GObject *g_code_buffer_get_comment_creator(const GCodeBuffer *, const GBufferLine *); - -/* Récupère le contenu d'un commentaire existant. */ -char *g_code_buffer_get_lines_comment(const GCodeBuffer *, const GBufferLine *); - -/* Supprime un commentaire existant. */ -bool g_code_buffer_delete_lines_comment(GCodeBuffer *, GBufferLine *); - - - -/* ------------------------- SIGNAUX IMMEDIATS POUR UNE VUE ------------------------- */ - - -/* Accompagne une variation de la quantité de lignes du tampon. */ -typedef void (* buffer_size_changed_cb) (const GCodeBuffer *, bool, size_t, size_t, GObject *); - - -/* Enregistre l'adresse d'une fonction de mise à jour de vue. */ -void g_code_buffer_register_view_callback(GCodeBuffer *, buffer_size_changed_cb, GObject *); - -/* Supprime un élément des vues à contacter pour mises à jour. */ -void g_code_buffer_unregister_view_callback(GCodeBuffer *, GObject *); - - - -#endif /* _GLIBEXT_GCODEBUFFER_H */ |