FlexBook / Mbed 2 deprecated FlexBook171204a

Dependencies:   SDFileSystem app epson mbed msp430 pl tests

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers book.h Source File

book.h

00001 //
00002 // Filename: book.h
00003 //
00004 // Container for Flexbook pages.
00005 //
00006 
00007 // include guards
00008 #ifndef BOOK_H
00009 #define BOOK_H
00010 
00011 #include "page.h"
00012 
00013 namespace Flexbook
00014 {
00015 
00016 class Page;
00017 class PageFactory;
00018 
00019 typedef int PageType;
00020 
00021 class Book
00022 {
00023 public:
00024     // Constructor needs to be explicit.
00025     explicit Book(PageFactory &factory);
00026 
00027     // Destructor.
00028     ~Book();
00029 
00030     // Page change notification.
00031     void PageChange(PageType type);
00032 
00033     // Return the type of the currently active page.
00034     PageType GetPageType() const;
00035 
00036     void HandleActions();
00037 
00038 private:
00039     // Disable the copy constructor.
00040     Book(const Book &);
00041 
00042     // Disable assignment.
00043     Book &operator=(const Book &);
00044 
00045     PageFactory &factory;
00046     PageType    pagetype;
00047 
00048     BookPage page;
00049 };
00050 
00051 } // End Flexbook namespace.
00052 
00053 #endif // BOOK_H
00054