普通文本  |  36行  |  816 B

# Defining constants as part of an interface

AIDL has been enhanced to support defining integer and string constants
as part of an interface.

## Integer constants

```
interface IMyInterface {
    const int CONST_A = 1;
    const int CONST_B = 2;
    const int CONST_C = 3;
    ...
}
```

These map to appropriate 32 bit integer class constants in Java and C++ (e.g.
`IMyInterface.CONST_A` and `IMyInterface::CONST_A` respectively).

## String constants

```
interface IMyInterface {
    const String CONST_A = "foo";
    const String CONST_B = "bar";
    ...
}
```

These map to class level String constants in Java, and static getter
functions that return a const android::String16& in C++.

The constants are limited to contain printable ASCII characters < 0x10
and without backspaces (i.e. no '\' character).