CMT – Initial requirements and design



WORK IN PROGRESS

First article: initial requirements and design

I want a CLI application, that will get as parameters the cable modem url and a refresh time. It will print the status of the cable modem (syncronised or not). The only reliable way to get this data from the cable modem that I know of at this point is through the web interface. Some isp’s like my own, will block access to other ways to check the modem.

Interlude: How to use OOP

Because there are many types of cable modems used, I want an object that will gather the required data by itself and have a way to present that data to a consumer. So, my object should know about:

  1. initialisation, with the cable modem type (maybe also the url and port) and refresh time.
  2. a start method, that will put the object in “data retrieve” mode.
  3. a stop method, that will change the “data retrieve” mode to a “stop mode”.
  4. cleanup, to allow the object to clean the mess.
  5. get the syncronisation status, to allow a consumer to get the connection state.

My object should automaticaly gather the data it needs, after put in “data retrieve” mode. Thus, it will need to start a thread and do the http transfer and file processing in that thread. An user of this object should only care to start, stop and ask the object for the data.

I will be using cUrl library to perform the http requests. Probably, I will also use wxWidgets for the portable threads and later for the GUI.

 

Preparation:

- set up a Visual Studio Solution

- set up the project to use curl

- set up the project to use wxWidgets

http://www.coada.net/wp-content/plugins/sociofluid/images/reddit_24.png http://www.coada.net/wp-content/plugins/sociofluid/images/stumbleupon_24.png http://www.coada.net/wp-content/plugins/sociofluid/images/technorati_24.png http://www.coada.net/wp-content/plugins/sociofluid/images/google_24.png http://www.coada.net/wp-content/plugins/sociofluid/images/yahoobuzz_24.png