aboutsummaryrefslogtreecommitdiff
path: root/example/src/animals/human.rs
diff options
context:
space:
mode:
Diffstat (limited to 'example/src/animals/human.rs')
-rw-r--r--example/src/animals/human.rs49
1 files changed, 0 insertions, 49 deletions
diff --git a/example/src/animals/human.rs b/example/src/animals/human.rs
deleted file mode 100644
index 5bd2f8f..0000000
--- a/example/src/animals/human.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-use syrette::injectable;
-use syrette::ptr::{FactoryPtr, InterfacePtr};
-
-use crate::interfaces::cat::ICat;
-use crate::interfaces::cow::{CowFactory, ICow};
-use crate::interfaces::dog::IDog;
-use crate::interfaces::human::IHuman;
-
-pub struct Human
-{
- dog: InterfacePtr<dyn IDog>,
- cat: InterfacePtr<dyn ICat>,
- cow_factory: FactoryPtr<CowFactory>,
-}
-
-#[injectable(IHuman)]
-impl Human
-{
- pub fn new(
- dog: InterfacePtr<dyn IDog>,
- cat: InterfacePtr<dyn ICat>,
- cow_factory: FactoryPtr<CowFactory>,
- ) -> Self
- {
- Self {
- dog,
- cat,
- cow_factory,
- }
- }
-}
-
-impl IHuman for Human
-{
- fn make_pets_make_sounds(&self)
- {
- println!("Hi doggy!");
-
- self.dog.woof();
-
- println!("Hi kitty!");
-
- self.cat.meow();
-
- let cow: Box<dyn ICow> = (self.cow_factory)(3);
-
- cow.moo();
- }
-}