observable.rs 1009 B

1234567891011121314151617181920212223242526272829303132333435
  1. use bytes::Bytes;
  2. use flowy_derive::ProtoBuf_Enum;
  3. use flowy_dispatch::prelude::ToBytes;
  4. use flowy_observable::{dart::RustStreamSender, entities::ObservableSubject, ObservableBuilder};
  5. const OBSERVABLE_CATEGORY: &'static str = "Workspace";
  6. #[derive(ProtoBuf_Enum, Debug)]
  7. pub(crate) enum WorkspaceObservable {
  8. Unknown = 0,
  9. UserCreateWorkspace = 10,
  10. UserDeleteWorkspace = 11,
  11. WorkspaceUpdated = 12,
  12. WorkspaceCreateApp = 13,
  13. WorkspaceDeleteApp = 14,
  14. WorkspaceListUpdated = 15,
  15. AppUpdated = 21,
  16. AppCreateView = 23,
  17. AppDeleteView = 24,
  18. ViewUpdated = 31,
  19. }
  20. impl std::default::Default for WorkspaceObservable {
  21. fn default() -> Self { WorkspaceObservable::Unknown }
  22. }
  23. impl std::convert::Into<i32> for WorkspaceObservable {
  24. fn into(self) -> i32 { self as i32 }
  25. }
  26. pub(crate) fn observable(id: &str, ty: WorkspaceObservable) -> ObservableBuilder { ObservableBuilder::new(id, ty, OBSERVABLE_CATEGORY) }