Host library for controlling a WiConnect enabled Wi-Fi module.
Dependents: wiconnect-ota_example wiconnect-web_setup_example wiconnect-test-console wiconnect-tcp_server_example ... more
Diff: types/FunctionPointer.h
- Revision:
- 0:ea85c4bb5e1f
- Child:
- 1:6ec9998427ad
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/types/FunctionPointer.h Mon Aug 11 09:58:24 2014 +0000 @@ -0,0 +1,51 @@ +/* + * Copyright 2014, ACKme Networks + * All Rights Reserved. + * + * This is UNPUBLISHED PROPRIETARY SOURCE CODE of ACKme Networks; + * the contents of this file may not be disclosed to third parties, copied + * or duplicated in any form, in whole or in part, without the prior + * written permission of ACKme Networks. + */ + +#pragma once + + +namespace wiconnect +{ + +class FunctionPointer +{ +public: + /*************************************************************************************************/ + FunctionPointer& operator=( const FunctionPointer& other ) + { + _object = other._object; + _function = other._function; + _membercaller = other._membercaller; + memcpy(_member, other._member, sizeof(_member)); + return *this; + } + + /*************************************************************************************************/ + bool isValid() const + { + return (_function != NULL) || (_object != NULL); + } + + /*************************************************************************************************/ + void setInvalid() + { + _function = NULL; + _object = NULL; + } + +protected: + void *_object; + void *_function; + char _member[16]; + void *_membercaller; +}; + +} +