summaryrefslogtreecommitdiff
path: root/cras/client/libcras/src/libcras.rs
diff options
context:
space:
mode:
Diffstat (limited to 'cras/client/libcras/src/libcras.rs')
-rw-r--r--cras/client/libcras/src/libcras.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/cras/client/libcras/src/libcras.rs b/cras/client/libcras/src/libcras.rs
index cdad706f..69a06ace 100644
--- a/cras/client/libcras/src/libcras.rs
+++ b/cras/client/libcras/src/libcras.rs
@@ -142,6 +142,7 @@ mod audio_socket;
use crate::audio_socket::AudioSocket;
mod cras_server_socket;
use crate::cras_server_socket::CrasServerSocket;
+pub use crate::cras_server_socket::CrasSocketType;
mod cras_shm;
use crate::cras_shm::CrasServerState;
pub mod cras_shm_stream;
@@ -227,9 +228,18 @@ impl<'a> CrasClient<'a> {
/// Returns error if error occurs while handling server message or message
/// type is incorrect
pub fn new() -> Result<Self> {
- // Create a connection to the server.
- let mut server_socket = CrasServerSocket::new()?;
+ Self::with_type(CrasSocketType::Legacy)
+ }
+ /// Tries to create a `CrasClient` with a given `CrasSocketType`.
+ ///
+ /// # Errors
+ ///
+ /// Returns error if error occurs while handling server message or message
+ /// type is incorrect.
+ pub fn with_type(socket_type: CrasSocketType) -> Result<Self> {
+ // Create a connection to the server.
+ let mut server_socket = CrasServerSocket::with_type(socket_type)?;
// Gets client ID and server state fd from server
if let ServerResult::Connected(client_id, server_state_fd) =
CrasClient::wait_for_message(&mut server_socket)?