Flutter Engine
The Flutter Engine
fl_dart_project.h
Go to the documentation of this file.
1// Copyright 2013 The Flutter Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef FLUTTER_SHELL_PLATFORM_LINUX_PUBLIC_FLUTTER_LINUX_FL_DART_PROJECT_H_
6#define FLUTTER_SHELL_PLATFORM_LINUX_PUBLIC_FLUTTER_LINUX_FL_DART_PROJECT_H_
7
8#include <glib-object.h>
9#include <gmodule.h>
10
11#if !defined(__FLUTTER_LINUX_INSIDE__) && !defined(FLUTTER_LINUX_COMPILATION)
12#error "Only <flutter_linux/flutter_linux.h> can be included directly."
13#endif
14
15G_BEGIN_DECLS
16
17G_MODULE_EXPORT
18G_DECLARE_FINAL_TYPE(FlDartProject, fl_dart_project, FL, DART_PROJECT, GObject)
19
20/**
21 * FlDartProject:
22 *
23 * #FlDartProject represents a Dart project. It is used to provide information
24 * about the application when creating an #FlView.
25 */
26
27/**
28 * fl_dart_project_new:
29 *
30 * Creates a Flutter project for the currently running executable. The following
31 * data files are required relative to the location of the executable:
32 * - data/flutter_assets/ (as built by the Flutter tool).
33 * - data/icudtl.dat (provided as a resource by the Flutter tool).
34 * - lib/libapp.so (as built by the Flutter tool when in AOT mode).
35 *
36 * Returns: a new #FlDartProject.
37 */
38FlDartProject* fl_dart_project_new();
39
40/**
41 * fl_dart_project_set_aot_library_path:
42 * @project: an #FlDartProject.
43 * @path: the absolute path to the AOT library in the Flutter application.
44 *
45 * Sets the path to the AOT library in the Flutter application, which is
46 * the path to libapp.so. By default this is lib/libapp.so relative to the
47 * executable directory.
48 */
49void fl_dart_project_set_aot_library_path(FlDartProject* project,
50 const gchar* path);
51
52/**
53 * fl_dart_project_get_aot_library_path:
54 * @project: an #FlDartProject.
55 *
56 * Gets the path to the AOT library in the Flutter application.
57 *
58 * Returns: (type filename): an absolute file path, e.g.
59 * "/projects/my_dart_project/lib/libapp.so".
60 */
61const gchar* fl_dart_project_get_aot_library_path(FlDartProject* project);
62
63/**
64 * fl_dart_project_set_assets_path:
65 * @project: an #FlDartProject.
66 * @path: the absolute path to the assets directory.
67 *
68 * Sets the path to the directory containing the assets used in the Flutter
69 * application. By default, this is the data/flutter_assets subdirectory
70 * relative to the executable directory.
71 */
72void fl_dart_project_set_assets_path(FlDartProject* project, gchar* path);
73
74/**
75 * fl_dart_project_get_assets_path:
76 * @project: an #FlDartProject.
77 *
78 * Gets the path to the directory containing the assets used in the Flutter
79 * application.
80 *
81 * Returns: (type filename): an absolute directory path, e.g.
82 * "/projects/my_dart_project/data/flutter_assets".
83 */
84const gchar* fl_dart_project_get_assets_path(FlDartProject* project);
85
86/**
87 * fl_dart_project_set_icu_data_path:
88 * @project: an #FlDartProject.
89 * @path: the absolute path to the ICU data file.
90 *
91 * Sets the path to the ICU data file used in the Flutter application. By
92 * default, this is data/icudtl.dat relative to the executable directory.
93 */
94void fl_dart_project_set_icu_data_path(FlDartProject* project, gchar* path);
95
96/**
97 * fl_dart_project_get_icu_data_path:
98 * @project: an #FlDartProject.
99 *
100 * Gets the path to the ICU data file in the Flutter application.
101 *
102 * Returns: (type filename): an absolute file path, e.g.
103 * "/projects/my_dart_project/data/icudtl.dat".
104 */
105const gchar* fl_dart_project_get_icu_data_path(FlDartProject* project);
106
107/**
108 * fl_dart_project_set_dart_entrypoint_arguments:
109 * @project: an #FlDartProject.
110 * @argv: a pointer to a NULL-terminated array of C strings containing the
111 * command line arguments.
112 *
113 * Sets the command line arguments to be passed through to the Dart
114 * entrypoint function.
115 */
116void fl_dart_project_set_dart_entrypoint_arguments(FlDartProject* project,
117 char** argv);
118
119/**
120 * fl_dart_project_get_dart_entrypoint_arguments:
121 * @project: an #FlDartProject.
122 *
123 * Gets the command line arguments to be passed through to the Dart entrypoint
124 * function.
125 *
126 * Returns: a NULL-terminated array of strings containing the command line
127 * arguments to be passed to the Dart entrypoint.
128 */
129gchar** fl_dart_project_get_dart_entrypoint_arguments(FlDartProject* project);
130
131G_END_DECLS
132
133#endif // FLUTTER_SHELL_PLATFORM_LINUX_PUBLIC_FLUTTER_LINUX_FL_DART_PROJECT_H_
G_BEGIN_DECLS G_DECLARE_FINAL_TYPE(FlAccessibleTextField, fl_accessible_text_field, FL, ACCESSIBLE_TEXT_FIELD, FlAccessibleNode)
gchar ** fl_dart_project_get_dart_entrypoint_arguments(FlDartProject *project)
const gchar * fl_dart_project_get_aot_library_path(FlDartProject *project)
void fl_dart_project_set_dart_entrypoint_arguments(FlDartProject *project, char **argv)
void fl_dart_project_set_assets_path(FlDartProject *project, gchar *path)
const gchar * fl_dart_project_get_assets_path(FlDartProject *project)
void fl_dart_project_set_aot_library_path(FlDartProject *project, const gchar *path)
const gchar * fl_dart_project_get_icu_data_path(FlDartProject *project)
void fl_dart_project_set_icu_data_path(FlDartProject *project, gchar *path)
G_BEGIN_DECLS G_MODULE_EXPORT FlDartProject * fl_dart_project_new()
char ** argv
Definition: library.h:9
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition: switches.h:57