linux-c-programming.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric <eric@cisu.net>
To: linux-c-programming@vger.kernel.org
Subject: Pointers to classes
Date: Sat, 19 Jun 2004 23:46:34 -0500	[thread overview]
Message-ID: <200406192346.34166.eric@cisu.net> (raw)

Hello
	First I would like to say im fairly new to C++ and keep in mind you will 
probably see many glaring mistakes in reading my code, please be kind. Hey, 
thats how we learn :)

	My problem is with pointers to classes. I am writing a VPN management program 
and have a class Connection, which handles a connection ppp0, ppp1, etc, and 
is closely tied with a class ConfigFile, which handles all the variables for 
that connection obviously read from a file.

	I need to have a pointer to an object ConfigFile inside the Connection class 
so I can access variables and such associated with that connection that were 
read from a file. However, I am getting very strange compile errors when 
trying to define the pointer to a class. These are the errors. Below are the 
relevant files and how they are included.

*/home/bot403/programming/projects/vpn_client/src/connection.h:28: error: 
syntax error before `*' token 
*/home/bot403/programming/projects/vpn_client/src/connection.h:31: error: 
parse error before `*' token 
*/home/bot403/programming/projects/vpn_client/src/connection.h:36: error: 
syntax error before `*' token


Here are the relevant files. Please let me know if you need additional 
information. 

BTW, I don't consider making Connection a sublass of configfile a solution 
becuase I am already teaching myself alot with this project and am happy with 
simpleton solutions. Subclasses/Inheritance  would require that I teach 
myself way too much to accomplish way too little.


---------------------start connection.h
class Connection
{
private:
  char ifName[ 5 ];
  char pppdopts[256];
  char sshopts[256];
  char pidfile[256];
  ConfigFile * config;
  pid_t pid;
public:
  Connection(ConfigFile * cFile );
  void printName( void );
  int start();
  int stop();
  ~Connection();
  ConfigFile * getConfig();

};
----------------------- end file
-----------------------start configfile.h
int readElement( char buffer[], char option[], char argument[] );

using namespace std;

class ConfigFile {
 private:
  ifstream configFile;
  char configFileName[ 256 ];

  //File variables
  char pppdevice[ 8 ];
  char vpnhost[ 256 ];
  char logfile[ 256 ];
  char *pppdopts;
  //SSH Specific
  char sshcipher[ 15 ];
  char sshlogin[ 256 ];
  char sshidentity[ 256 ];
  char *sshopts;
  char sshport[ 10 ];
  //Misc
  char delay[ 10 ];
  char vpnpidfile[80];
  //Connection Details
  char *networks[5];
  char *nameservers[2];
  //End File Variables

 public:
  ConfigFile( char *Name );
  ~ConfigFile();
  int readConfig();
  void printConfig();
  int writeConfig(char *Filename);
  
  char *getsshopts(char buffer[]);
  char *getpppdopts(char buffer[]);
  char *getlogfile(char buffer[]);
  char *getpidfile(char buffer[]);
  
  //FIXME
  //char *getnetworks();
  //char *getnameservers();
  

};

-----------end of file
-----------top of connection.cpp

#include <iostream>
#include <fstream>
#include <unistd.h>
#include "configfile.h"
#include "connection.h"
#include "strings.h"
#include "config.h"
------snip---------

-----------------end file

----------------top of configfile.cpp

#include <iostream>
#include <fstream>
#include "configfile.h"
#include "strings.h"
-----snip------------

--------------end of file

             reply	other threads:[~2004-06-20  4:46 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-20  4:46 Eric [this message]
2004-06-20  5:06 ` Pointers to classes John T. Williams
2004-06-20  5:18   ` John T. Williams
2004-06-20 12:49     ` LDB
2004-06-20 13:30     ` Eric
  -- strict thread matches above, loose matches on Subject: below --
2004-06-21 14:55 Huber, George K RDECOM CERDEC STCD SRI

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200406192346.34166.eric@cisu.net \
    --to=eric@cisu.net \
    --cc=linux-c-programming@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).