summaryrefslogtreecommitdiff
path: root/appmap-gen.h
blob: cac98fa42e3112dc34a99dc93e2d91de08dea6e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
  File: appmap.h
*/

#ifndef _APPMAP_H_
#define _APPMAP_H_

// Common header files
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>

// Hashtable
#include <glib.h>
// Accessibility headers
#include <cspi/spi.h>

struct object_info
{
    char *object_type;
    char *prefix;
    int instance_index;
};

typedef struct object_info OBJECT_INFO;

Accessible *accessible_app_handle (char *app_name);
void reset_count ();
FILE *open_appmap (char *app_name);
int close_appmap (FILE *fp);
char *add_appmap_data (FILE *fp, Accessible *accessible, char *parent_name, int child_index, GHashTable *context); 
void create_appmap (FILE *fp, Accessible *accessible, char *parent_name); 
void accessible_object_handle (FILE *fp, Accessible *accessible, char *parent_name, int child_index, GHashTable *context); 
int appmap_main (char *);
OBJECT_INFO *get_object_info (Accessible *accessible);
void insert_context_header (FILE *fp, Accessible *accessible);
int filter_appmap_data (Accessible *accessible, OBJECT_INFO *cur_obj, char *label);
char *get_relation_name (Accessible *accessible, long *length);

#endif