summaryrefslogtreecommitdiff
path: root/TAO/TAO_IDL/be_include/be_sequence.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/TAO_IDL/be_include/be_sequence.h')
-rw-r--r--TAO/TAO_IDL/be_include/be_sequence.h73
1 files changed, 66 insertions, 7 deletions
diff --git a/TAO/TAO_IDL/be_include/be_sequence.h b/TAO/TAO_IDL/be_include/be_sequence.h
index 135cb1810c0..455cab25375 100644
--- a/TAO/TAO_IDL/be_include/be_sequence.h
+++ b/TAO/TAO_IDL/be_include/be_sequence.h
@@ -1,18 +1,77 @@
-#if !defined(BE_SEQUENCE_H)
+// ============================================================================
+//
+// = LIBRARY
+// TAO IDL
+//
+// = FILENAME
+// be_sequence.h
+//
+// = DESCRIPTION
+// Extension of class AST_Sequence that provides additional means for C++
+// mapping.
+//
+// = AUTHOR
+// Copyright 1994-1995 by Sun Microsystems, Inc.
+// and
+// Aniruddha Gokhale
+//
+// ============================================================================
+
+#if !defined (BE_SEQUENCE_H)
#define BE_SEQUENCE_H
/*
* BE_Sequence
*/
-class be_sequence : public virtual AST_Sequence {
+class be_sequence : public virtual AST_Sequence,
+ public virtual be_type
+{
public:
- // Operations
- be_sequence();
- be_sequence(AST_Expression *v, AST_Type *bt);
+ // =Operations
+
+ be_sequence (void);
+ // default constructor
+
+ be_sequence (AST_Expression *v, AST_Type *bt);
+ // constructor
+
+ virtual int gen_client_header (void);
+ // Generates the client-side header information for the sequence
+
+ virtual int gen_client_stubs (void);
+ // Generates the client-side stubs for the sequence
+
+ virtual int gen_server_header (void);
+ // Generates the server-side header information for the sequence
+
+ virtual int gen_server_skeletons (void);
+ // Generates the server-side skeletons for the sequence
+
+ virtual int gen_client_inline (void);
+ // Generates the client-side inline for the sequence
+
+ virtual int gen_server_inline (void);
+ // Generates the server-side inlines for the sequence
+
+ virtual int gen_typecode (void);
+ // generate the typecode
+
+ virtual long tc_encap_len (void);
+ // return the total byte length of ourselves represented as an encapsulation
// Narrowing
- DEF_NARROW_METHODS1(be_sequence, AST_Sequence);
- DEF_NARROW_FROM_DECL(be_sequence);
+ DEF_NARROW_METHODS2 (be_sequence, AST_Sequence, be_type);
+ DEF_NARROW_FROM_DECL (be_sequence);
+
+private:
+ void compute_scoped_name (void);
+ // for anonymous sequences, we compute our scoped name
+
+ idl_bool unbounded_;
+ // whether we are bounded or unbounded
+
+ be_sequence *seq_node_;
+ // if we enclose a sequence node
};
#endif