Okay I think I get it. Thank you!

Is there anyway I can check if the changes I make to the devices crate is
right?

Our submission is on Monday and  we are going to continue working with
Webbluetooth for our final project too. So if our implementation of our
adapter.rs file is right, we can go ahead and do something similar for the
rest of the enum values. It would be really helpful if there is a way to
check that.


Niveditha Shankar



On Sat, Mar 30, 2019, 12:25 PM Josh Bowman-Matthews <j...@joshmatthews.net
wrote:

> The init functions are actually a bit special, because they can't be
> turned into static methods on the new trait without running into compile
> errors. I recommend doing this instead:
>
> trait BluetoothAdapter {
>     // ...
> }
>
> impl BluetoothAdapter {
>    #[cfg(all(target_os = "macos", feature = "bluetooth"))]
>    pub fn new() -> Result<Box<BluetoothAdapter>, Box<Error>> {
>      // ...
>    }
>
>    #[cfg(all(target_os = "linux", feature = "bluetooth"))]
>    pub fn new() -> Result<Box<BluetoothAdapter>, Box<Error>> {
>      // ...
>    }
> }
>
> This will allow callers to use `BluetoothAdapter::new()` to create a new
> instance.
>
> Cheers,
> Josh
>
> On 3/30/19 11:40 AM, Niveditha Shankar wrote:
> > Thank you!
> > We meant to ask if code in
> >
> https://github.com/servo/devices/blob/d6c62e0873b2ec9a68c97a3370667e8b9a879cf4/src/bluetooth.rs#L276-L305
> > should
> > be split and the functions corresponding to say linux should be put in
> the
> > structure we created for implementing BluetoothAdapter for linux.
> >
> > Sincerely
> > Niveditha Shankar
> >
> > On Sat, Mar 30, 2019 at 12:26 AM Josh Bowman-Matthews <
> j...@joshmatthews.net>
> > wrote:
> >
> >> That sounds like the right idea. I'm not quite sure what this question
> >> is asking, however:
> >>
> >>   > Are we right in assuming that the current BluetoothAdapter function
> >> has to
> >>   > be broken for each component and put in the respective structure?
> >>
> >> If you are asking if code like
> >>
> >>
> https://github.com/servo/devices/blob/d6c62e0873b2ec9a68c97a3370667e8b9a879cf4/src/bluetooth.rs#L276-L305
> >> should be distributed across the various trait implementations, then the
> >> answer is yes.
> >>
> >> Cheers,
> >> Josh
> >>
> >> On 3/28/19 8:23 PM, Sruthi Kannan wrote:
> >>> Hello,
> >>>
> >>> I am a NC state graduate student working in the Refactoring Bluetooth
> >>> support project with Niveditha.
> >>> We went went through the documentation on traits. We arrived at the
> >>> following approach and we just want to make sure we are doing it right.
> >>>
> >>> 1) Create an adapter.rs file. Define a trait object using a vector.
> >> Create
> >>> a structure, say DeviceType for the same.
> >>>
> >>> 2) Create individual structures for each component(like Android,Mac..)
> >> and
> >>> implement BluetoothAdapter function in each.
> >>>
> >>> 3) Make changes in the servo crate to call adapter.rs
> >>>
> >>> Are we right in assuming that the current BluetoothAdapter function has
> >> to
> >>> be broken for each component and put in the respective structure?
> >>>
> >>> Thank you.
> >>>
> >>
> >> _______________________________________________
> >> dev-servo mailing list
> >> dev-servo@lists.mozilla.org
> >> https://lists.mozilla.org/listinfo/dev-servo
> >>
>
> _______________________________________________
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to