/[meteor]/googlecode.com/svn/trunk/Meteor/Message.pm
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /googlecode.com/svn/trunk/Meteor/Message.pm

Parent Directory Parent Directory | Revision Log Revision Log


Revision 11 - (hide annotations)
Thu Dec 14 16:29:42 2006 UTC (17 years, 4 months ago) by knops.gerd
File size: 2626 byte(s)
• Change CRLF line endings back to LF only

1 knops.gerd 11 #!/usr/bin/perl -w
2     ###############################################################################
3     # Meteor
4     # An HTTP server for the 2.0 web
5     # Copyright (c) 2006 contributing authors
6     #
7     # Subscriber.pm
8     #
9     # Description:
10     # Meteor message object
11     #
12     ###############################################################################
13     #
14     # This program is free software; you can redistribute it and/or modify it
15     # under the terms of the GNU General Public License as published by the Free
16     # Software Foundation; either version 2 of the License, or (at your option)
17     # any later version.
18     #
19     # This program is distributed in the hope that it will be useful, but WITHOUT
20     # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21     # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
22     # more details.
23     #
24     # You should have received a copy of the GNU General Public License along
25     # with this program; if not, write to the Free Software Foundation, Inc.,
26     # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27     #
28     # For more information visit www.meteorserver.org
29     #
30     ###############################################################################
31    
32     package Meteor::Message;
33     ###############################################################################
34     # Configuration
35     ###############################################################################
36    
37     use strict;
38    
39     ###############################################################################
40     # Factory methods
41     ###############################################################################
42     sub new {
43     #
44     # Create a new empty instance
45     #
46     my $class=shift;
47    
48     my $obj={};
49    
50     bless($obj,$class);
51     }
52    
53     sub newWithID {
54     #
55     # new instance from new server connection
56     #
57     my $self=shift->new();
58     my $id=shift;
59     my $text=shift || '';
60    
61     $self->{'timestamp'}=time;
62     $self->{'id'}=$id;
63     $self->{'text'}=$text;
64    
65     &::syslog('debug',"New message $id");
66    
67     $self;
68     }
69    
70     ###############################################################################
71     # Instance methods
72     ###############################################################################
73     sub setText {
74     my $self=shift;
75     my $text=shift || '';
76    
77     $self->{'text'}=$text;
78     }
79    
80     sub text {
81     shift->{'text'};
82     }
83    
84     sub id {
85     shift->{'id'};
86     }
87    
88     sub timestamp {
89     shift->{'timestamp'};
90     }
91    
92     sub message {
93     my $self=shift;
94    
95     my $msg=$::CONF{'MessageTemplate'};
96    
97     $msg=~s/~([^~]*)~/
98     if(!defined($1) || $1 eq '')
99     {
100     '~';
101     }
102     elsif(exists($self->{$1}))
103     {
104     $self->{$1};
105     }
106     else
107     {
108     '';
109     }
110     /gex;
111    
112     $msg;
113     }
114    
115     1;
116 andrew.betts 3 ############################################################################EOF

  ViewVC Help
Powered by ViewVC 1.1.26