Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1619)

Unified Diff: chrome/browser/media/android/router/media_router_android.h

Issue 1291203003: [Presentation API, Android] Implement routes observers (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@close-route
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/media/android/router/media_router_android.h
diff --git a/chrome/browser/media/android/router/media_router_android.h b/chrome/browser/media/android/router/media_router_android.h
index 42b182d6dd549f2df91a766fad2735008f9943db..9bdeda22b23ee5f542fa43c36059423a9a26101f 100644
--- a/chrome/browser/media/android/router/media_router_android.h
+++ b/chrome/browser/media/android/router/media_router_android.h
@@ -52,24 +52,27 @@ class MediaRouterAndroid : public MediaRouter {
// JNI functions.
void OnSinksReceived(
- JNIEnv* env, jobject obj, jstring source_urn, jint count);
+ JNIEnv* env, jobject obj, jstring jsource_urn, jint jcount);
void OnRouteCreated(
JNIEnv* env,
jobject obj,
- jstring media_route_id,
+ jstring jmedia_route_id,
jint jcreate_route_request_id,
jboolean jis_local);
void OnRouteCreationError(
JNIEnv* env,
jobject obj,
- jstring error_text,
+ jstring jerror_text,
jint jcreate_route_request_id);
+ void OnRouteClosed(JNIEnv* env, jobject obj, jstring jmedia_route_id);
private:
friend class MediaRouterFactory;
explicit MediaRouterAndroid(content::BrowserContext*);
+ void UpdateRoutesObservers();
+
// MediaRouter implementation.
void RegisterMediaSinksObserver(MediaSinksObserver* observer) override;
void UnregisterMediaSinksObserver(MediaSinksObserver* observer) override;
@@ -89,6 +92,8 @@ class MediaRouterAndroid : public MediaRouter {
scoped_ptr<base::ObserverList<MediaSinksObserver>>>;
MediaSinkObservers sinks_observers_;
+ base::ObserverList<MediaRoutesObserver> routes_observers_;
+
struct CreateMediaRouteRequest {
CreateMediaRouteRequest(
const MediaSource& source,
@@ -107,6 +112,10 @@ class MediaRouterAndroid : public MediaRouter {
IDMap<CreateMediaRouteRequest, IDMapOwnPointer>;
CreateMediaRouteRequests create_route_requests_;
+ using MediaRoutes = base::ScopedPtrHashMap<
+ MediaRoute::Id, scoped_ptr<MediaRoute>>;
+ MediaRoutes active_routes_;
mlamouri (slow - plz ping) 2015/08/18 22:39:37 FWIW, I'm not sure if it is really helping to have
whywhat 2015/08/19 00:26:43 Agreed. I don't think a map is needed in the futur
+
DISALLOW_COPY_AND_ASSIGN(MediaRouterAndroid);
};

Powered by Google App Engine
This is Rietveld 408576698