cwUi.h/cpp : Added sendMsg(). eleA[] now doubles in size with each reallocation.
This commit is contained in:
parent
c7cbb5f62f
commit
6ed0f6c080
30
cwUi.cpp
30
cwUi.cpp
@ -305,17 +305,16 @@ namespace cw
|
|||||||
{
|
{
|
||||||
if( appId == kRootAppId )
|
if( appId == kRootAppId )
|
||||||
return kRootUuId;
|
return kRootUuId;
|
||||||
|
|
||||||
for(unsigned i=0; i<p->eleN; ++i)
|
for(unsigned i=0; i<p->eleN; ++i)
|
||||||
if( p->eleA[i]!=nullptr && p->eleA[i]->logical_parent != nullptr ) //skip the root
|
if( p->eleA[i] != nullptr
|
||||||
|
&& p->eleA[i]->appId == appId
|
||||||
|
&& ( parentUuId == kInvalidId || (p->eleA[i]->logical_parent!=nullptr && p->eleA[i]->logical_parent->uuId == parentUuId) )
|
||||||
|
&& ( chanId == kInvalidId || p->eleA[i]->chanId == chanId ) )
|
||||||
{
|
{
|
||||||
if( ( parentUuId == kInvalidId || p->eleA[i]->logical_parent->uuId == parentUuId ) &&
|
return p->eleA[i]->uuId;
|
||||||
( chanId == kInvalidId || p->eleA[i]->chanId == chanId ) &&
|
|
||||||
p->eleA[i]->appId == appId )
|
|
||||||
{
|
|
||||||
return p->eleA[i]->uuId;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return kInvalidId;
|
return kInvalidId;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -608,7 +607,7 @@ namespace cw
|
|||||||
// if there are no available slots
|
// if there are no available slots
|
||||||
if( avail_ele_idx == p->eleAllocN )
|
if( avail_ele_idx == p->eleAllocN )
|
||||||
{
|
{
|
||||||
p->eleAllocN += 128;
|
p->eleAllocN *= 2;
|
||||||
p->eleA = mem::resizeZ<ele_t*>(p->eleA,p->eleAllocN);
|
p->eleA = mem::resizeZ<ele_t*>(p->eleA,p->eleAllocN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1268,7 +1267,7 @@ cw::rc_t cw::ui::create(
|
|||||||
ui_t* p = mem::allocZ<ui_t>();
|
ui_t* p = mem::allocZ<ui_t>();
|
||||||
|
|
||||||
|
|
||||||
p->eleAllocN = 128;
|
p->eleAllocN = 1024;
|
||||||
p->eleA = mem::allocZ<ele_t*>( p->eleAllocN );
|
p->eleA = mem::allocZ<ele_t*>( p->eleAllocN );
|
||||||
p->eleN = 0;
|
p->eleN = 0;
|
||||||
p->uiCbFunc = uiCbFunc;
|
p->uiCbFunc = uiCbFunc;
|
||||||
@ -2103,6 +2102,12 @@ cw::rc_t cw::ui::sendValueString( handle_t h, unsigned uuId, const char* value )
|
|||||||
//return _sendValue<const char*>(p,kInvalidId,uuId,"\"%s\"",value,"value",strlen(value)+10);
|
//return _sendValue<const char*>(p,kInvalidId,uuId,"\"%s\"",value,"value",strlen(value)+10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cw::rc_t cw::ui::sendMsg( handle_t h, const char* msg )
|
||||||
|
{
|
||||||
|
ui_t* p = _handleToPtr(h);
|
||||||
|
return _websockSend(p,kInvalidId,msg);
|
||||||
|
}
|
||||||
|
|
||||||
void cw::ui::report( handle_t h )
|
void cw::ui::report( handle_t h )
|
||||||
{
|
{
|
||||||
ui_t* p = _handleToPtr(h);
|
ui_t* p = _handleToPtr(h);
|
||||||
@ -2198,8 +2203,9 @@ namespace cw
|
|||||||
|
|
||||||
rc_t _webSockSend( void* cbArg, unsigned wsSessId, const void* msg, unsigned msgByteN )
|
rc_t _webSockSend( void* cbArg, unsigned wsSessId, const void* msg, unsigned msgByteN )
|
||||||
{
|
{
|
||||||
ui_ws_t* p = static_cast<ui_ws_t*>(cbArg);
|
//ui_ws_t* p = static_cast<ui_ws_t*>(cbArg);
|
||||||
return websock::send( p->wsH, kUiProtocolId, wsSessId, msg, msgByteN );
|
//return websock::send( p->wsH, kUiProtocolId, wsSessId, msg, msgByteN );
|
||||||
|
return kOkRC;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
3
cwUi.h
3
cwUi.h
@ -169,6 +169,7 @@ namespace cw
|
|||||||
rc_t sendValueDouble( handle_t h, unsigned uuId, double value );
|
rc_t sendValueDouble( handle_t h, unsigned uuId, double value );
|
||||||
rc_t sendValueString( handle_t h, unsigned uuId, const char* value );
|
rc_t sendValueString( handle_t h, unsigned uuId, const char* value );
|
||||||
|
|
||||||
|
rc_t sendMsg( handle_t h, const char* msg );
|
||||||
|
|
||||||
void report( handle_t h );
|
void report( handle_t h );
|
||||||
void realTimeReport( handle_t h );
|
void realTimeReport( handle_t h );
|
||||||
@ -224,6 +225,8 @@ namespace cw
|
|||||||
|
|
||||||
// This function should be called periodically to send and receive
|
// This function should be called periodically to send and receive
|
||||||
// queued messages to and from the websocket.
|
// queued messages to and from the websocket.
|
||||||
|
// Note that this call may block for up to 'wsTimeOutMs' milliseconds
|
||||||
|
// on the websocket handle.
|
||||||
rc_t exec( handle_t h );
|
rc_t exec( handle_t h );
|
||||||
|
|
||||||
// This function executes the internal default websock callback function.
|
// This function executes the internal default websock callback function.
|
||||||
|
Loading…
Reference in New Issue
Block a user