The Frama-C current project can be managed with the server requests provided below.
Initially, the current project is the one selected when the
server starts. Hence, from the Frama-C command line,
-then-on <P> -server-xxx would start the server
with current project <P>.
When modifying the current project through request
Kernel.Project.SetCurrent, client shall wait for an
acknowledgement before sending further GET requests.
Otherwise, the GET might be executed on a different
project, due to the asynchronous behavior of the server.
However, it is still possible to execute a request on a
specific project with Kernel.Project.{Get|Set|Exec}On
requests.
STATE)Current Frama-C project
SIGNAL)Signal for state current
GET)Getter for state current
input
::=null
output
::=number
SET)Setter for state current
input
::=number
output
::=null
SET)Creates a new Frama-C project with the given name
input
::=string
output
::=null
SET)Rename a project
input
::=[number , string]
output
::=string?
SET)Remove a project from the session
input
::=number
output
::=string?
SET)Duplicate a project
input
::=[number , string]
output
::=string?
SET)Load a saved project
input
::=string
output
::=string?
SET)Save a project on disk
input
::=[number , string]
output
::=string?
ARRAY)List of Frama-C projects
SIGNAL)Signal for array list
DATA)Data for array rows list
listData::= {fields…}
| Field | Format | Description |
|---|---|---|
"key" |
$list |
Entry identifier. |
"id" |
number | Project ID |
"name" |
string | Project name |
GET)Data fetcher for array list
input
::=number
output
::={output…}
| Output | Format | Description |
|---|---|---|
"reload" |
boolean | array fully reloaded |
"removed" |
$list
[] |
removed entries |
"updated" |
listData
[] |
updated entries |
"pending" |
number | remaining entries to be fetched |
GET)Force full reload for array list
input
::=null
output
::=null