X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=bindings%2Fradio%2Fradio-api.h;fp=bindings%2Fradio%2Fradio-api.h;h=9b91ec69d9c410ccd5f38e521a0b1b2eda4f8637;hb=7059e59cddc1c81321639875636e88895bc14309;hp=0000000000000000000000000000000000000000;hpb=ef908d903929988ad01f9df94415fc9c3ddebcac;p=src%2Fapp-framework-binder.git diff --git a/bindings/radio/radio-api.h b/bindings/radio/radio-api.h new file mode 100644 index 00000000..9b91ec69 --- /dev/null +++ b/bindings/radio/radio-api.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2015, 2016 "IoT.bzh" + * Author "Manuel Bachmann" + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef RADIO_API_H +#define RADIO_API_H + +/* -------------- PLUGIN DEFINITIONS ----------------- */ + +#define MAX_RADIO 10 +typedef enum { FM, AM } Mode; + +/* structure holding one radio device with current usage status */ +typedef struct { + int idx; + char *name; + int used; +} radioDevT; + +/* global plugin handle, should store everything we may need */ +typedef struct { + radioDevT *radios[MAX_RADIO]; // pointer to existing radio + unsigned int devCount; +} pluginHandleT; + +/* private client context [will be destroyed when client leaves] */ +typedef struct { + radioDevT *radio; /* pointer to client radio */ + int idx; /* radio index within global array */ + Mode mode; /* radio mode: AM/FM */ + float freq; /* radio frequency (Mhz) */ + unsigned char mute; /* radio muted: 0(false)/1(true) */ + unsigned char is_playing; /* radio is playing: 0(false)/1(true) */ +} radioCtxHandleT; + +#endif /* RADIO_API_H */