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.
Diff: frdm_client.cpp
- Revision:
- 0:06ee5f8a484a
diff -r 000000000000 -r 06ee5f8a484a frdm_client.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/frdm_client.cpp Sat Mar 18 22:37:16 2017 +0000
@@ -0,0 +1,73 @@
+#include "frdm_client.hpp"
+
+#include "mbed-client/m2mdevice.h"
+#include "security.h"
+
+M2MDevice* frdm_client::make_device()
+{
+ M2MDevice* device = M2MInterfaceFactory::create_device();
+ if (!device)
+ return NULL;
+
+ device->create_resource(M2MDevice::Manufacturer, "Freescale");
+ device->create_resource(M2MDevice::DeviceType, "FRDM");
+ device->create_resource(M2MDevice::ModelNumber, "K64F");
+
+ return device;
+}
+
+frdm_client::frdm_client(const String& server_address, void* handler)
+: m_address(server_address), m_state(state::initialized)
+{
+ String endpoint_type = "";
+ String context_addr = "";
+
+ int32_t lifetime = 100;
+ uint16_t port = 0;
+
+ m_interface = M2MInterfaceFactory::create_interface
+ (
+ *this,
+ MBED_ENDPOINT_NAME, endpoint_type,
+ lifetime,
+ port, MBED_DOMAIN, socket_mode, stack_type, context_addr
+ );
+
+ if (!m_interface)
+ {
+ m_state = state::error;
+ return;
+ }
+
+ m_security = M2MInterfaceFactory::create_security(M2MSecurity::M2MServer);
+ if (!m_security)
+ {
+ m_state = state::error;
+ return;
+ }
+
+ m_security->set_resource_value(M2MSecurity::M2MServerUri, m_address);
+ m_security->set_resource_value(M2MSecurity::SecurityMode, M2MSecurity::Certificate);
+ m_security->set_resource_value(M2MSecurity::ServerPublicKey, SERVER_CERT, sizeof(SERVER_CERT)-1);
+ m_security->set_resource_value(M2MSecurity::PublicKey, CERT, sizeof(CERT)-1);
+ m_security->set_resource_value(M2MSecurity::Secretkey, KEY, sizeof(KEY)-1);
+
+ m_interface->set_platform_network_handler(handler);
+}
+
+frdm_client::~frdm_client()
+{
+ delete m_interface;
+ delete m_security;
+}
+
+void frdm_client::connect(const M2MObjectList& objects)
+{
+ m_interface->register_object(m_security, objects);
+}
+
+void frdm_client::disconnect()
+{
+ m_interface->unregister_object(NULL);
+}
+