summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/camera/Android.mk23
-rw-r--r--libs/camera/Camera.cpp448
-rw-r--r--libs/camera/CameraParameters.cpp479
-rw-r--r--libs/camera/ICamera.cpp420
-rw-r--r--libs/camera/ICameraClient.cpp132
-rw-r--r--libs/camera/ICameraRecordingProxy.cpp109
-rw-r--r--libs/camera/ICameraRecordingProxyListener.cpp75
-rw-r--r--libs/camera/ICameraService.cpp113
-rw-r--r--libs/common_time/Android.mk21
-rw-r--r--libs/common_time/ICommonClock.cpp432
-rw-r--r--libs/common_time/ICommonTimeConfig.cpp508
-rw-r--r--libs/common_time/cc_helper.cpp129
-rw-r--r--libs/common_time/local_clock.cpp92
-rw-r--r--libs/common_time/utils.cpp89
-rw-r--r--libs/common_time/utils.h34
15 files changed, 0 insertions, 3104 deletions
diff --git a/libs/camera/Android.mk b/libs/camera/Android.mk
deleted file mode 100644
index 7286f92..0000000
--- a/libs/camera/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= \
- Camera.cpp \
- CameraParameters.cpp \
- ICamera.cpp \
- ICameraClient.cpp \
- ICameraService.cpp \
- ICameraRecordingProxy.cpp \
- ICameraRecordingProxyListener.cpp
-
-LOCAL_SHARED_LIBRARIES := \
- libcutils \
- libutils \
- libbinder \
- libhardware \
- libui \
- libgui
-
-LOCAL_MODULE:= libcamera_client
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/libs/camera/Camera.cpp b/libs/camera/Camera.cpp
deleted file mode 100644
index b81fe86..0000000
--- a/libs/camera/Camera.cpp
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
-**
-** Copyright (C) 2008, 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.
-*/
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "Camera"
-#include <utils/Log.h>
-#include <utils/threads.h>
-#include <binder/IPCThreadState.h>
-#include <binder/IServiceManager.h>
-#include <binder/IMemory.h>
-
-#include <camera/Camera.h>
-#include <camera/ICameraRecordingProxyListener.h>
-#include <camera/ICameraService.h>
-
-#include <gui/ISurfaceTexture.h>
-#include <gui/Surface.h>
-
-namespace android {
-
-// client singleton for camera service binder interface
-Mutex Camera::mLock;
-sp<ICameraService> Camera::mCameraService;
-sp<Camera::DeathNotifier> Camera::mDeathNotifier;
-
-// establish binder interface to camera service
-const sp<ICameraService>& Camera::getCameraService()
-{
- Mutex::Autolock _l(mLock);
- if (mCameraService.get() == 0) {
- sp<IServiceManager> sm = defaultServiceManager();
- sp<IBinder> binder;
- do {
- binder = sm->getService(String16("media.camera"));
- if (binder != 0)
- break;
- ALOGW("CameraService not published, waiting...");
- usleep(500000); // 0.5 s
- } while(true);
- if (mDeathNotifier == NULL) {
- mDeathNotifier = new DeathNotifier();
- }
- binder->linkToDeath(mDeathNotifier);
- mCameraService = interface_cast<ICameraService>(binder);
- }
- ALOGE_IF(mCameraService==0, "no CameraService!?");
- return mCameraService;
-}
-
-// ---------------------------------------------------------------------------
-
-Camera::Camera()
-{
- init();
-}
-
-// construct a camera client from an existing camera remote
-sp<Camera> Camera::create(const sp<ICamera>& camera)
-{
- ALOGV("create");
- if (camera == 0) {
- ALOGE("camera remote is a NULL pointer");
- return 0;
- }
-
- sp<Camera> c = new Camera();
- if (camera->connect(c) == NO_ERROR) {
- c->mStatus = NO_ERROR;
- c->mCamera = camera;
- camera->asBinder()->linkToDeath(c);
- return c;
- }
- return 0;
-}
-
-void Camera::init()
-{
- mStatus = UNKNOWN_ERROR;
-}
-
-Camera::~Camera()
-{
- // We don't need to call disconnect() here because if the CameraService
- // thinks we are the owner of the hardware, it will hold a (strong)
- // reference to us, and we can't possibly be here. We also don't want to
- // call disconnect() here if we are in the same process as mediaserver,
- // because we may be invoked by CameraService::Client::connect() and will
- // deadlock if we call any method of ICamera here.
-}
-
-int32_t Camera::getNumberOfCameras()
-{
- const sp<ICameraService>& cs = getCameraService();
- if (cs == 0) return 0;
- return cs->getNumberOfCameras();
-}
-
-status_t Camera::getCameraInfo(int cameraId,
- struct CameraInfo* cameraInfo) {
- const sp<ICameraService>& cs = getCameraService();
- if (cs == 0) return UNKNOWN_ERROR;
- return cs->getCameraInfo(cameraId, cameraInfo);
-}
-
-sp<Camera> Camera::connect(int cameraId, bool force, bool keep)
-{
- ALOGV("connect");
- sp<Camera> c = new Camera();
- const sp<ICameraService>& cs = getCameraService();
- if (cs != 0) {
- c->mCamera = cs->connect(c, cameraId, force, keep);
- }
- if (c->mCamera != 0) {
- c->mCamera->asBinder()->linkToDeath(c);
- c->mStatus = NO_ERROR;
- } else {
- c.clear();
- }
- return c;
-}
-
-void Camera::disconnect()
-{
- ALOGV("disconnect");
- if (mCamera != 0) {
- mCamera->disconnect();
- mCamera->asBinder()->unlinkToDeath(this);
- mCamera = 0;
- }
-}
-
-status_t Camera::reconnect()
-{
- ALOGV("reconnect");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->connect(this);
-}
-
-sp<ICamera> Camera::remote()
-{
- return mCamera;
-}
-
-status_t Camera::lock()
-{
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->lock();
-}
-
-status_t Camera::unlock()
-{
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->unlock();
-}
-
-// pass the buffered Surface to the camera service
-status_t Camera::setPreviewDisplay(const sp<Surface>& surface)
-{
- ALOGV("setPreviewDisplay(%p)", surface.get());
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- if (surface != 0) {
- return c->setPreviewDisplay(surface);
- } else {
- ALOGD("app passed NULL surface");
- return c->setPreviewDisplay(0);
- }
-}
-
-// pass the buffered ISurfaceTexture to the camera service
-status_t Camera::setPreviewTexture(const sp<ISurfaceTexture>& surfaceTexture)
-{
- ALOGV("setPreviewTexture(%p)", surfaceTexture.get());
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- if (surfaceTexture != 0) {
- return c->setPreviewTexture(surfaceTexture);
- } else {
- ALOGD("app passed NULL surface");
- return c->setPreviewTexture(0);
- }
-}
-
-// start preview mode
-status_t Camera::startPreview()
-{
- ALOGV("startPreview");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->startPreview();
-}
-
-status_t Camera::storeMetaDataInBuffers(bool enabled)
-{
- ALOGV("storeMetaDataInBuffers: %s",
- enabled? "true": "false");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->storeMetaDataInBuffers(enabled);
-}
-
-// start recording mode, must call setPreviewDisplay first
-status_t Camera::startRecording()
-{
- ALOGV("startRecording");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->startRecording();
-}
-
-// stop preview mode
-void Camera::stopPreview()
-{
- ALOGV("stopPreview");
- sp <ICamera> c = mCamera;
- if (c == 0) return;
- c->stopPreview();
-}
-
-// stop recording mode
-void Camera::stopRecording()
-{
- ALOGV("stopRecording");
- {
- Mutex::Autolock _l(mLock);
- mRecordingProxyListener.clear();
- }
- sp <ICamera> c = mCamera;
- if (c == 0) return;
- c->stopRecording();
-}
-
-// release a recording frame
-void Camera::releaseRecordingFrame(const sp<IMemory>& mem)
-{
- ALOGV("releaseRecordingFrame");
- sp <ICamera> c = mCamera;
- if (c == 0) return;
- c->releaseRecordingFrame(mem);
-}
-
-// get preview state
-bool Camera::previewEnabled()
-{
- ALOGV("previewEnabled");
- sp <ICamera> c = mCamera;
- if (c == 0) return false;
- return c->previewEnabled();
-}
-
-// get recording state
-bool Camera::recordingEnabled()
-{
- ALOGV("recordingEnabled");
- sp <ICamera> c = mCamera;
- if (c == 0) return false;
- return c->recordingEnabled();
-}
-
-status_t Camera::autoFocus()
-{
- ALOGV("autoFocus");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->autoFocus();
-}
-
-status_t Camera::cancelAutoFocus()
-{
- ALOGV("cancelAutoFocus");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->cancelAutoFocus();
-}
-
-// take a picture
-status_t Camera::takePicture(int msgType)
-{
- ALOGV("takePicture: 0x%x", msgType);
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->takePicture(msgType);
-}
-
-// set preview/capture parameters - key/value pairs
-status_t Camera::setParameters(const String8& params)
-{
- ALOGV("setParameters");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->setParameters(params);
-}
-
-// get preview/capture parameters - key/value pairs
-String8 Camera::getParameters() const
-{
- ALOGV("getParameters");
- String8 params;
- sp <ICamera> c = mCamera;
- if (c != 0) params = mCamera->getParameters();
- return params;
-}
-
-// send command to camera driver
-status_t Camera::sendCommand(int32_t cmd, int32_t arg1, int32_t arg2)
-{
- ALOGV("sendCommand");
- sp <ICamera> c = mCamera;
- if (c == 0) return NO_INIT;
- return c->sendCommand(cmd, arg1, arg2);
-}
-
-void Camera::setListener(const sp<CameraListener>& listener)
-{
- Mutex::Autolock _l(mLock);
- mListener = listener;
-}
-
-void Camera::setRecordingProxyListener(const sp<ICameraRecordingProxyListener>& listener)
-{
- Mutex::Autolock _l(mLock);
- mRecordingProxyListener = listener;
-}
-
-void Camera::setPreviewCallbackFlags(int flag)
-{
- ALOGV("setPreviewCallbackFlags");
- sp <ICamera> c = mCamera;
- if (c == 0) return;
- mCamera->setPreviewCallbackFlag(flag);
-}
-
-// callback from camera service
-void Camera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
-{
- sp<CameraListener> listener;
- {
- Mutex::Autolock _l(mLock);
- listener = mListener;
- }
- if (listener != NULL) {
- listener->notify(msgType, ext1, ext2);
- }
-}
-
-// callback from camera service when frame or image is ready
-void Camera::dataCallback(int32_t msgType, const sp<IMemory>& dataPtr,
- camera_frame_metadata_t *metadata)
-{
- sp<CameraListener> listener;
- {
- Mutex::Autolock _l(mLock);
- listener = mListener;
- }
- if (listener != NULL) {
- listener->postData(msgType, dataPtr, metadata);
- }
-}
-
-// callback from camera service when timestamped frame is ready
-void Camera::dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& dataPtr)
-{
- // If recording proxy listener is registered, forward the frame and return.
- // The other listener (mListener) is ignored because the receiver needs to
- // call releaseRecordingFrame.
- sp<ICameraRecordingProxyListener> proxylistener;
- {
- Mutex::Autolock _l(mLock);
- proxylistener = mRecordingProxyListener;
- }
- if (proxylistener != NULL) {
- proxylistener->dataCallbackTimestamp(timestamp, msgType, dataPtr);
- return;
- }
-
- sp<CameraListener> listener;
- {
- Mutex::Autolock _l(mLock);
- listener = mListener;
- }
- if (listener != NULL) {
- listener->postDataTimestamp(timestamp, msgType, dataPtr);
- } else {
- ALOGW("No listener was set. Drop a recording frame.");
- releaseRecordingFrame(dataPtr);
- }
-}
-
-void Camera::binderDied(const wp<IBinder>& who) {
- ALOGW("ICamera died");
- notifyCallback(CAMERA_MSG_ERROR, CAMERA_ERROR_SERVER_DIED, 0);
-}
-
-void Camera::DeathNotifier::binderDied(const wp<IBinder>& who) {
- ALOGV("binderDied");
- Mutex::Autolock _l(Camera::mLock);
- Camera::mCameraService.clear();
- ALOGW("Camera server died!");
-}
-
-sp<ICameraRecordingProxy> Camera::getRecordingProxy() {
- ALOGV("getProxy");
- return new RecordingProxy(this);
-}
-
-status_t Camera::RecordingProxy::startRecording(const sp<ICameraRecordingProxyListener>& listener)
-{
- ALOGV("RecordingProxy::startRecording");
- mCamera->setRecordingProxyListener(listener);
- mCamera->reconnect();
- return mCamera->startRecording();
-}
-
-void Camera::RecordingProxy::stopRecording()
-{
- ALOGV("RecordingProxy::stopRecording");
- mCamera->stopRecording();
-}
-
-void Camera::RecordingProxy::releaseRecordingFrame(const sp<IMemory>& mem)
-{
- ALOGV("RecordingProxy::releaseRecordingFrame");
- mCamera->releaseRecordingFrame(mem);
-}
-
-Camera::RecordingProxy::RecordingProxy(const sp<Camera>& camera)
-{
- mCamera = camera;
-}
-
-}; // namespace android
diff --git a/libs/camera/CameraParameters.cpp b/libs/camera/CameraParameters.cpp
deleted file mode 100644
index 059a8a5..0000000
--- a/libs/camera/CameraParameters.cpp
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
-**
-** Copyright 2008, 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.
-*/
-
-#define LOG_TAG "CameraParams"
-#include <utils/Log.h>
-
-#include <string.h>
-#include <stdlib.h>
-#include <camera/CameraParameters.h>
-
-namespace android {
-// Parameter keys to communicate between camera application and driver.
-const char CameraParameters::KEY_PREVIEW_SIZE[] = "preview-size";
-const char CameraParameters::KEY_SUPPORTED_PREVIEW_SIZES[] = "preview-size-values";
-const char CameraParameters::KEY_PREVIEW_FORMAT[] = "preview-format";
-const char CameraParameters::KEY_SUPPORTED_PREVIEW_FORMATS[] = "preview-format-values";
-const char CameraParameters::KEY_PREVIEW_FRAME_RATE[] = "preview-frame-rate";
-const char CameraParameters::KEY_SUPPORTED_PREVIEW_FRAME_RATES[] = "preview-frame-rate-values";
-const char CameraParameters::KEY_PREVIEW_FPS_RANGE[] = "preview-fps-range";
-const char CameraParameters::KEY_SUPPORTED_PREVIEW_FPS_RANGE[] = "preview-fps-range-values";
-const char CameraParameters::KEY_PICTURE_SIZE[] = "picture-size";
-const char CameraParameters::KEY_SUPPORTED_PICTURE_SIZES[] = "picture-size-values";
-const char CameraParameters::KEY_PICTURE_FORMAT[] = "picture-format";
-const char CameraParameters::KEY_SUPPORTED_PICTURE_FORMATS[] = "picture-format-values";
-const char CameraParameters::KEY_JPEG_THUMBNAIL_WIDTH[] = "jpeg-thumbnail-width";
-const char CameraParameters::KEY_JPEG_THUMBNAIL_HEIGHT[] = "jpeg-thumbnail-height";
-const char CameraParameters::KEY_SUPPORTED_JPEG_THUMBNAIL_SIZES[] = "jpeg-thumbnail-size-values";
-const char CameraParameters::KEY_JPEG_THUMBNAIL_QUALITY[] = "jpeg-thumbnail-quality";
-const char CameraParameters::KEY_JPEG_QUALITY[] = "jpeg-quality";
-const char CameraParameters::KEY_ROTATION[] = "rotation";
-const char CameraParameters::KEY_GPS_LATITUDE[] = "gps-latitude";
-const char CameraParameters::KEY_GPS_LONGITUDE[] = "gps-longitude";
-const char CameraParameters::KEY_GPS_ALTITUDE[] = "gps-altitude";
-const char CameraParameters::KEY_GPS_TIMESTAMP[] = "gps-timestamp";
-const char CameraParameters::KEY_GPS_PROCESSING_METHOD[] = "gps-processing-method";
-const char CameraParameters::KEY_WHITE_BALANCE[] = "whitebalance";
-const char CameraParameters::KEY_SUPPORTED_WHITE_BALANCE[] = "whitebalance-values";
-const char CameraParameters::KEY_EFFECT[] = "effect";
-const char CameraParameters::KEY_SUPPORTED_EFFECTS[] = "effect-values";
-const char CameraParameters::KEY_ANTIBANDING[] = "antibanding";
-const char CameraParameters::KEY_SUPPORTED_ANTIBANDING[] = "antibanding-values";
-const char CameraParameters::KEY_SCENE_MODE[] = "scene-mode";
-const char CameraParameters::KEY_SUPPORTED_SCENE_MODES[] = "scene-mode-values";
-const char CameraParameters::KEY_FLASH_MODE[] = "flash-mode";
-const char CameraParameters::KEY_SUPPORTED_FLASH_MODES[] = "flash-mode-values";
-const char CameraParameters::KEY_FOCUS_MODE[] = "focus-mode";
-const char CameraParameters::KEY_SUPPORTED_FOCUS_MODES[] = "focus-mode-values";
-const char CameraParameters::KEY_MAX_NUM_FOCUS_AREAS[] = "max-num-focus-areas";
-const char CameraParameters::KEY_FOCUS_AREAS[] = "focus-areas";
-const char CameraParameters::KEY_FOCAL_LENGTH[] = "focal-length";
-const char CameraParameters::KEY_HORIZONTAL_VIEW_ANGLE[] = "horizontal-view-angle";
-const char CameraParameters::KEY_VERTICAL_VIEW_ANGLE[] = "vertical-view-angle";
-const char CameraParameters::KEY_EXPOSURE_COMPENSATION[] = "exposure-compensation";
-const char CameraParameters::KEY_MAX_EXPOSURE_COMPENSATION[] = "max-exposure-compensation";
-const char CameraParameters::KEY_MIN_EXPOSURE_COMPENSATION[] = "min-exposure-compensation";
-const char CameraParameters::KEY_EXPOSURE_COMPENSATION_STEP[] = "exposure-compensation-step";
-const char CameraParameters::KEY_AUTO_EXPOSURE_LOCK[] = "auto-exposure-lock";
-const char CameraParameters::KEY_AUTO_EXPOSURE_LOCK_SUPPORTED[] = "auto-exposure-lock-supported";
-const char CameraParameters::KEY_AUTO_WHITEBALANCE_LOCK[] = "auto-whitebalance-lock";
-const char CameraParameters::KEY_AUTO_WHITEBALANCE_LOCK_SUPPORTED[] = "auto-whitebalance-lock-supported";
-const char CameraParameters::KEY_MAX_NUM_METERING_AREAS[] = "max-num-metering-areas";
-const char CameraParameters::KEY_METERING_AREAS[] = "metering-areas";
-const char CameraParameters::KEY_ZOOM[] = "zoom";
-const char CameraParameters::KEY_MAX_ZOOM[] = "max-zoom";
-const char CameraParameters::KEY_ZOOM_RATIOS[] = "zoom-ratios";
-const char CameraParameters::KEY_ZOOM_SUPPORTED[] = "zoom-supported";
-const char CameraParameters::KEY_SMOOTH_ZOOM_SUPPORTED[] = "smooth-zoom-supported";
-const char CameraParameters::KEY_FOCUS_DISTANCES[] = "focus-distances";
-const char CameraParameters::KEY_VIDEO_FRAME_FORMAT[] = "video-frame-format";
-const char CameraParameters::KEY_VIDEO_SIZE[] = "video-size";
-const char CameraParameters::KEY_SUPPORTED_VIDEO_SIZES[] = "video-size-values";
-const char CameraParameters::KEY_PREFERRED_PREVIEW_SIZE_FOR_VIDEO[] = "preferred-preview-size-for-video";
-const char CameraParameters::KEY_MAX_NUM_DETECTED_FACES_HW[] = "max-num-detected-faces-hw";
-const char CameraParameters::KEY_MAX_NUM_DETECTED_FACES_SW[] = "max-num-detected-faces-sw";
-const char CameraParameters::KEY_RECORDING_HINT[] = "recording-hint";
-const char CameraParameters::KEY_VIDEO_SNAPSHOT_SUPPORTED[] = "video-snapshot-supported";
-const char CameraParameters::KEY_VIDEO_STABILIZATION[] = "video-stabilization";
-const char CameraParameters::KEY_VIDEO_STABILIZATION_SUPPORTED[] = "video-stabilization-supported";
-
-const char CameraParameters::TRUE[] = "true";
-const char CameraParameters::FALSE[] = "false";
-const char CameraParameters::FOCUS_DISTANCE_INFINITY[] = "Infinity";
-
-// Values for white balance settings.
-const char CameraParameters::WHITE_BALANCE_AUTO[] = "auto";
-const char CameraParameters::WHITE_BALANCE_INCANDESCENT[] = "incandescent";
-const char CameraParameters::WHITE_BALANCE_FLUORESCENT[] = "fluorescent";
-const char CameraParameters::WHITE_BALANCE_WARM_FLUORESCENT[] = "warm-fluorescent";
-const char CameraParameters::WHITE_BALANCE_DAYLIGHT[] = "daylight";
-const char CameraParameters::WHITE_BALANCE_CLOUDY_DAYLIGHT[] = "cloudy-daylight";
-const char CameraParameters::WHITE_BALANCE_TWILIGHT[] = "twilight";
-const char CameraParameters::WHITE_BALANCE_SHADE[] = "shade";
-
-// Values for effect settings.
-const char CameraParameters::EFFECT_NONE[] = "none";
-const char CameraParameters::EFFECT_MONO[] = "mono";
-const char CameraParameters::EFFECT_NEGATIVE[] = "negative";
-const char CameraParameters::EFFECT_SOLARIZE[] = "solarize";
-const char CameraParameters::EFFECT_SEPIA[] = "sepia";
-const char CameraParameters::EFFECT_POSTERIZE[] = "posterize";
-const char CameraParameters::EFFECT_WHITEBOARD[] = "whiteboard";
-const char CameraParameters::EFFECT_BLACKBOARD[] = "blackboard";
-const char CameraParameters::EFFECT_AQUA[] = "aqua";
-
-// Values for antibanding settings.
-const char CameraParameters::ANTIBANDING_AUTO[] = "auto";
-const char CameraParameters::ANTIBANDING_50HZ[] = "50hz";
-const char CameraParameters::ANTIBANDING_60HZ[] = "60hz";
-const char CameraParameters::ANTIBANDING_OFF[] = "off";
-
-// Values for flash mode settings.
-const char CameraParameters::FLASH_MODE_OFF[] = "off";
-const char CameraParameters::FLASH_MODE_AUTO[] = "auto";
-const char CameraParameters::FLASH_MODE_ON[] = "on";
-const char CameraParameters::FLASH_MODE_RED_EYE[] = "red-eye";
-const char CameraParameters::FLASH_MODE_TORCH[] = "torch";
-
-// Values for scene mode settings.
-const char CameraParameters::SCENE_MODE_AUTO[] = "auto";
-const char CameraParameters::SCENE_MODE_ACTION[] = "action";
-const char CameraParameters::SCENE_MODE_PORTRAIT[] = "portrait";
-const char CameraParameters::SCENE_MODE_LANDSCAPE[] = "landscape";
-const char CameraParameters::SCENE_MODE_NIGHT[] = "night";
-const char CameraParameters::SCENE_MODE_NIGHT_PORTRAIT[] = "night-portrait";
-const char CameraParameters::SCENE_MODE_THEATRE[] = "theatre";
-const char CameraParameters::SCENE_MODE_BEACH[] = "beach";
-const char CameraParameters::SCENE_MODE_SNOW[] = "snow";
-const char CameraParameters::SCENE_MODE_SUNSET[] = "sunset";
-const char CameraParameters::SCENE_MODE_STEADYPHOTO[] = "steadyphoto";
-const char CameraParameters::SCENE_MODE_FIREWORKS[] = "fireworks";
-const char CameraParameters::SCENE_MODE_SPORTS[] = "sports";
-const char CameraParameters::SCENE_MODE_PARTY[] = "party";
-const char CameraParameters::SCENE_MODE_CANDLELIGHT[] = "candlelight";
-const char CameraParameters::SCENE_MODE_BARCODE[] = "barcode";
-
-const char CameraParameters::PIXEL_FORMAT_YUV422SP[] = "yuv422sp";
-const char CameraParameters::PIXEL_FORMAT_YUV420SP[] = "yuv420sp";
-const char CameraParameters::PIXEL_FORMAT_YUV422I[] = "yuv422i-yuyv";
-const char CameraParameters::PIXEL_FORMAT_YUV420P[] = "yuv420p";
-const char CameraParameters::PIXEL_FORMAT_RGB565[] = "rgb565";
-const char CameraParameters::PIXEL_FORMAT_RGBA8888[] = "rgba8888";
-const char CameraParameters::PIXEL_FORMAT_JPEG[] = "jpeg";
-const char CameraParameters::PIXEL_FORMAT_BAYER_RGGB[] = "bayer-rggb";
-
-// Values for focus mode settings.
-const char CameraParameters::FOCUS_MODE_AUTO[] = "auto";
-const char CameraParameters::FOCUS_MODE_INFINITY[] = "infinity";
-const char CameraParameters::FOCUS_MODE_MACRO[] = "macro";
-const char CameraParameters::FOCUS_MODE_FIXED[] = "fixed";
-const char CameraParameters::FOCUS_MODE_EDOF[] = "edof";
-const char CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO[] = "continuous-video";
-const char CameraParameters::FOCUS_MODE_CONTINUOUS_PICTURE[] = "continuous-picture";
-
-CameraParameters::CameraParameters()
- : mMap()
-{
-}
-
-CameraParameters::~CameraParameters()
-{
-}
-
-String8 CameraParameters::flatten() const
-{
- String8 flattened("");
- size_t size = mMap.size();
-
- for (size_t i = 0; i < size; i++) {
- String8 k, v;
- k = mMap.keyAt(i);
- v = mMap.valueAt(i);
-
- flattened += k;
- flattened += "=";
- flattened += v;
- if (i != size-1)
- flattened += ";";
- }
-
- return flattened;
-}
-
-void CameraParameters::unflatten(const String8 &params)
-{
- const char *a = params.string();
- const char *b;
-
- mMap.clear();
-
- for (;;) {
- // Find the bounds of the key name.
- b = strchr(a, '=');
- if (b == 0)
- break;
-
- // Create the key string.
- String8 k(a, (size_t)(b-a));
-
- // Find the value.
- a = b+1;
- b = strchr(a, ';');
- if (b == 0) {
- // If there's no semicolon, this is the last item.
- String8 v(a);
- mMap.add(k, v);
- break;
- }
-
- String8 v(a, (size_t)(b-a));
- mMap.add(k, v);
- a = b+1;
- }
-}
-
-
-void CameraParameters::set(const char *key, const char *value)
-{
- // XXX i think i can do this with strspn()
- if (strchr(key, '=') || strchr(key, ';')) {
- //XXX ALOGE("Key \"%s\"contains invalid character (= or ;)", key);
- return;
- }
-
- if (strchr(value, '=') || strchr(key, ';')) {
- //XXX ALOGE("Value \"%s\"contains invalid character (= or ;)", value);
- return;
- }
-
- mMap.replaceValueFor(String8(key), String8(value));
-}
-
-void CameraParameters::set(const char *key, int value)
-{
- char str[16];
- sprintf(str, "%d", value);
- set(key, str);
-}
-
-void CameraParameters::setFloat(const char *key, float value)
-{
- char str[16]; // 14 should be enough. We overestimate to be safe.
- snprintf(str, sizeof(str), "%g", value);
- set(key, str);
-}
-
-const char *CameraParameters::get(const char *key) const
-{
- String8 v = mMap.valueFor(String8(key));
- if (v.length() == 0)
- return 0;
- return v.string();
-}
-
-int CameraParameters::getInt(const char *key) const
-{
- const char *v = get(key);
- if (v == 0)
- return -1;
- return strtol(v, 0, 0);
-}
-
-float CameraParameters::getFloat(const char *key) const
-{
- const char *v = get(key);
- if (v == 0) return -1;
- return strtof(v, 0);
-}
-
-void CameraParameters::remove(const char *key)
-{
- mMap.removeItem(String8(key));
-}
-
-// Parse string like "640x480" or "10000,20000"
-static int parse_pair(const char *str, int *first, int *second, char delim,
- char **endptr = NULL)
-{
- // Find the first integer.
- char *end;
- int w = (int)strtol(str, &end, 10);
- // If a delimeter does not immediately follow, give up.
- if (*end != delim) {
- ALOGE("Cannot find delimeter (%c) in str=%s", delim, str);
- return -1;
- }
-
- // Find the second integer, immediately after the delimeter.
- int h = (int)strtol(end+1, &end, 10);
-
- *first = w;
- *second = h;
-
- if (endptr) {
- *endptr = end;
- }
-
- return 0;
-}
-
-static void parseSizesList(const char *sizesStr, Vector<Size> &sizes)
-{
- if (sizesStr == 0) {
- return;
- }
-
- char *sizeStartPtr = (char *)sizesStr;
-
- while (true) {
- int width, height;
- int success = parse_pair(sizeStartPtr, &width, &height, 'x',
- &sizeStartPtr);
- if (success == -1 || (*sizeStartPtr != ',' && *sizeStartPtr != '\0')) {
- ALOGE("Picture sizes string \"%s\" contains invalid character.", sizesStr);
- return;
- }
- sizes.push(Size(width, height));
-
- if (*sizeStartPtr == '\0') {
- return;
- }
- sizeStartPtr++;
- }
-}
-
-void CameraParameters::setPreviewSize(int width, int height)
-{
- char str[32];
- sprintf(str, "%dx%d", width, height);
- set(KEY_PREVIEW_SIZE, str);
-}
-
-void CameraParameters::getPreviewSize(int *width, int *height) const
-{
- *width = *height = -1;
- // Get the current string, if it doesn't exist, leave the -1x-1
- const char *p = get(KEY_PREVIEW_SIZE);
- if (p == 0) return;
- parse_pair(p, width, height, 'x');
-}
-
-void CameraParameters::getPreferredPreviewSizeForVideo(int *width, int *height) const
-{
- *width = *height = -1;
- const char *p = get(KEY_PREFERRED_PREVIEW_SIZE_FOR_VIDEO);
- if (p == 0) return;
- parse_pair(p, width, height, 'x');
-}
-
-void CameraParameters::getSupportedPreviewSizes(Vector<Size> &sizes) const
-{
- const char *previewSizesStr = get(KEY_SUPPORTED_PREVIEW_SIZES);
- parseSizesList(previewSizesStr, sizes);
-}
-
-void CameraParameters::setVideoSize(int width, int height)
-{
- char str[32];
- sprintf(str, "%dx%d", width, height);
- set(KEY_VIDEO_SIZE, str);
-}
-
-void CameraParameters::getVideoSize(int *width, int *height) const
-{
- *width = *height = -1;
- const char *p = get(KEY_VIDEO_SIZE);
- if (p == 0) return;
- parse_pair(p, width, height, 'x');
-}
-
-void CameraParameters::getSupportedVideoSizes(Vector<Size> &sizes) const
-{
- const char *videoSizesStr = get(KEY_SUPPORTED_VIDEO_SIZES);
- parseSizesList(videoSizesStr, sizes);
-}
-
-void CameraParameters::setPreviewFrameRate(int fps)
-{
- set(KEY_PREVIEW_FRAME_RATE, fps);
-}
-
-int CameraParameters::getPreviewFrameRate() const
-{
- return getInt(KEY_PREVIEW_FRAME_RATE);
-}
-
-void CameraParameters::getPreviewFpsRange(int *min_fps, int *max_fps) const
-{
- *min_fps = *max_fps = -1;
- const char *p = get(KEY_PREVIEW_FPS_RANGE);
- if (p == 0) return;
- parse_pair(p, min_fps, max_fps, ',');
-}
-
-void CameraParameters::setPreviewFormat(const char *format)
-{
- set(KEY_PREVIEW_FORMAT, format);
-}
-
-const char *CameraParameters::getPreviewFormat() const
-{
- return get(KEY_PREVIEW_FORMAT);
-}
-
-void CameraParameters::setPictureSize(int width, int height)
-{
- char str[32];
- sprintf(str, "%dx%d", width, height);
- set(KEY_PICTURE_SIZE, str);
-}
-
-void CameraParameters::getPictureSize(int *width, int *height) const
-{
- *width = *height = -1;
- // Get the current string, if it doesn't exist, leave the -1x-1
- const char *p = get(KEY_PICTURE_SIZE);
- if (p == 0) return;
- parse_pair(p, width, height, 'x');
-}
-
-void CameraParameters::getSupportedPictureSizes(Vector<Size> &sizes) const
-{
- const char *pictureSizesStr = get(KEY_SUPPORTED_PICTURE_SIZES);
- parseSizesList(pictureSizesStr, sizes);
-}
-
-void CameraParameters::setPictureFormat(const char *format)
-{
- set(KEY_PICTURE_FORMAT, format);
-}
-
-const char *CameraParameters::getPictureFormat() const
-{
- return get(KEY_PICTURE_FORMAT);
-}
-
-void CameraParameters::dump() const
-{
- ALOGD("dump: mMap.size = %d", mMap.size());
- for (size_t i = 0; i < mMap.size(); i++) {
- String8 k, v;
- k = mMap.keyAt(i);
- v = mMap.valueAt(i);
- ALOGD("%s: %s\n", k.string(), v.string());
- }
-}
-
-status_t CameraParameters::dump(int fd, const Vector<String16>& args) const
-{
- const size_t SIZE = 256;
- char buffer[SIZE];
- String8 result;
- snprintf(buffer, 255, "CameraParameters::dump: mMap.size = %d\n", mMap.size());
- result.append(buffer);
- for (size_t i = 0; i < mMap.size(); i++) {
- String8 k, v;
- k = mMap.keyAt(i);
- v = mMap.valueAt(i);
- snprintf(buffer, 255, "\t%s: %s\n", k.string(), v.string());
- result.append(buffer);
- }
- write(fd, result.string(), result.size());
- return NO_ERROR;
-}
-
-}; // namespace android
diff --git a/libs/camera/ICamera.cpp b/libs/camera/ICamera.cpp
deleted file mode 100644
index 8d8408c..0000000
--- a/libs/camera/ICamera.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
-**
-** Copyright 2008, 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.
-*/
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "ICamera"
-#include <utils/Log.h>
-#include <stdint.h>
-#include <sys/types.h>
-#include <binder/Parcel.h>
-#include <camera/ICamera.h>
-#include <gui/ISurfaceTexture.h>
-#include <gui/Surface.h>
-
-namespace android {
-
-enum {
- DISCONNECT = IBinder::FIRST_CALL_TRANSACTION,
- SET_PREVIEW_DISPLAY,
- SET_PREVIEW_TEXTURE,
- SET_PREVIEW_CALLBACK_FLAG,
- START_PREVIEW,
- STOP_PREVIEW,
- AUTO_FOCUS,
- CANCEL_AUTO_FOCUS,
- TAKE_PICTURE,
- SET_PARAMETERS,
- GET_PARAMETERS,
- SEND_COMMAND,
- CONNECT,
- LOCK,
- UNLOCK,
- PREVIEW_ENABLED,
- START_RECORDING,
- STOP_RECORDING,
- RECORDING_ENABLED,
- RELEASE_RECORDING_FRAME,
- STORE_META_DATA_IN_BUFFERS,
-};
-
-class BpCamera: public BpInterface<ICamera>
-{
-public:
- BpCamera(const sp<IBinder>& impl)
- : BpInterface<ICamera>(impl)
- {
- }
-
- // disconnect from camera service
- void disconnect()
- {
- ALOGV("disconnect");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(DISCONNECT, data, &reply);
- }
-
- // pass the buffered Surface to the camera service
- status_t setPreviewDisplay(const sp<Surface>& surface)
- {
- ALOGV("setPreviewDisplay");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- Surface::writeToParcel(surface, &data);
- remote()->transact(SET_PREVIEW_DISPLAY, data, &reply);
- return reply.readInt32();
- }
-
- // pass the buffered SurfaceTexture to the camera service
- status_t setPreviewTexture(const sp<ISurfaceTexture>& surfaceTexture)
- {
- ALOGV("setPreviewTexture");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- sp<IBinder> b(surfaceTexture->asBinder());
- data.writeStrongBinder(b);
- remote()->transact(SET_PREVIEW_TEXTURE, data, &reply);
- return reply.readInt32();
- }
-
- // set the preview callback flag to affect how the received frames from
- // preview are handled. See Camera.h for details.
- void setPreviewCallbackFlag(int flag)
- {
- ALOGV("setPreviewCallbackFlag(%d)", flag);
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeInt32(flag);
- remote()->transact(SET_PREVIEW_CALLBACK_FLAG, data, &reply);
- }
-
- // start preview mode, must call setPreviewDisplay first
- status_t startPreview()
- {
- ALOGV("startPreview");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(START_PREVIEW, data, &reply);
- return reply.readInt32();
- }
-
- // start recording mode, must call setPreviewDisplay first
- status_t startRecording()
- {
- ALOGV("startRecording");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(START_RECORDING, data, &reply);
- return reply.readInt32();
- }
-
- // stop preview mode
- void stopPreview()
- {
- ALOGV("stopPreview");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(STOP_PREVIEW, data, &reply);
- }
-
- // stop recording mode
- void stopRecording()
- {
- ALOGV("stopRecording");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(STOP_RECORDING, data, &reply);
- }
-
- void releaseRecordingFrame(const sp<IMemory>& mem)
- {
- ALOGV("releaseRecordingFrame");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeStrongBinder(mem->asBinder());
- remote()->transact(RELEASE_RECORDING_FRAME, data, &reply);
- }
-
- status_t storeMetaDataInBuffers(bool enabled)
- {
- ALOGV("storeMetaDataInBuffers: %s", enabled? "true": "false");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeInt32(enabled);
- remote()->transact(STORE_META_DATA_IN_BUFFERS, data, &reply);
- return reply.readInt32();
- }
-
- // check preview state
- bool previewEnabled()
- {
- ALOGV("previewEnabled");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(PREVIEW_ENABLED, data, &reply);
- return reply.readInt32();
- }
-
- // check recording state
- bool recordingEnabled()
- {
- ALOGV("recordingEnabled");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(RECORDING_ENABLED, data, &reply);
- return reply.readInt32();
- }
-
- // auto focus
- status_t autoFocus()
- {
- ALOGV("autoFocus");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(AUTO_FOCUS, data, &reply);
- status_t ret = reply.readInt32();
- return ret;
- }
-
- // cancel focus
- status_t cancelAutoFocus()
- {
- ALOGV("cancelAutoFocus");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(CANCEL_AUTO_FOCUS, data, &reply);
- status_t ret = reply.readInt32();
- return ret;
- }
-
- // take a picture - returns an IMemory (ref-counted mmap)
- status_t takePicture(int msgType)
- {
- ALOGV("takePicture: 0x%x", msgType);
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeInt32(msgType);
- remote()->transact(TAKE_PICTURE, data, &reply);
- status_t ret = reply.readInt32();
- return ret;
- }
-
- // set preview/capture parameters - key/value pairs
- status_t setParameters(const String8& params)
- {
- ALOGV("setParameters");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeString8(params);
- remote()->transact(SET_PARAMETERS, data, &reply);
- return reply.readInt32();
- }
-
- // get preview/capture parameters - key/value pairs
- String8 getParameters() const
- {
- ALOGV("getParameters");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(GET_PARAMETERS, data, &reply);
- return reply.readString8();
- }
- virtual status_t sendCommand(int32_t cmd, int32_t arg1, int32_t arg2)
- {
- ALOGV("sendCommand");
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeInt32(cmd);
- data.writeInt32(arg1);
- data.writeInt32(arg2);
- remote()->transact(SEND_COMMAND, data, &reply);
- return reply.readInt32();
- }
- virtual status_t connect(const sp<ICameraClient>& cameraClient)
- {
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- data.writeStrongBinder(cameraClient->asBinder());
- remote()->transact(CONNECT, data, &reply);
- return reply.readInt32();
- }
- virtual status_t lock()
- {
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(LOCK, data, &reply);
- return reply.readInt32();
- }
- virtual status_t unlock()
- {
- Parcel data, reply;
- data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
- remote()->transact(UNLOCK, data, &reply);
- return reply.readInt32();
- }
-};
-
-IMPLEMENT_META_INTERFACE(Camera, "android.hardware.ICamera");
-
-// ----------------------------------------------------------------------
-
-status_t BnCamera::onTransact(
- uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
-{
- switch(code) {
- case DISCONNECT: {
- ALOGV("DISCONNECT");
- CHECK_INTERFACE(ICamera, data, reply);
- disconnect();
- return NO_ERROR;
- } break;
- case SET_PREVIEW_DISPLAY: {
- ALOGV("SET_PREVIEW_DISPLAY");
- CHECK_INTERFACE(ICamera, data, reply);
- sp<Surface> surface = Surface::readFromParcel(data);
- reply->writeInt32(setPreviewDisplay(surface));
- return NO_ERROR;
- } break;
- case SET_PREVIEW_TEXTURE: {
- ALOGV("SET_PREVIEW_TEXTURE");
- CHECK_INTERFACE(ICamera, data, reply);
- sp<ISurfaceTexture> st = interface_cast<ISurfaceTexture>(data.readStrongBinder());
- reply->writeInt32(setPreviewTexture(st));
- return NO_ERROR;
- } break;
- case SET_PREVIEW_CALLBACK_FLAG: {
- ALOGV("SET_PREVIEW_CALLBACK_TYPE");
- CHECK_INTERFACE(ICamera, data, reply);
- int callback_flag = data.readInt32();
- setPreviewCallbackFlag(callback_flag);
- return NO_ERROR;
- } break;
- case START_PREVIEW: {
- ALOGV("START_PREVIEW");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(startPreview());
- return NO_ERROR;
- } break;
- case START_RECORDING: {
- ALOGV("START_RECORDING");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(startRecording());
- return NO_ERROR;
- } break;
- case STOP_PREVIEW: {
- ALOGV("STOP_PREVIEW");
- CHECK_INTERFACE(ICamera, data, reply);
- stopPreview();
- return NO_ERROR;
- } break;
- case STOP_RECORDING: {
- ALOGV("STOP_RECORDING");
- CHECK_INTERFACE(ICamera, data, reply);
- stopRecording();
- return NO_ERROR;
- } break;
- case RELEASE_RECORDING_FRAME: {
- ALOGV("RELEASE_RECORDING_FRAME");
- CHECK_INTERFACE(ICamera, data, reply);
- sp<IMemory> mem = interface_cast<IMemory>(data.readStrongBinder());
- releaseRecordingFrame(mem);
- return NO_ERROR;
- } break;
- case STORE_META_DATA_IN_BUFFERS: {
- ALOGV("STORE_META_DATA_IN_BUFFERS");
- CHECK_INTERFACE(ICamera, data, reply);
- bool enabled = data.readInt32();
- reply->writeInt32(storeMetaDataInBuffers(enabled));
- return NO_ERROR;
- } break;
- case PREVIEW_ENABLED: {
- ALOGV("PREVIEW_ENABLED");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(previewEnabled());
- return NO_ERROR;
- } break;
- case RECORDING_ENABLED: {
- ALOGV("RECORDING_ENABLED");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(recordingEnabled());
- return NO_ERROR;
- } break;
- case AUTO_FOCUS: {
- ALOGV("AUTO_FOCUS");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(autoFocus());
- return NO_ERROR;
- } break;
- case CANCEL_AUTO_FOCUS: {
- ALOGV("CANCEL_AUTO_FOCUS");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(cancelAutoFocus());
- return NO_ERROR;
- } break;
- case TAKE_PICTURE: {
- ALOGV("TAKE_PICTURE");
- CHECK_INTERFACE(ICamera, data, reply);
- int msgType = data.readInt32();
- reply->writeInt32(takePicture(msgType));
- return NO_ERROR;
- } break;
- case SET_PARAMETERS: {
- ALOGV("SET_PARAMETERS");
- CHECK_INTERFACE(ICamera, data, reply);
- String8 params(data.readString8());
- reply->writeInt32(setParameters(params));
- return NO_ERROR;
- } break;
- case GET_PARAMETERS: {
- ALOGV("GET_PARAMETERS");
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeString8(getParameters());
- return NO_ERROR;
- } break;
- case SEND_COMMAND: {
- ALOGV("SEND_COMMAND");
- CHECK_INTERFACE(ICamera, data, reply);
- int command = data.readInt32();
- int arg1 = data.readInt32();
- int arg2 = data.readInt32();
- reply->writeInt32(sendCommand(command, arg1, arg2));
- return NO_ERROR;
- } break;
- case CONNECT: {
- CHECK_INTERFACE(ICamera, data, reply);
- sp<ICameraClient> cameraClient = interface_cast<ICameraClient>(data.readStrongBinder());
- reply->writeInt32(connect(cameraClient));
- return NO_ERROR;
- } break;
- case LOCK: {
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(lock());
- return NO_ERROR;
- } break;
- case UNLOCK: {
- CHECK_INTERFACE(ICamera, data, reply);
- reply->writeInt32(unlock());
- return NO_ERROR;
- } break;
- default:
- return BBinder::onTransact(code, data, reply, flags);
- }
-}
-
-// ----------------------------------------------------------------------------
-
-}; // namespace android
diff --git a/libs/camera/ICameraClient.cpp b/libs/camera/ICameraClient.cpp
deleted file mode 100644
index 205c8ba..0000000
--- a/libs/camera/ICameraClient.cpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
-**
-** Copyright 2008, 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.
-*/
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "ICameraClient"
-#include <utils/Log.h>
-#include <stdint.h>
-#include <sys/types.h>
-#include <camera/ICameraClient.h>
-
-namespace android {
-
-enum {
- NOTIFY_CALLBACK = IBinder::FIRST_CALL_TRANSACTION,
- DATA_CALLBACK,
- DATA_CALLBACK_TIMESTAMP,
-};
-
-class BpCameraClient: public BpInterface<ICameraClient>
-{
-public:
- BpCameraClient(const sp<IBinder>& impl)
- : BpInterface<ICameraClient>(impl)
- {
- }
-
- // generic callback from camera service to app
- void notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
- {
- ALOGV("notifyCallback");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraClient::getInterfaceDescriptor());
- data.writeInt32(msgType);
- data.writeInt32(ext1);
- data.writeInt32(ext2);
- remote()->transact(NOTIFY_CALLBACK, data, &reply, IBinder::FLAG_ONEWAY);
- }
-
- // generic data callback from camera service to app with image data
- void dataCallback(int32_t msgType, const sp<IMemory>& imageData,
- camera_frame_metadata_t *metadata)
- {
- ALOGV("dataCallback");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraClient::getInterfaceDescriptor());
- data.writeInt32(msgType);
- data.writeStrongBinder(imageData->asBinder());
- if (metadata) {
- data.writeInt32(metadata->number_of_faces);
- data.write(metadata->faces, sizeof(camera_face_t) * metadata->number_of_faces);
- }
- remote()->transact(DATA_CALLBACK, data, &reply, IBinder::FLAG_ONEWAY);
- }
-
- // generic data callback from camera service to app with image data
- void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& imageData)
- {
- ALOGV("dataCallback");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraClient::getInterfaceDescriptor());
- data.writeInt64(timestamp);
- data.writeInt32(msgType);
- data.writeStrongBinder(imageData->asBinder());
- remote()->transact(DATA_CALLBACK_TIMESTAMP, data, &reply, IBinder::FLAG_ONEWAY);
- }
-};
-
-IMPLEMENT_META_INTERFACE(CameraClient, "android.hardware.ICameraClient");
-
-// ----------------------------------------------------------------------
-
-status_t BnCameraClient::onTransact(
- uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
-{
- switch(code) {
- case NOTIFY_CALLBACK: {
- ALOGV("NOTIFY_CALLBACK");
- CHECK_INTERFACE(ICameraClient, data, reply);
- int32_t msgType = data.readInt32();
- int32_t ext1 = data.readInt32();
- int32_t ext2 = data.readInt32();
- notifyCallback(msgType, ext1, ext2);
- return NO_ERROR;
- } break;
- case DATA_CALLBACK: {
- ALOGV("DATA_CALLBACK");
- CHECK_INTERFACE(ICameraClient, data, reply);
- int32_t msgType = data.readInt32();
- sp<IMemory> imageData = interface_cast<IMemory>(data.readStrongBinder());
- camera_frame_metadata_t *metadata = NULL;
- if (data.dataAvail() > 0) {
- metadata = new camera_frame_metadata_t;
- metadata->number_of_faces = data.readInt32();
- metadata->faces = (camera_face_t *) data.readInplace(
- sizeof(camera_face_t) * metadata->number_of_faces);
- }
- dataCallback(msgType, imageData, metadata);
- if (metadata) delete metadata;
- return NO_ERROR;
- } break;
- case DATA_CALLBACK_TIMESTAMP: {
- ALOGV("DATA_CALLBACK_TIMESTAMP");
- CHECK_INTERFACE(ICameraClient, data, reply);
- nsecs_t timestamp = data.readInt64();
- int32_t msgType = data.readInt32();
- sp<IMemory> imageData = interface_cast<IMemory>(data.readStrongBinder());
- dataCallbackTimestamp(timestamp, msgType, imageData);
- return NO_ERROR;
- } break;
- default:
- return BBinder::onTransact(code, data, reply, flags);
- }
-}
-
-// ----------------------------------------------------------------------------
-
-}; // namespace android
-
diff --git a/libs/camera/ICameraRecordingProxy.cpp b/libs/camera/ICameraRecordingProxy.cpp
deleted file mode 100644
index 7223b6d..0000000
--- a/libs/camera/ICameraRecordingProxy.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "ICameraRecordingProxy"
-#include <camera/ICameraRecordingProxy.h>
-#include <camera/ICameraRecordingProxyListener.h>
-#include <binder/IMemory.h>
-#include <binder/Parcel.h>
-#include <stdint.h>
-#include <utils/Log.h>
-
-namespace android {
-
-enum {
- START_RECORDING = IBinder::FIRST_CALL_TRANSACTION,
- STOP_RECORDING,
- RELEASE_RECORDING_FRAME,
-};
-
-
-class BpCameraRecordingProxy: public BpInterface<ICameraRecordingProxy>
-{
-public:
- BpCameraRecordingProxy(const sp<IBinder>& impl)
- : BpInterface<ICameraRecordingProxy>(impl)
- {
- }
-
- status_t startRecording(const sp<ICameraRecordingProxyListener>& listener)
- {
- ALOGV("startRecording");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraRecordingProxy::getInterfaceDescriptor());
- data.writeStrongBinder(listener->asBinder());
- remote()->transact(START_RECORDING, data, &reply);
- return reply.readInt32();
- }
-
- void stopRecording()
- {
- ALOGV("stopRecording");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraRecordingProxy::getInterfaceDescriptor());
- remote()->transact(STOP_RECORDING, data, &reply);
- }
-
- void releaseRecordingFrame(const sp<IMemory>& mem)
- {
- ALOGV("releaseRecordingFrame");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraRecordingProxy::getInterfaceDescriptor());
- data.writeStrongBinder(mem->asBinder());
- remote()->transact(RELEASE_RECORDING_FRAME, data, &reply);
- }
-};
-
-IMPLEMENT_META_INTERFACE(CameraRecordingProxy, "android.hardware.ICameraRecordingProxy");
-
-// ----------------------------------------------------------------------
-
-status_t BnCameraRecordingProxy::onTransact(
- uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
-{
- switch(code) {
- case START_RECORDING: {
- ALOGV("START_RECORDING");
- CHECK_INTERFACE(ICameraRecordingProxy, data, reply);
- sp<ICameraRecordingProxyListener> listener =
- interface_cast<ICameraRecordingProxyListener>(data.readStrongBinder());
- reply->writeInt32(startRecording(listener));
- return NO_ERROR;
- } break;
- case STOP_RECORDING: {
- ALOGV("STOP_RECORDING");
- CHECK_INTERFACE(ICameraRecordingProxy, data, reply);
- stopRecording();
- return NO_ERROR;
- } break;
- case RELEASE_RECORDING_FRAME: {
- ALOGV("RELEASE_RECORDING_FRAME");
- CHECK_INTERFACE(ICameraRecordingProxy, data, reply);
- sp<IMemory> mem = interface_cast<IMemory>(data.readStrongBinder());
- releaseRecordingFrame(mem);
- return NO_ERROR;
- } break;
-
- default:
- return BBinder::onTransact(code, data, reply, flags);
- }
-}
-
-// ----------------------------------------------------------------------------
-
-}; // namespace android
-
diff --git a/libs/camera/ICameraRecordingProxyListener.cpp b/libs/camera/ICameraRecordingProxyListener.cpp
deleted file mode 100644
index cb17f19..0000000
--- a/libs/camera/ICameraRecordingProxyListener.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-
-//#define LOG_NDEBUG 0
-#define LOG_TAG "ICameraRecordingProxyListener"
-#include <camera/ICameraRecordingProxyListener.h>
-#include <binder/IMemory.h>
-#include <binder/Parcel.h>
-#include <utils/Log.h>
-
-namespace android {
-
-enum {
- DATA_CALLBACK_TIMESTAMP = IBinder::FIRST_CALL_TRANSACTION,
-};
-
-class BpCameraRecordingProxyListener: public BpInterface<ICameraRecordingProxyListener>
-{
-public:
- BpCameraRecordingProxyListener(const sp<IBinder>& impl)
- : BpInterface<ICameraRecordingProxyListener>(impl)
- {
- }
-
- void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& imageData)
- {
- ALOGV("dataCallback");
- Parcel data, reply;
- data.writeInterfaceToken(ICameraRecordingProxyListener::getInterfaceDescriptor());
- data.writeInt64(timestamp);
- data.writeInt32(msgType);
- data.writeStrongBinder(imageData->asBinder());
- remote()->transact(DATA_CALLBACK_TIMESTAMP, data, &reply, IBinder::FLAG_ONEWAY);
- }
-};
-
-IMPLEMENT_META_INTERFACE(CameraRecordingProxyListener, "android.hardware.ICameraRecordingProxyListener");
-
-// ----------------------------------------------------------------------
-
-status_t BnCameraRecordingProxyListener::onTransact(
- uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
-{
- switch(code) {
- case DATA_CALLBACK_TIMESTAMP: {
- ALOGV("DATA_CALLBACK_TIMESTAMP");
- CHECK_INTERFACE(ICameraRecordingProxyListener, data, reply);
- nsecs_t timestamp = data.readInt64();
- int32_t msgType = data.readInt32();
- sp<IMemory> imageData = interface_cast<IMemory>(data.readStrongBinder());
- dataCallbackTimestamp(timestamp, msgType, imageData);
- return NO_ERROR;
- } break;
- default:
- return BBinder::onTransact(code, data, reply, flags);
- }
-}
-
-// ----------------------------------------------------------------------------
-
-}; // namespace android
-
diff --git a/libs/camera/ICameraService.cpp b/libs/camera/ICameraService.cpp
deleted file mode 100644
index c74298a..0000000
--- a/libs/camera/ICameraService.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
-**
-** Copyright 2008, 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.
-*/
-
-#include <stdint.h>
-#include <sys/types.h>
-
-#include <binder/Parcel.h>
-#include <binder/IPCThreadState.h>
-#include <binder/IServiceManager.h>
-
-#include <camera/ICameraService.h>
-
-namespace android {
-
-class BpCameraService: public BpInterface<ICameraService>
-{
-public:
- BpCameraService(const sp<IBinder>& impl)
- : BpInterface<ICameraService>(impl)
- {
- }
-
- // get number of cameras available
- virtual int32_t getNumberOfCameras()
- {
- Parcel data, reply;
- data.writeInterfaceToken(ICameraService::getInterfaceDescriptor());
- remote()->transact(BnCameraService::GET_NUMBER_OF_CAMERAS, data, &reply);
- return reply.readInt32();
- }
-
- // get information about a camera
- virtual status_t getCameraInfo(int cameraId,
- struct CameraInfo* cameraInfo) {
- Parcel data, reply;
- data.writeInterfaceToken(ICameraService::getInterfaceDescriptor());
- data.writeInt32(cameraId);
- remote()->transact(BnCameraService::GET_CAMERA_INFO, data, &reply);
- cameraInfo->facing = reply.readInt32();
- cameraInfo->orientation = reply.readInt32();
- return reply.readInt32();
- }
-
- // connect to camera service
- virtual sp<ICamera> connect(const sp<ICameraClient>& cameraClient, int cameraId,
- bool force, bool keep)
- {
- Parcel data, reply;
- data.writeInterfaceToken(ICameraService::getInterfaceDescriptor());
- data.writeStrongBinder(cameraClient->asBinder());
- data.writeInt32(cameraId);
- data.writeInt32(force);
- data.writeInt32(keep);
- remote()->transact(BnCameraService::CONNECT, data, &reply);
- return interface_cast<ICamera>(reply.readStrongBinder());
- }
-};
-
-IMPLEMENT_META_INTERFACE(CameraService, "android.hardware.ICameraService");
-
-// ----------------------------------------------------------------------
-
-status_t BnCameraService::onTransact(
- uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags)
-{
- switch(code) {
- case GET_NUMBER_OF_CAMERAS: {
- CHECK_INTERFACE(ICameraService, data, reply);
- reply->writeInt32(getNumberOfCameras());
- return NO_ERROR;
- } break;
- case GET_CAMERA_INFO: {
- CHECK_INTERFACE(ICameraService, data, reply);
- CameraInfo cameraInfo;
- memset(&cameraInfo, 0, sizeof(cameraInfo));
- status_t result = getCameraInfo(data.readInt32(), &cameraInfo);
- reply->writeInt32(cameraInfo.facing);
- reply->writeInt32(cameraInfo.orientation);
- reply->writeInt32(result);
- return NO_ERROR;
- } break;
- case CONNECT: {
- CHECK_INTERFACE(ICameraService, data, reply);
- sp<ICameraClient> cameraClient = interface_cast<ICameraClient>(data.readStrongBinder());
- const int cameraId = data.readInt32();
- const int force = data.readInt32();
- const int keep = data.readInt32();
- sp<ICamera> camera = connect(cameraClient, cameraId, force, keep);
- reply->writeStrongBinder(camera->asBinder());
- return NO_ERROR;
- } break;
- default:
- return BBinder::onTransact(code, data, reply, flags);
- }
-}
-
-// ----------------------------------------------------------------------------
-
-}; // namespace android
diff --git a/libs/common_time/Android.mk b/libs/common_time/Android.mk
deleted file mode 100644
index 526f17b..0000000
--- a/libs/common_time/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-#
-# libcommon_time_client
-# (binder marshalers for ICommonClock as well as common clock and local clock
-# helper code)
-#
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := libcommon_time_client
-LOCAL_MODULE_TAGS := optional
-LOCAL_SRC_FILES := cc_helper.cpp \
- local_clock.cpp \
- ICommonClock.cpp \
- ICommonTimeConfig.cpp \
- utils.cpp
-LOCAL_SHARED_LIBRARIES := libbinder \
- libhardware \
- libutils
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/libs/common_time/ICommonClock.cpp b/libs/common_time/ICommonClock.cpp
deleted file mode 100644
index 28b43ac..0000000
--- a/libs/common_time/ICommonClock.cpp
+++ /dev/null
@@ -1,432 +0,0 @@
-/*
- * Copyright (C) 2012 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.
- */
-#include <linux/socket.h>
-
-#include <common_time/ICommonClock.h>
-#include <binder/Parcel.h>
-
-#include "utils.h"
-
-namespace android {
-
-/***** ICommonClock *****/
-
-enum {
- IS_COMMON_TIME_VALID = IBinder::FIRST_CALL_TRANSACTION,
- COMMON_TIME_TO_LOCAL_TIME,
- LOCAL_TIME_TO_COMMON_TIME,
- GET_COMMON_TIME,
- GET_COMMON_FREQ,
- GET_LOCAL_TIME,
- GET_LOCAL_FREQ,
- GET_ESTIMATED_ERROR,
- GET_TIMELINE_ID,
- GET_STATE,
- GET_MASTER_ADDRESS,
- REGISTER_LISTENER,
- UNREGISTER_LISTENER,
-};
-
-const String16 ICommonClock::kServiceName("common_time.clock");
-const uint64_t ICommonClock::kInvalidTimelineID = 0;
-const int32_t ICommonClock::kErrorEstimateUnknown = 0x7FFFFFFF;
-
-class BpCommonClock : public BpInterface<ICommonClock>
-{
- public:
- BpCommonClock(const sp<IBinder>& impl)
- : BpInterface<ICommonClock>(impl) {}
-
- virtual status_t isCommonTimeValid(bool* valid, uint32_t* timelineID) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(IS_COMMON_TIME_VALID,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *valid = reply.readInt32();
- *timelineID = reply.readInt32();
- }
- }
- return status;
- }
-
- virtual status_t commonTimeToLocalTime(int64_t commonTime,
- int64_t* localTime) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- data.writeInt64(commonTime);
- status_t status = remote()->transact(COMMON_TIME_TO_LOCAL_TIME,
- data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *localTime = reply.readInt64();
- }
- }
- return status;
- }
-
- virtual status_t localTimeToCommonTime(int64_t localTime,
- int64_t* commonTime) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- data.writeInt64(localTime);
- status_t status = remote()->transact(LOCAL_TIME_TO_COMMON_TIME,
- data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *commonTime = reply.readInt64();
- }
- }
- return status;
- }
-
- virtual status_t getCommonTime(int64_t* commonTime) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_COMMON_TIME, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *commonTime = reply.readInt64();
- }
- }
- return status;
- }
-
- virtual status_t getCommonFreq(uint64_t* freq) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_COMMON_FREQ, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *freq = reply.readInt64();
- }
- }
- return status;
- }
-
- virtual status_t getLocalTime(int64_t* localTime) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_LOCAL_TIME, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *localTime = reply.readInt64();
- }
- }
- return status;
- }
-
- virtual status_t getLocalFreq(uint64_t* freq) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_LOCAL_FREQ, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *freq = reply.readInt64();
- }
- }
- return status;
- }
-
- virtual status_t getEstimatedError(int32_t* estimate) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_ESTIMATED_ERROR, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *estimate = reply.readInt32();
- }
- }
- return status;
- }
-
- virtual status_t getTimelineID(uint64_t* id) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_TIMELINE_ID, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *id = static_cast<uint64_t>(reply.readInt64());
- }
- }
- return status;
- }
-
- virtual status_t getState(State* state) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_STATE, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *state = static_cast<State>(reply.readInt32());
- }
- }
- return status;
- }
-
- virtual status_t getMasterAddr(struct sockaddr_storage* addr) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_MASTER_ADDRESS, data, &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK)
- deserializeSockaddr(&reply, addr);
- }
- return status;
- }
-
- virtual status_t registerListener(
- const sp<ICommonClockListener>& listener) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- data.writeStrongBinder(listener->asBinder());
-
- status_t status = remote()->transact(REGISTER_LISTENER, data, &reply);
-
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t unregisterListener(
- const sp<ICommonClockListener>& listener) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonClock::getInterfaceDescriptor());
- data.writeStrongBinder(listener->asBinder());
- status_t status = remote()->transact(UNREGISTER_LISTENER, data, &reply);
-
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-};
-
-IMPLEMENT_META_INTERFACE(CommonClock, "android.os.ICommonClock");
-
-status_t BnCommonClock::onTransact(uint32_t code,
- const Parcel& data,
- Parcel* reply,
- uint32_t flags) {
- switch(code) {
- case IS_COMMON_TIME_VALID: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- bool valid;
- uint32_t timelineID;
- status_t status = isCommonTimeValid(&valid, &timelineID);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(valid);
- reply->writeInt32(timelineID);
- }
- return OK;
- } break;
-
- case COMMON_TIME_TO_LOCAL_TIME: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- int64_t commonTime = data.readInt64();
- int64_t localTime;
- status_t status = commonTimeToLocalTime(commonTime, &localTime);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(localTime);
- }
- return OK;
- } break;
-
- case LOCAL_TIME_TO_COMMON_TIME: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- int64_t localTime = data.readInt64();
- int64_t commonTime;
- status_t status = localTimeToCommonTime(localTime, &commonTime);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(commonTime);
- }
- return OK;
- } break;
-
- case GET_COMMON_TIME: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- int64_t commonTime;
- status_t status = getCommonTime(&commonTime);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(commonTime);
- }
- return OK;
- } break;
-
- case GET_COMMON_FREQ: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- uint64_t freq;
- status_t status = getCommonFreq(&freq);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(freq);
- }
- return OK;
- } break;
-
- case GET_LOCAL_TIME: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- int64_t localTime;
- status_t status = getLocalTime(&localTime);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(localTime);
- }
- return OK;
- } break;
-
- case GET_LOCAL_FREQ: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- uint64_t freq;
- status_t status = getLocalFreq(&freq);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(freq);
- }
- return OK;
- } break;
-
- case GET_ESTIMATED_ERROR: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- int32_t error;
- status_t status = getEstimatedError(&error);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(error);
- }
- return OK;
- } break;
-
- case GET_TIMELINE_ID: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- uint64_t id;
- status_t status = getTimelineID(&id);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(static_cast<int64_t>(id));
- }
- return OK;
- } break;
-
- case GET_STATE: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- State state;
- status_t status = getState(&state);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(static_cast<int32_t>(state));
- }
- return OK;
- } break;
-
- case GET_MASTER_ADDRESS: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- struct sockaddr_storage addr;
- status_t status = getMasterAddr(&addr);
-
- if ((status == OK) && !canSerializeSockaddr(&addr)) {
- status = UNKNOWN_ERROR;
- }
-
- reply->writeInt32(status);
-
- if (status == OK) {
- serializeSockaddr(reply, &addr);
- }
-
- return OK;
- } break;
-
- case REGISTER_LISTENER: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- sp<ICommonClockListener> listener =
- interface_cast<ICommonClockListener>(data.readStrongBinder());
- status_t status = registerListener(listener);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case UNREGISTER_LISTENER: {
- CHECK_INTERFACE(ICommonClock, data, reply);
- sp<ICommonClockListener> listener =
- interface_cast<ICommonClockListener>(data.readStrongBinder());
- status_t status = unregisterListener(listener);
- reply->writeInt32(status);
- return OK;
- } break;
- }
- return BBinder::onTransact(code, data, reply, flags);
-}
-
-/***** ICommonClockListener *****/
-
-enum {
- ON_TIMELINE_CHANGED = IBinder::FIRST_CALL_TRANSACTION,
-};
-
-class BpCommonClockListener : public BpInterface<ICommonClockListener>
-{
- public:
- BpCommonClockListener(const sp<IBinder>& impl)
- : BpInterface<ICommonClockListener>(impl) {}
-
- virtual void onTimelineChanged(uint64_t timelineID) {
- Parcel data, reply;
- data.writeInterfaceToken(
- ICommonClockListener::getInterfaceDescriptor());
- data.writeInt64(timelineID);
- remote()->transact(ON_TIMELINE_CHANGED, data, &reply);
- }
-};
-
-IMPLEMENT_META_INTERFACE(CommonClockListener,
- "android.os.ICommonClockListener");
-
-status_t BnCommonClockListener::onTransact(
- uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) {
- switch(code) {
- case ON_TIMELINE_CHANGED: {
- CHECK_INTERFACE(ICommonClockListener, data, reply);
- uint32_t timelineID = data.readInt64();
- onTimelineChanged(timelineID);
- return NO_ERROR;
- } break;
- }
-
- return BBinder::onTransact(code, data, reply, flags);
-}
-
-}; // namespace android
diff --git a/libs/common_time/ICommonTimeConfig.cpp b/libs/common_time/ICommonTimeConfig.cpp
deleted file mode 100644
index 8eb37cb..0000000
--- a/libs/common_time/ICommonTimeConfig.cpp
+++ /dev/null
@@ -1,508 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-#include <linux/socket.h>
-
-#include <common_time/ICommonTimeConfig.h>
-#include <binder/Parcel.h>
-
-#include "utils.h"
-
-namespace android {
-
-/***** ICommonTimeConfig *****/
-
-enum {
- GET_MASTER_ELECTION_PRIORITY = IBinder::FIRST_CALL_TRANSACTION,
- SET_MASTER_ELECTION_PRIORITY,
- GET_MASTER_ELECTION_ENDPOINT,
- SET_MASTER_ELECTION_ENDPOINT,
- GET_MASTER_ELECTION_GROUP_ID,
- SET_MASTER_ELECTION_GROUP_ID,
- GET_INTERFACE_BINDING,
- SET_INTERFACE_BINDING,
- GET_MASTER_ANNOUNCE_INTERVAL,
- SET_MASTER_ANNOUNCE_INTERVAL,
- GET_CLIENT_SYNC_INTERVAL,
- SET_CLIENT_SYNC_INTERVAL,
- GET_PANIC_THRESHOLD,
- SET_PANIC_THRESHOLD,
- GET_AUTO_DISABLE,
- SET_AUTO_DISABLE,
- FORCE_NETWORKLESS_MASTER_MODE,
-};
-
-const String16 ICommonTimeConfig::kServiceName("common_time.config");
-
-class BpCommonTimeConfig : public BpInterface<ICommonTimeConfig>
-{
- public:
- BpCommonTimeConfig(const sp<IBinder>& impl)
- : BpInterface<ICommonTimeConfig>(impl) {}
-
- virtual status_t getMasterElectionPriority(uint8_t *priority) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_MASTER_ELECTION_PRIORITY,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *priority = static_cast<uint8_t>(reply.readInt32());
- }
- }
-
- return status;
- }
-
- virtual status_t setMasterElectionPriority(uint8_t priority) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeInt32(static_cast<int32_t>(priority));
- status_t status = remote()->transact(SET_MASTER_ELECTION_PRIORITY,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getMasterElectionEndpoint(struct sockaddr_storage *addr) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_MASTER_ELECTION_ENDPOINT,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- deserializeSockaddr(&reply, addr);
- }
- }
-
- return status;
- }
-
- virtual status_t setMasterElectionEndpoint(
- const struct sockaddr_storage *addr) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- if (!canSerializeSockaddr(addr))
- return BAD_VALUE;
- if (NULL == addr) {
- data.writeInt32(0);
- } else {
- data.writeInt32(1);
- serializeSockaddr(&data, addr);
- }
- status_t status = remote()->transact(SET_MASTER_ELECTION_ENDPOINT,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getMasterElectionGroupId(uint64_t *id) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_MASTER_ELECTION_GROUP_ID,
- data,
- &reply);
-
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *id = static_cast<uint64_t>(reply.readInt64());
- }
- }
-
- return status;
- }
-
- virtual status_t setMasterElectionGroupId(uint64_t id) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeInt64(id);
- status_t status = remote()->transact(SET_MASTER_ELECTION_GROUP_ID,
- data,
- &reply);
-
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getInterfaceBinding(String16& ifaceName) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_INTERFACE_BINDING,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- ifaceName = reply.readString16();
- }
- }
-
- return status;
- }
-
- virtual status_t setInterfaceBinding(const String16& ifaceName) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeString16(ifaceName);
- status_t status = remote()->transact(SET_INTERFACE_BINDING,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getMasterAnnounceInterval(int *interval) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_MASTER_ANNOUNCE_INTERVAL,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *interval = reply.readInt32();
- }
- }
-
- return status;
- }
-
- virtual status_t setMasterAnnounceInterval(int interval) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeInt32(interval);
- status_t status = remote()->transact(SET_MASTER_ANNOUNCE_INTERVAL,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getClientSyncInterval(int *interval) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_CLIENT_SYNC_INTERVAL,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *interval = reply.readInt32();
- }
- }
-
- return status;
- }
-
- virtual status_t setClientSyncInterval(int interval) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeInt32(interval);
- status_t status = remote()->transact(SET_CLIENT_SYNC_INTERVAL,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getPanicThreshold(int *threshold) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_PANIC_THRESHOLD,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *threshold = reply.readInt32();
- }
- }
-
- return status;
- }
-
- virtual status_t setPanicThreshold(int threshold) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeInt32(threshold);
- status_t status = remote()->transact(SET_PANIC_THRESHOLD,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t getAutoDisable(bool *autoDisable) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(GET_AUTO_DISABLE,
- data,
- &reply);
- if (status == OK) {
- status = reply.readInt32();
- if (status == OK) {
- *autoDisable = (0 != reply.readInt32());
- }
- }
-
- return status;
- }
-
- virtual status_t setAutoDisable(bool autoDisable) {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- data.writeInt32(autoDisable ? 1 : 0);
- status_t status = remote()->transact(SET_AUTO_DISABLE,
- data,
- &reply);
-
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-
- virtual status_t forceNetworklessMasterMode() {
- Parcel data, reply;
- data.writeInterfaceToken(ICommonTimeConfig::getInterfaceDescriptor());
- status_t status = remote()->transact(FORCE_NETWORKLESS_MASTER_MODE,
- data,
- &reply);
-
- if (status == OK) {
- status = reply.readInt32();
- }
-
- return status;
- }
-};
-
-IMPLEMENT_META_INTERFACE(CommonTimeConfig, "android.os.ICommonTimeConfig");
-
-status_t BnCommonTimeConfig::onTransact(uint32_t code,
- const Parcel& data,
- Parcel* reply,
- uint32_t flags) {
- switch(code) {
- case GET_MASTER_ELECTION_PRIORITY: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- uint8_t priority;
- status_t status = getMasterElectionPriority(&priority);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(static_cast<int32_t>(priority));
- }
- return OK;
- } break;
-
- case SET_MASTER_ELECTION_PRIORITY: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- uint8_t priority = static_cast<uint8_t>(data.readInt32());
- status_t status = setMasterElectionPriority(priority);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_MASTER_ELECTION_ENDPOINT: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- struct sockaddr_storage addr;
- status_t status = getMasterElectionEndpoint(&addr);
-
- if ((status == OK) && !canSerializeSockaddr(&addr)) {
- status = UNKNOWN_ERROR;
- }
-
- reply->writeInt32(status);
-
- if (status == OK) {
- serializeSockaddr(reply, &addr);
- }
-
- return OK;
- } break;
-
- case SET_MASTER_ELECTION_ENDPOINT: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- struct sockaddr_storage addr;
- int hasAddr = data.readInt32();
-
- status_t status;
- if (hasAddr) {
- deserializeSockaddr(&data, &addr);
- status = setMasterElectionEndpoint(&addr);
- } else {
- status = setMasterElectionEndpoint(&addr);
- }
-
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_MASTER_ELECTION_GROUP_ID: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- uint64_t id;
- status_t status = getMasterElectionGroupId(&id);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt64(id);
- }
- return OK;
- } break;
-
- case SET_MASTER_ELECTION_GROUP_ID: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- uint64_t id = static_cast<uint64_t>(data.readInt64());
- status_t status = setMasterElectionGroupId(id);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_INTERFACE_BINDING: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- String16 ret;
- status_t status = getInterfaceBinding(ret);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeString16(ret);
- }
- return OK;
- } break;
-
- case SET_INTERFACE_BINDING: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- String16 ifaceName;
- ifaceName = data.readString16();
- status_t status = setInterfaceBinding(ifaceName);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_MASTER_ANNOUNCE_INTERVAL: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- int interval;
- status_t status = getMasterAnnounceInterval(&interval);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(interval);
- }
- return OK;
- } break;
-
- case SET_MASTER_ANNOUNCE_INTERVAL: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- int interval = data.readInt32();
- status_t status = setMasterAnnounceInterval(interval);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_CLIENT_SYNC_INTERVAL: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- int interval;
- status_t status = getClientSyncInterval(&interval);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(interval);
- }
- return OK;
- } break;
-
- case SET_CLIENT_SYNC_INTERVAL: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- int interval = data.readInt32();
- status_t status = setClientSyncInterval(interval);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_PANIC_THRESHOLD: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- int threshold;
- status_t status = getPanicThreshold(&threshold);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(threshold);
- }
- return OK;
- } break;
-
- case SET_PANIC_THRESHOLD: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- int threshold = data.readInt32();
- status_t status = setPanicThreshold(threshold);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case GET_AUTO_DISABLE: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- bool autoDisable;
- status_t status = getAutoDisable(&autoDisable);
- reply->writeInt32(status);
- if (status == OK) {
- reply->writeInt32(autoDisable ? 1 : 0);
- }
- return OK;
- } break;
-
- case SET_AUTO_DISABLE: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- bool autoDisable = (0 != data.readInt32());
- status_t status = setAutoDisable(autoDisable);
- reply->writeInt32(status);
- return OK;
- } break;
-
- case FORCE_NETWORKLESS_MASTER_MODE: {
- CHECK_INTERFACE(ICommonTimeConfig, data, reply);
- status_t status = forceNetworklessMasterMode();
- reply->writeInt32(status);
- return OK;
- } break;
- }
- return BBinder::onTransact(code, data, reply, flags);
-}
-
-}; // namespace android
-
diff --git a/libs/common_time/cc_helper.cpp b/libs/common_time/cc_helper.cpp
deleted file mode 100644
index 8d8556c..0000000
--- a/libs/common_time/cc_helper.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-
-#include <stdint.h>
-
-#include <common_time/cc_helper.h>
-#include <common_time/ICommonClock.h>
-#include <utils/threads.h>
-
-namespace android {
-
-Mutex CCHelper::lock_;
-sp<ICommonClock> CCHelper::common_clock_;
-sp<ICommonClockListener> CCHelper::common_clock_listener_;
-uint32_t CCHelper::ref_count_ = 0;
-
-bool CCHelper::verifyClock_l() {
- bool ret = false;
-
- if (common_clock_ == NULL) {
- common_clock_ = ICommonClock::getInstance();
- if (common_clock_ == NULL)
- goto bailout;
- }
-
- if (ref_count_ > 0) {
- if (common_clock_listener_ == NULL) {
- common_clock_listener_ = new CommonClockListener();
- if (common_clock_listener_ == NULL)
- goto bailout;
-
- if (OK != common_clock_->registerListener(common_clock_listener_))
- goto bailout;
- }
- }
-
- ret = true;
-
-bailout:
- if (!ret) {
- common_clock_listener_ = NULL;
- common_clock_ = NULL;
- }
- return ret;
-}
-
-CCHelper::CCHelper() {
- Mutex::Autolock lock(&lock_);
- ref_count_++;
- verifyClock_l();
-}
-
-CCHelper::~CCHelper() {
- Mutex::Autolock lock(&lock_);
-
- assert(ref_count_ > 0);
- ref_count_--;
-
- // If we were the last CCHelper instance in the system, and we had
- // previously register a listener, unregister it now so that the common time
- // service has the chance to go into auto-disabled mode.
- if (!ref_count_ &&
- (common_clock_ != NULL) &&
- (common_clock_listener_ != NULL)) {
- common_clock_->unregisterListener(common_clock_listener_);
- common_clock_listener_ = NULL;
- }
-}
-
-void CCHelper::CommonClockListener::onTimelineChanged(uint64_t timelineID) {
- // do nothing; listener is only really used as a token so the server can
- // find out when clients die.
-}
-
-// Helper methods which attempts to make calls to the common time binder
-// service. If the first attempt fails with DEAD_OBJECT, the helpers will
-// attempt to make a connection to the service again (assuming that the process
-// hosting the service had crashed and the client proxy we are holding is dead)
-// If the second attempt fails, or no connection can be made, the we let the
-// error propagate up the stack and let the caller deal with the situation as
-// best they can.
-#define CCHELPER_METHOD(decl, call) \
- status_t CCHelper::decl { \
- Mutex::Autolock lock(&lock_); \
- \
- if (!verifyClock_l()) \
- return DEAD_OBJECT; \
- \
- status_t status = common_clock_->call; \
- if (DEAD_OBJECT == status) { \
- if (!verifyClock_l()) \
- return DEAD_OBJECT; \
- status = common_clock_->call; \
- } \
- \
- return status; \
- }
-
-#define VERIFY_CLOCK()
-
-CCHELPER_METHOD(isCommonTimeValid(bool* valid, uint32_t* timelineID),
- isCommonTimeValid(valid, timelineID))
-CCHELPER_METHOD(commonTimeToLocalTime(int64_t commonTime, int64_t* localTime),
- commonTimeToLocalTime(commonTime, localTime))
-CCHELPER_METHOD(localTimeToCommonTime(int64_t localTime, int64_t* commonTime),
- localTimeToCommonTime(localTime, commonTime))
-CCHELPER_METHOD(getCommonTime(int64_t* commonTime),
- getCommonTime(commonTime))
-CCHELPER_METHOD(getCommonFreq(uint64_t* freq),
- getCommonFreq(freq))
-CCHELPER_METHOD(getLocalTime(int64_t* localTime),
- getLocalTime(localTime))
-CCHELPER_METHOD(getLocalFreq(uint64_t* freq),
- getLocalFreq(freq))
-
-} // namespace android
diff --git a/libs/common_time/local_clock.cpp b/libs/common_time/local_clock.cpp
deleted file mode 100644
index a7c61fc..0000000
--- a/libs/common_time/local_clock.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-
-#define LOG_TAG "common_time"
-#include <utils/Log.h>
-
-#include <assert.h>
-#include <stdint.h>
-
-#include <common_time/local_clock.h>
-#include <hardware/hardware.h>
-#include <hardware/local_time_hal.h>
-#include <utils/Errors.h>
-#include <utils/threads.h>
-
-namespace android {
-
-Mutex LocalClock::dev_lock_;
-local_time_hw_device_t* LocalClock::dev_ = NULL;
-
-LocalClock::LocalClock() {
- int res;
- const hw_module_t* mod;
-
- AutoMutex lock(&dev_lock_);
-
- if (dev_ != NULL)
- return;
-
- res = hw_get_module_by_class(LOCAL_TIME_HARDWARE_MODULE_ID, NULL, &mod);
- if (res) {
- ALOGE("Failed to open local time HAL module (res = %d)", res);
- } else {
- res = local_time_hw_device_open(mod, &dev_);
- if (res) {
- ALOGE("Failed to open local time HAL device (res = %d)", res);
- dev_ = NULL;
- }
- }
-}
-
-bool LocalClock::initCheck() {
- return (NULL != dev_);
-}
-
-int64_t LocalClock::getLocalTime() {
- assert(NULL != dev_);
- assert(NULL != dev_->get_local_time);
-
- return dev_->get_local_time(dev_);
-}
-
-uint64_t LocalClock::getLocalFreq() {
- assert(NULL != dev_);
- assert(NULL != dev_->get_local_freq);
-
- return dev_->get_local_freq(dev_);
-}
-
-status_t LocalClock::setLocalSlew(int16_t rate) {
- assert(NULL != dev_);
-
- if (!dev_->set_local_slew)
- return INVALID_OPERATION;
-
- return static_cast<status_t>(dev_->set_local_slew(dev_, rate));
-}
-
-int32_t LocalClock::getDebugLog(struct local_time_debug_event* records,
- int max_records) {
- assert(NULL != dev_);
-
- if (!dev_->get_debug_log)
- return INVALID_OPERATION;
-
- return dev_->get_debug_log(dev_, records, max_records);
-}
-
-} // namespace android
diff --git a/libs/common_time/utils.cpp b/libs/common_time/utils.cpp
deleted file mode 100644
index 6539171..0000000
--- a/libs/common_time/utils.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2012 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.
- */
-
-#include <arpa/inet.h>
-#include <linux/socket.h>
-
-#include <binder/Parcel.h>
-
-namespace android {
-
-bool canSerializeSockaddr(const struct sockaddr_storage* addr) {
- switch (addr->ss_family) {
- case AF_INET:
- case AF_INET6:
- return true;
- default:
- return false;
- }
-}
-
-void serializeSockaddr(Parcel* p, const struct sockaddr_storage* addr) {
- switch (addr->ss_family) {
- case AF_INET: {
- const struct sockaddr_in* s =
- reinterpret_cast<const struct sockaddr_in*>(addr);
- p->writeInt32(AF_INET);
- p->writeInt32(ntohl(s->sin_addr.s_addr));
- p->writeInt32(static_cast<int32_t>(ntohs(s->sin_port)));
- } break;
-
- case AF_INET6: {
- const struct sockaddr_in6* s =
- reinterpret_cast<const struct sockaddr_in6*>(addr);
- const int32_t* a =
- reinterpret_cast<const int32_t*>(s->sin6_addr.s6_addr);
- p->writeInt32(AF_INET6);
- p->writeInt32(ntohl(a[0]));
- p->writeInt32(ntohl(a[1]));
- p->writeInt32(ntohl(a[2]));
- p->writeInt32(ntohl(a[3]));
- p->writeInt32(static_cast<int32_t>(ntohs(s->sin6_port)));
- p->writeInt32(ntohl(s->sin6_flowinfo));
- p->writeInt32(ntohl(s->sin6_scope_id));
- } break;
- }
-}
-
-void deserializeSockaddr(const Parcel* p, struct sockaddr_storage* addr) {
- memset(addr, 0, sizeof(addr));
-
- addr->ss_family = p->readInt32();
- switch(addr->ss_family) {
- case AF_INET: {
- struct sockaddr_in* s =
- reinterpret_cast<struct sockaddr_in*>(addr);
- s->sin_addr.s_addr = htonl(p->readInt32());
- s->sin_port = htons(static_cast<uint16_t>(p->readInt32()));
- } break;
-
- case AF_INET6: {
- struct sockaddr_in6* s =
- reinterpret_cast<struct sockaddr_in6*>(addr);
- int32_t* a = reinterpret_cast<int32_t*>(s->sin6_addr.s6_addr);
-
- a[0] = htonl(p->readInt32());
- a[1] = htonl(p->readInt32());
- a[2] = htonl(p->readInt32());
- a[3] = htonl(p->readInt32());
- s->sin6_port = htons(static_cast<uint16_t>(p->readInt32()));
- s->sin6_flowinfo = htonl(p->readInt32());
- s->sin6_scope_id = htonl(p->readInt32());
- } break;
- }
-}
-
-} // namespace android
diff --git a/libs/common_time/utils.h b/libs/common_time/utils.h
deleted file mode 100644
index ce79d0d..0000000
--- a/libs/common_time/utils.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2012 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_LIBCOMMONCLOCK_UTILS_H
-#define ANDROID_LIBCOMMONCLOCK_UTILS_H
-
-#include <linux/socket.h>
-
-#include <binder/Parcel.h>
-#include <utils/Errors.h>
-
-namespace android {
-
-extern bool canSerializeSockaddr(const struct sockaddr_storage* addr);
-extern void serializeSockaddr(Parcel* p, const struct sockaddr_storage* addr);
-extern status_t deserializeSockaddr(const Parcel* p,
- struct sockaddr_storage* addr);
-
-}; // namespace android
-
-#endif // ANDROID_LIBCOMMONCLOCK_UTILS_H