Added HangmanGame class, but does not work yet
Dependencies: SDFileSystem app epson mbed msp430 pl tests
pagefactory.cpp@0:fa7450a43b99, 2017-12-04 (annotated)
- Committer:
- group-FlexBook
- Date:
- Mon Dec 04 09:32:20 2017 +0000
- Revision:
- 0:fa7450a43b99
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
group-FlexBook | 0:fa7450a43b99 | 1 | // |
group-FlexBook | 0:fa7450a43b99 | 2 | // Filename: pagefactory.h |
group-FlexBook | 0:fa7450a43b99 | 3 | // |
group-FlexBook | 0:fa7450a43b99 | 4 | // Flexbook page creator. |
group-FlexBook | 0:fa7450a43b99 | 5 | // |
group-FlexBook | 0:fa7450a43b99 | 6 | |
group-FlexBook | 0:fa7450a43b99 | 7 | #include "pagefactory.h" |
group-FlexBook | 0:fa7450a43b99 | 8 | |
group-FlexBook | 0:fa7450a43b99 | 9 | #include "hal.h" |
group-FlexBook | 0:fa7450a43b99 | 10 | #include "log.h" |
group-FlexBook | 0:fa7450a43b99 | 11 | |
group-FlexBook | 0:fa7450a43b99 | 12 | #include "pagesensor.h" |
group-FlexBook | 0:fa7450a43b99 | 13 | #include "pagedice.h" |
group-FlexBook | 0:fa7450a43b99 | 14 | #include "pageoled.h" |
group-FlexBook | 0:fa7450a43b99 | 15 | #include "pagetouch.h" |
group-FlexBook | 0:fa7450a43b99 | 16 | #include "pageflexenable.h" |
group-FlexBook | 0:fa7450a43b99 | 17 | #include "pagenfc.h" |
group-FlexBook | 0:fa7450a43b99 | 18 | |
group-FlexBook | 0:fa7450a43b99 | 19 | #include <iostream> |
group-FlexBook | 0:fa7450a43b99 | 20 | |
group-FlexBook | 0:fa7450a43b99 | 21 | namespace Flexbook { |
group-FlexBook | 0:fa7450a43b99 | 22 | |
group-FlexBook | 0:fa7450a43b99 | 23 | PageFactory::PageFactory() |
group-FlexBook | 0:fa7450a43b99 | 24 | { |
group-FlexBook | 0:fa7450a43b99 | 25 | Log("Creating PageFactory"); |
group-FlexBook | 0:fa7450a43b99 | 26 | } |
group-FlexBook | 0:fa7450a43b99 | 27 | |
group-FlexBook | 0:fa7450a43b99 | 28 | PageFactory::~PageFactory() |
group-FlexBook | 0:fa7450a43b99 | 29 | { |
group-FlexBook | 0:fa7450a43b99 | 30 | Log("Deleting PageFactory"); |
group-FlexBook | 0:fa7450a43b99 | 31 | } |
group-FlexBook | 0:fa7450a43b99 | 32 | |
group-FlexBook | 0:fa7450a43b99 | 33 | BookPage PageFactory::CreatePages(PageType &type) |
group-FlexBook | 0:fa7450a43b99 | 34 | { |
group-FlexBook | 0:fa7450a43b99 | 35 | |
group-FlexBook | 0:fa7450a43b99 | 36 | switch(type) |
group-FlexBook | 0:fa7450a43b99 | 37 | { |
group-FlexBook | 0:fa7450a43b99 | 38 | case PageType_PageSensor: |
group-FlexBook | 0:fa7450a43b99 | 39 | |
group-FlexBook | 0:fa7450a43b99 | 40 | HAL::EnablePowerToPages(PageType_PageSensor | PageType_PageOLED); |
group-FlexBook | 0:fa7450a43b99 | 41 | return BookPage(new PageSensor); |
group-FlexBook | 0:fa7450a43b99 | 42 | |
group-FlexBook | 0:fa7450a43b99 | 43 | case PageType_PageDice: |
group-FlexBook | 0:fa7450a43b99 | 44 | |
group-FlexBook | 0:fa7450a43b99 | 45 | HAL::EnablePowerToPages(PageType_PageDice | PageType_PageOLED); |
group-FlexBook | 0:fa7450a43b99 | 46 | return BookPage(new PageDice); |
group-FlexBook | 0:fa7450a43b99 | 47 | |
group-FlexBook | 0:fa7450a43b99 | 48 | case PageType_PageOLED: |
group-FlexBook | 0:fa7450a43b99 | 49 | |
group-FlexBook | 0:fa7450a43b99 | 50 | HAL::EnablePowerToPages(PageType_PageOLED); |
group-FlexBook | 0:fa7450a43b99 | 51 | return BookPage(new PageOLED); |
group-FlexBook | 0:fa7450a43b99 | 52 | |
group-FlexBook | 0:fa7450a43b99 | 53 | case PageType_PageTouch: |
group-FlexBook | 0:fa7450a43b99 | 54 | |
group-FlexBook | 0:fa7450a43b99 | 55 | HAL::EnablePowerToPages(PageType_PageTouch | PageType_PageFlexEnable); |
group-FlexBook | 0:fa7450a43b99 | 56 | return BookPage(new PageTouch); |
group-FlexBook | 0:fa7450a43b99 | 57 | |
group-FlexBook | 0:fa7450a43b99 | 58 | case PageType_PageFlexEnable: |
group-FlexBook | 0:fa7450a43b99 | 59 | |
group-FlexBook | 0:fa7450a43b99 | 60 | HAL::EnablePowerToPages(PageType_PageFlexEnable); |
group-FlexBook | 0:fa7450a43b99 | 61 | return BookPage(new PageFlexEnable); |
group-FlexBook | 0:fa7450a43b99 | 62 | |
group-FlexBook | 0:fa7450a43b99 | 63 | case PageType_PageNFC: |
group-FlexBook | 0:fa7450a43b99 | 64 | |
group-FlexBook | 0:fa7450a43b99 | 65 | HAL::EnablePowerToPages(PageType_PageNFC); |
group-FlexBook | 0:fa7450a43b99 | 66 | return BookPage(new PageNFC); |
group-FlexBook | 0:fa7450a43b99 | 67 | |
group-FlexBook | 0:fa7450a43b99 | 68 | case PageType_PageNull: |
group-FlexBook | 0:fa7450a43b99 | 69 | |
group-FlexBook | 0:fa7450a43b99 | 70 | HAL::EnablePowerToPages(PageType_PageNull); |
group-FlexBook | 0:fa7450a43b99 | 71 | Log("NULL page"); |
group-FlexBook | 0:fa7450a43b99 | 72 | break; |
group-FlexBook | 0:fa7450a43b99 | 73 | |
group-FlexBook | 0:fa7450a43b99 | 74 | default: |
group-FlexBook | 0:fa7450a43b99 | 75 | |
group-FlexBook | 0:fa7450a43b99 | 76 | Log("Error - unknown page type"); |
group-FlexBook | 0:fa7450a43b99 | 77 | break; |
group-FlexBook | 0:fa7450a43b99 | 78 | } |
group-FlexBook | 0:fa7450a43b99 | 79 | |
group-FlexBook | 0:fa7450a43b99 | 80 | return BookPage(nullptr); |
group-FlexBook | 0:fa7450a43b99 | 81 | } |
group-FlexBook | 0:fa7450a43b99 | 82 | |
group-FlexBook | 0:fa7450a43b99 | 83 | } // End Flexbook namespace. |
group-FlexBook | 0:fa7450a43b99 | 84 | |
group-FlexBook | 0:fa7450a43b99 | 85 | |
group-FlexBook | 0:fa7450a43b99 | 86 |