Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SDFileSystem app epson mbed msp430 pl tests
Diff: pagefactory.cpp
- Revision:
- 0:fa7450a43b99
diff -r 000000000000 -r fa7450a43b99 pagefactory.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/pagefactory.cpp Mon Dec 04 09:32:20 2017 +0000
@@ -0,0 +1,86 @@
+//
+// Filename: pagefactory.h
+//
+// Flexbook page creator.
+//
+
+#include "pagefactory.h"
+
+#include "hal.h"
+#include "log.h"
+
+#include "pagesensor.h"
+#include "pagedice.h"
+#include "pageoled.h"
+#include "pagetouch.h"
+#include "pageflexenable.h"
+#include "pagenfc.h"
+
+#include <iostream>
+
+namespace Flexbook {
+
+PageFactory::PageFactory()
+{
+ Log("Creating PageFactory");
+}
+
+PageFactory::~PageFactory()
+{
+ Log("Deleting PageFactory");
+}
+
+BookPage PageFactory::CreatePages(PageType &type)
+{
+
+ switch(type)
+ {
+ case PageType_PageSensor:
+
+ HAL::EnablePowerToPages(PageType_PageSensor | PageType_PageOLED);
+ return BookPage(new PageSensor);
+
+ case PageType_PageDice:
+
+ HAL::EnablePowerToPages(PageType_PageDice | PageType_PageOLED);
+ return BookPage(new PageDice);
+
+ case PageType_PageOLED:
+
+ HAL::EnablePowerToPages(PageType_PageOLED);
+ return BookPage(new PageOLED);
+
+ case PageType_PageTouch:
+
+ HAL::EnablePowerToPages(PageType_PageTouch | PageType_PageFlexEnable);
+ return BookPage(new PageTouch);
+
+ case PageType_PageFlexEnable:
+
+ HAL::EnablePowerToPages(PageType_PageFlexEnable);
+ return BookPage(new PageFlexEnable);
+
+ case PageType_PageNFC:
+
+ HAL::EnablePowerToPages(PageType_PageNFC);
+ return BookPage(new PageNFC);
+
+ case PageType_PageNull:
+
+ HAL::EnablePowerToPages(PageType_PageNull);
+ Log("NULL page");
+ break;
+
+ default:
+
+ Log("Error - unknown page type");
+ break;
+ }
+
+ return BookPage(nullptr);
+}
+
+} // End Flexbook namespace.
+
+
+