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

Commit 3e2fb705 authored by Jeff Brown's avatar Jeff Brown
Browse files

Deprecate local-only CursorWindows.

There is no difference and has never really been a difference
between local-only and remotable CursorWindows.  By removing the
distinction officially in the API, we will make it easier to
implement CrossProcessCursor correctly.  CrossProcessCursor
is problematic currently because it's not clear whether a call
to getWindow() will return a local-only window or a remotable window.
As a result, the bulk cursor adaptor has special case handling
for AbstractWindowedCursors vs. ordinary CrossProcessCursors
so that it can set a remotable window before the cursor fills it.
All these problems go away if we just forget about local-only
windows being special in any way.

Change-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376
parent d16b0945
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -80,8 +80,7 @@ public:

    ~CursorWindow();

    static status_t create(const String8& name, size_t size, bool localOnly,
            CursorWindow** outCursorWindow);
    static status_t create(const String8& name, size_t size, CursorWindow** outCursorWindow);
    static status_t createFromParcel(Parcel* parcel, CursorWindow** outCursorWindow);

    status_t writeToParcel(Parcel* parcel);
+1 −3
Original line number Diff line number Diff line
@@ -40,11 +40,9 @@ CursorWindow::~CursorWindow() {
    ::close(mAshmemFd);
}

status_t CursorWindow::create(const String8& name, size_t size, bool localOnly,
        CursorWindow** outCursorWindow) {
status_t CursorWindow::create(const String8& name, size_t size, CursorWindow** outCursorWindow) {
    String8 ashmemName("CursorWindow: ");
    ashmemName.append(name);
    ashmemName.append(localOnly ? " (local)" : " (remote)");

    status_t result;
    int ashmemFd = ashmem_create_region(ashmemName.string(), size);