On 09/15/2010 12:12 AM, Andrew Beverley wrote:
On Wed, 2010-09-15 at 02:06 +0000, Amos Jeffries wrote:
On Tue, 14 Sep 2010 23:55:20 +0100, Andrew Beverley<a...@andybev.com>
wrote:
* Config.accessList.outgoingTos, Config.accessList.clientsideTos,
Config.accessList.outgoingNfmark, Config.accessList.clientsideNfmark
can
become members of the Qos scope Config object. All the parsing /free
stuff
can be moved there too with some #define parse_...() etc for the legacy
parser.
I've moved all the configuration variables and functions to the Qos
scope. I have renamed parse_acl_tos(acl_tos ** head) as
Ip::Qos::Config::parseConfigAclTos(acl_tos ** head).
However, I'm unable to compile because of the following error:
Qos.cc: In member function ‘void
Ip::Qos::Config::parseConfigAclTos(acl_tos**)’:
Qos.cc:377: error: argument of type ‘void (Ip::Qos::Config::)(void*)’
does
not match ‘void (*)(void*)’
The code at line 377 is:
CBDATA_INIT_TYPE_FREECB(acl_tos, freedConfigAclTos);
I have
CBDATA_TYPE(acl_tos);
specified before the parseConfigAclTos function.
Could you give me any ideas as to what I am doing wrong here? If you
need me to send through any more of the code then please let me know.
Do you have this with a cast?
#define parse_acl_tos(X) Ip::Qos::Config::parseConfigAclTos((acl_tos
**)X)
with the cf.data.pre "TYPE: acl_tos" unchanged.
No, I had changed it. However, I have now changed it back to the above,
but still get the same error. Any other ideas?
Qos.cc: In member function ‘void Ip::Qos::Config::parseConfigAclTos(acl_tos**)’:
Qos.cc:377: error: argument of type ‘void (Ip::Qos::Config::)(void*)’ does not
match ‘void (*)(void*)’
I have attached my current Qos.cc and Qos.h
I kind of lost track of the current state. Do you still want help with
making this work? Or did you give up and are now back to the old C-style
craft outside of the proper namespace?
Thank you,
Alex.