Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 24177835 authored by Tomasz Wasilczyk's avatar Tomasz Wasilczyk Committed by Android (Google) Code Review
Browse files

Merge "Remove previous implementation of RadioService."

parents 325b2997 88724633
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -2,6 +2,5 @@ subdirs = [
    "camera",
    "drm/*",
    "media/*",
    "radio",
    "soundtrigger",
]

include/radio/IRadio.h

deleted100644 → 0
+0 −70
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * 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 ANDROID_HARDWARE_IRADIO_H
#define ANDROID_HARDWARE_IRADIO_H

#include <utils/RefBase.h>
#include <binder/IInterface.h>
#include <binder/IMemory.h>
#include <binder/Parcel.h>
#include <system/radio.h>

namespace android {

class IRadio : public IInterface
{
public:

    DECLARE_META_INTERFACE(Radio);

    virtual void detach() = 0;

    virtual status_t setConfiguration(const struct radio_band_config *config) = 0;

    virtual status_t getConfiguration(struct radio_band_config *config) = 0;

    virtual status_t setMute(bool mute) = 0;

    virtual status_t getMute(bool *mute) = 0;

    virtual status_t step(radio_direction_t direction, bool skipSubChannel) = 0;

    virtual status_t scan(radio_direction_t direction, bool skipSubChannel) = 0;

    virtual status_t tune(unsigned int channel, unsigned int subChannel) = 0;

    virtual status_t cancel() = 0;

    virtual status_t getProgramInformation(struct radio_program_info *info) = 0;

    virtual status_t hasControl(bool *hasControl) = 0;
};

// ----------------------------------------------------------------------------

class BnRadio: public BnInterface<IRadio>
{
public:
    virtual status_t    onTransact( uint32_t code,
                                    const Parcel& data,
                                    Parcel* reply,
                                    uint32_t flags = 0);
};

}; // namespace android

#endif //ANDROID_HARDWARE_IRADIO_H

include/radio/IRadioClient.h

deleted100644 → 0
+0 −50
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * 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 ANDROID_HARDWARE_IRADIO_CLIENT_H
#define ANDROID_HARDWARE_IRADIO_CLIENT_H

#include <utils/RefBase.h>
#include <binder/IInterface.h>
#include <binder/IMemory.h>
#include <binder/Parcel.h>

namespace android {

class IRadioClient : public IInterface
{
public:

    DECLARE_META_INTERFACE(RadioClient);

    virtual void onEvent(const sp<IMemory>& eventMemory) = 0;

};

// ----------------------------------------------------------------------------

class BnRadioClient : public BnInterface<IRadioClient>
{
public:
    virtual status_t    onTransact( uint32_t code,
                                    const Parcel& data,
                                    Parcel* reply,
                                    uint32_t flags = 0);
};

}; // namespace android

#endif //ANDROID_HARDWARE_IRADIO_CLIENT_H

include/radio/IRadioService.h

deleted100644 → 0
+0 −59
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * 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 ANDROID_HARDWARE_IRADIO_SERVICE_H
#define ANDROID_HARDWARE_IRADIO_SERVICE_H

#include <utils/RefBase.h>
#include <binder/IInterface.h>
#include <binder/Parcel.h>
#include <system/radio.h>

namespace android {

class IRadio;
class IRadioClient;

class IRadioService : public IInterface
{
public:

    DECLARE_META_INTERFACE(RadioService);

    virtual status_t listModules(struct radio_properties *properties,
                                 uint32_t *numModules) = 0;

    virtual status_t attach(const radio_handle_t handle,
                            const sp<IRadioClient>& client,
                            const struct radio_band_config *config,
                            bool withAudio,
                            sp<IRadio>& radio) = 0;
};

// ----------------------------------------------------------------------------

class BnRadioService: public BnInterface<IRadioService>
{
public:
    virtual status_t    onTransact( uint32_t code,
                                    const Parcel& data,
                                    Parcel* reply,
                                    uint32_t flags = 0);
};

}; // namespace android

#endif //ANDROID_HARDWARE_IRADIO_SERVICE_H

include/radio/Radio.h

deleted100644 → 0
+0 −87
Original line number Diff line number Diff line
/*
 * Copyright (C) 2015 The Android Open Source Project
 *
 * 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 ANDROID_HARDWARE_RADIO_H
#define ANDROID_HARDWARE_RADIO_H

#include <binder/IBinder.h>
#include <utils/threads.h>
#include <radio/RadioCallback.h>
#include <radio/IRadio.h>
#include <radio/IRadioService.h>
#include <radio/IRadioClient.h>
#include <system/radio.h>

namespace android {

class MemoryDealer;

class Radio : public BnRadioClient,
                        public IBinder::DeathRecipient
{
public:

    virtual ~Radio();

    static  status_t listModules(struct radio_properties *properties,
                                 uint32_t *numModules);
    static  sp<Radio> attach(radio_handle_t handle,
                             const struct radio_band_config *config,
                             bool withAudio,
                             const sp<RadioCallback>& callback);


            void detach();

            status_t setConfiguration(const struct radio_band_config *config);

            status_t getConfiguration(struct radio_band_config *config);

            status_t setMute(bool mute);

            status_t getMute(bool *mute);

            status_t step(radio_direction_t direction, bool skipSubChannel);

            status_t scan(radio_direction_t direction, bool skipSubChannel);

            status_t tune(unsigned int channel, unsigned int subChannel);

            status_t cancel();

            status_t getProgramInformation(struct radio_program_info *info);

            status_t hasControl(bool *hasControl);

            // BpRadioClient
            virtual void onEvent(const sp<IMemory>& eventMemory);

            //IBinder::DeathRecipient
            virtual void binderDied(const wp<IBinder>& who);

private:
            Radio(radio_handle_t handle,
                            const sp<RadioCallback>&);
            static const sp<IRadioService> getRadioService();

            Mutex                   mLock;
            sp<IRadio>              mIRadio;
            sp<RadioCallback>       mCallback;
};

}; // namespace android

#endif //ANDROID_HARDWARE_RADIO_H
Loading