From 48aad434489afc84a41b1f770dc4280bb2102a46 Mon Sep 17 00:00:00 2001 From: Joe Ferner Date: Wed, 25 Jan 2012 13:14:28 -0500 Subject: [PATCH] fixed a problem with extern C methods --- examples/package.json | 3 +-- examples/print.js | 2 +- src/dissector.h | 26 ++++++++++++++------------ src/dissectorNode.h | 12 +++++++----- src/lazyDataSource.h | 12 +++++++----- src/lazyDissectorNode.h | 10 ++++++---- src/nodeshark.h | 6 ++++-- 7 files changed, 40 insertions(+), 31 deletions(-) diff --git a/examples/package.json b/examples/package.json index 3783ff9..43f662a 100644 --- a/examples/package.json +++ b/examples/package.json @@ -4,7 +4,6 @@ "private": true, "dependencies": { "optimist": "~0.3.1", - "pcap-parser": "~0.0.3", - "nodeshark": "~0.0.1" + "pcap-parser": "~0.0.3" } } diff --git a/examples/print.js b/examples/print.js index 3179d41..e15c2b0 100755 --- a/examples/print.js +++ b/examples/print.js @@ -1,7 +1,7 @@ #!/usr/bin/env node var optimist = require('optimist'); -var nodeshark = require("nodeshark"); +var nodeshark = require("../"); var pcapp = require("pcap-parser"); var argv = optimist diff --git a/src/dissector.h b/src/dissector.h index 5387fe8..9d8bd34 100644 --- a/src/dissector.h +++ b/src/dissector.h @@ -11,18 +11,20 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +extern "C" { + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include + #include +} #include #include diff --git a/src/dissectorNode.h b/src/dissectorNode.h index 8e5bb96..b45bd81 100644 --- a/src/dissectorNode.h +++ b/src/dissectorNode.h @@ -4,19 +4,21 @@ #include #include -#include -#include +extern "C" { + #include + #include +} class DissectorNode : node::ObjectWrap { public: static void Init(v8::Handle target); static v8::Local New(DissectorNode *root, frame_data *fdata, epan_dissect_t *edt, proto_node *node); bool isRoot() { return this == m_root; } - + private: DissectorNode(DissectorNode *root, frame_data *fdata, epan_dissect_t *edt, proto_node *node); ~DissectorNode(); - + static void NotImplementedSetter(v8::Local property, v8::Local value, const v8::AccessorInfo& info); static v8::Handle AbbreviationGetter(v8::Local property, const v8::AccessorInfo& info); static int getPositionInPacket(proto_node *node, field_info *fi); @@ -36,7 +38,7 @@ class DissectorNode : node::ObjectWrap { static void rawDataSetter(v8::Local property, v8::Local value, const v8::AccessorInfo& info); v8::Handle getAbbreviation(proto_node *node); static v8::Handle getRepresentation(proto_node *node); - + static v8::Persistent s_ct; DissectorNode *m_root; frame_data *m_fdata; diff --git a/src/lazyDataSource.h b/src/lazyDataSource.h index 98b2cc1..db69d12 100644 --- a/src/lazyDataSource.h +++ b/src/lazyDataSource.h @@ -4,8 +4,10 @@ #include #include -#include -#include +extern "C" { + #include + #include +} #include class DissectorNode; @@ -15,12 +17,12 @@ class LazyDataSource : node::ObjectWrap { static void Init(v8::Handle target); static v8::Local New(DissectorNode *parent, tvbuff_t *tvb); node::Buffer* createBuffer(); - DissectorNode* getParent() { return m_parent; } - + DissectorNode* getParent() { return m_parent; } + private: LazyDataSource(DissectorNode *parent, tvbuff_t *tvb); ~LazyDataSource(); - + static v8::Persistent s_ct; DissectorNode *m_parent; tvbuff_t *m_tvb; diff --git a/src/lazyDissectorNode.h b/src/lazyDissectorNode.h index b83dd78..620245a 100644 --- a/src/lazyDissectorNode.h +++ b/src/lazyDissectorNode.h @@ -4,19 +4,21 @@ #include #include -#include -#include +extern "C" { + #include + #include +} class LazyDissectorNode : node::ObjectWrap { public: static void Init(v8::Handle target); static v8::Local New(frame_data *fdata, epan_dissect_t *edt, proto_node *node); proto_node* getProtoNode() { return m_node; } - + private: LazyDissectorNode(frame_data *fdata, epan_dissect_t *edt, proto_node *node); ~LazyDissectorNode(); - + static v8::Persistent s_ct; frame_data *m_fdata; epan_dissect_t *m_edt; diff --git a/src/nodeshark.h b/src/nodeshark.h index 2b37ee6..0b8346b 100644 --- a/src/nodeshark.h +++ b/src/nodeshark.h @@ -11,8 +11,10 @@ #include #include #include -#include -#include +extern "C" { + #include + #include +} class NodeShark : node::ObjectWrap { public: