Be the first to rate this file! 103 downloads (last 30 days) File Size: 1.35 KB File ID: #23472

The Object of My Callback

by Dimitri Shvorob

 

29 Mar 2009

No BSD License  

(object references with Matlab timers)

Download Now | Watch this File

File Information
Description

How can I have a timer whose callback points to an object? (For example, invokes a method on a particular instance of a user-defined class - possibly, the instance that 'hosts' the timer, when the timer serves as the object's 'heartbeat').

The solution I came up with employs Singleton pattern to create and access multiple instances, identifies those by id's, and hard-codes the id's into timer callbacks. (As a shortcut, sample class Widget identifies id with an 'existing' property, Color - now, no two widgets of the same color can be created - but this is not necessary, and 'getInstance' is easy to modify). Things get more complicated when one handles deletion of singletons, which included code does not do.

Is there a simpler way?

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
Video tutorial: Advanced MATLAB: Making background timer objects, Scrolling display
This submission has inspired the following:
Order book simulation

MATLAB release MATLAB 7.7 (R2008b)
Zip File Content  
Other Files CallbackDemo.m,
CharKeyHashtable.m,
Widget.m
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
timer callback object singleton Dimitri Shvorob 30 Mar 2009 14:40:13
 

MATLAB Central Terms of Use

NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Terms prior to use.

Contact us at files@mathworks.com